How to Add AI to Your App With One API
Add writing, summaries and content generation to your app through one OpenAI-compatible API — processed on Revoye Cloud or on your own device with Revoye Desk.

Almost every app eventually wants an AI feature. A product description written from a few bullet points. A summary of a long support ticket. A caption, a reply, a rewrite in a friendlier tone. None of these is the main thing your app does, and that is exactly why adding them so often turns into a project of its own.
This guide shows a simpler way: one API for every AI step in your app, with the code you need to send your first request.
Why adding AI turns into a project
The work is rarely the feature. It is everything around it:
- Choosing a vendor, learning its SDK, and storing yet another key.
- Watching a bill that grows with every request, often in a currency of tokens that is hard to predict.
- Doing it all again when a second app needs the same thing, or when a different model turns out to suit a task better.
- Handling the slow cases — a request that takes longer than your HTTP timeout, a batch that runs overnight, a result you need to deliver later.
For a team whose product is not AI itself, that overhead is the real cost. What you want is closer to a setting: point your app at one service, send text, get a response.
One API, two ways to process a request
Revoye is an AI service provider and router built for exactly that. Your app sends a request to one OpenAI-compatible API and receives the AI response back. Behind that single API there are two ways a request can be processed, and your plan decides which you have:
- Revoye Cloud processes requests on Revoye's managed service. There is nothing to install: create an API key and your app can send its first request straight away.
- Revoye Desk is an app for Windows, macOS and Linux that processes requests on your own device, with your own AI account, and sends each response back to your app.
A plan can include either one or both. On a plan with both, Revoye sends each request to your preferred one first and moves it to the other automatically when the first cannot take it — your device is offline, or one monthly allowance is used up. Your code never changes: it calls the same API whichever way the request is processed.
What it is good at
Revoye is built for content and automation:
- Drafting and rewriting text, in a consistent voice.
- Summaries, translations, product descriptions, captions and replies.
- Classification and other short AI steps inside an app or a workflow.
- Light coding help, such as explaining or tidying a small piece of code.
Most responses arrive in 3 to 90 seconds, and Revoye returns the complete response rather than a stream. That makes it a natural fit for background work, batch jobs and features where a short wait is fine — and the wrong fit for live chat interfaces or agent-style coding tools, which we would rather tell you now than after you have built one.
Send your first request
Create an account at revoye.com, choose a plan, and create an API key in the dashboard. Then send a request:
curl https://api.revoye.com/v1/completions \
-H "Authorization: Bearer $REVOYE_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"prompt": "Write a two-sentence product description for a handmade ceramic mug.",
"channel": "auto",
"wait": true
}'The response carries the text in response, and channel tells you whether it was processed on Revoye Cloud or Revoye Desk:
{
"id": "job_01JAY7Q2K8XYZ",
"status": "succeeded",
"response": "Shaped by hand and glazed in small batches, this mug…",
"channel": "cloud"
}channel: "auto" lets your plan decide. Send "cloud" or "desk" instead to require one.
Already using the OpenAI SDK?
The API is OpenAI-compatible, so code you already have usually needs only a new base URL and key:
from openai import OpenAI
client = OpenAI(base_url="https://api.revoye.com/v1", api_key=REVOYE_KEY, timeout=660)
completion = client.chat.completions.create(
model="revoye/auto",
messages=[{"role": "user", "content": "Rewrite this paragraph in a friendlier tone: …"}],
)
print(completion.choices[0].message.content)The call waits for the response and returns it in the usual place. revoye/auto lets Revoye choose; the model list endpoint returns every model your plan can use, if you want to offer a picker in your app's settings.
Patterns for real apps
Background work. Send the request with wait: false and a callback_url, and Revoye delivers the finished response to your server. Every webhook is signed with a secret that belongs to your account alone, which you can reveal and rotate on the API keys page of the dashboard.
Safe retries. Send an Idempotency-Key with each request. If the network drops and your code retries, Revoye returns the original request instead of creating a second one.
Tracking. Every request is kept from the moment Revoye accepts it. If a connection drops, nothing is lost: fetch the result later by its id.
Your own records. Put your own ids in metadata. They come back with the response and on the webhook, so you can route a result that arrives later without a lookup.
Keep your API key on your server. Never put it in front-end code, a mobile bundle or a public repository — call Revoye from your own back end instead.
What it costs
Revoye is sold as plans: monthly, yearly, or a one-time purchase. Each plan includes Revoye Cloud, Revoye Desk or both, with a monthly token allowance for each, and your usage is always visible in the dashboard. When an allowance is used up, the API says so clearly and tells you when it resets — there is no surprise bill. Current prices are on revoye.com/pricing.
Your data
Revoye keeps the text of your requests and responses only so your request history works, and deletes it after a retention period you choose. It does not sell your data or use it to train AI models. API keys are stored only as hashes, and payments are handled by Freemius, so your card details never reach Revoye.
Getting started
- Create your account at revoye.com.
- Choose a plan with Revoye Cloud, Revoye Desk or both. With Revoye Desk, install the app on your device and connect it to your account.
- Create an API key and send your first request. The Revoye documentation walks through every endpoint.
Adding AI to an app should be a setting, not a project. With one API in front of every AI step, it can be.

Written by
RakibuzzamanFounder & CEO
Founder and CEO of Degird. Building focused, privacy-first software products and running an AI-powered agency for teams that want the same standard for their own work.
Keep Reading
TutorialsTubeup 2.0: YouTube Automation That Works Like an Assistant
How Tubeup 2.0 helps YouTube creators and agencies publish on autopilot — automation flows, chat, content profiles, multi-channel uploads, and zero-cost AI via Revoye.
Read Article
Tutorialsllms.txt Explained: Why Your Site Needs One (+ Example)
AI agents like ChatGPT, Claude, and Perplexity now read llms.txt to understand websites fast. What it is, why it matters, and how to add one.
Read Article
TutorialsHow to Bulk Upload to YouTube and Automate the Boring Parts
Uploading videos one by one and writing metadata by hand is a full-time job. Here's how to bulk upload to YouTube and automate the repetitive publishing work.
Read Article