Build with the Revid API
Research what goes viral, turn a script, prompt, link or file into a finished short-form video, and publish it to TikTok, YouTube, Instagram or X. One request per video: the API handles visuals, voice-over, captions and music. Each render costs 10 credits plus generation costs, and you can estimate any payload for free first. 39,000+ videos have been made through the API, the MCP server and the CLI since October 2025.
Call the API from your backend. Full control over every parameter, webhooks when renders finish.
Start the quickstartConnect Claude, ChatGPT, Cursor or VS Code to Revid's video MCP server (30 tools) with one-click OAuth. No code, no API key to paste.
Connect your agentnpm install -g revid-cli. Stable --json output for shell agents, CI jobs and scripts.
Use the CLI- 1. Get your API key
Send it in the
keyheader on every call, with a descriptiveUser-Agentsuch asmy-app/1.0. In code, keep it in an environment variable likeREVID_API_KEY.Checking your session... - 2. Start a render
Pick a workflow and send its input. You get a
pid(project id) back right away; the video renders in the background.curl -X POST 'https://www.revid.ai/api/public/v3/render' \ -H 'Content-Type: application/json' \ -H 'key: YOUR_API_KEY' \ -H 'User-Agent: my-app/1.0' \ -d '{ "workflow": "script-to-video", "source": { "text": "Did you know honey never spoils? Archaeologists found 3,000 year old honey in Egyptian tombs, and it was still edible." }, "webhookUrl": "https://your-server.com/revid/webhook" }' - 3. Get the video
Your
webhookUrlis called when the video is ready. No server to receive webhooks? Poll the status endpoint with thepidevery 10 to 20 seconds untilstatusisready.curl 'https://www.revid.ai/api/public/v3/status?pid=YOUR_PID' \ -H 'key: YOUR_API_KEY' \ -H 'User-Agent: my-app/1.0'
What are you starting from?
The workflow field decides everything else: required input, defaults, and which parameters apply.
A script: the exact words to be spoken
An idea or topic: the AI writes the script
A link: article, music, or any web page
What each workflow needs (â—Ź) and what you can customize (âś“). Click a workflow to build a request interactively.
| Workflow | Requires | source | media | voice | captions | music | avatar | options | render |
|---|---|---|---|---|---|---|---|---|---|
| Script to video | source.text | â—Ź | âś“ | âś“ | âś“ | âś“ | âś“ | âś“ | âś“ |
| Prompt to video | source.prompt | ● | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Audio to video | source.url | ● | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| Music to video | source.url | ● | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| Lyrics to music video | source.text (the lyrics) or source.prompt (a description of the song) | ● | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| Song ad | source.prompt, source.text or media.provided product photos | ● | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| Article to video | source.url | ● | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Avatar to video | source.text + avatar.url | â—Ź | âś“ | âś“ | âś“ | âś“ | â—Ź | âś“ | âś“ |
| Static background video | source.text or source.url | ● | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Motion transfer | source.url + media.provided[] with 1 image (the target character) | ● | ● | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Character swap | source.url + one photo per person (media.provided images and/or characterIds), left to right, up to 4 | ● | ● | — | — | — | — | ✓ | ✓ |
| Caption video | source.url | ● | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| Video to clips | source.url | ● | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Ad generator | source.prompt or media.provided[] | ● | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
Beyond rendering
The same API key also researches viral content, generates standalone media, manages characters and voices, and publishes to connected social accounts. Every endpoint, at a glance:
Research
Search viral videos across platforms before creating content.
Create videos
Start renders and estimate their credit cost.
Series Maker
Whole episodes of a series, with the same characters and places every time, made on Autopilot.
Files
Upload local images, video or audio and get a URL to use in renders and generations.
Projects
Track, export, and manage projects.
Publishing
Schedule or publish rendered videos to social channels.
Characters & voices
Consistent characters and voice cloning.
Media generation
Standalone image/video generation.
Account & billing
Account info and credit packs.
REST API and CLI: API key
Send your key in the key header. Find it on your account page. Requests use the credits of your account, or of your active workspace.
MCP: OAuth or API key
Claude, ChatGPT, Cursor and VS Code sign in with OAuth 2.1, so nobody pastes a key. Clients configured with headers can send the key as Authorization: Bearer. Connection guide.
An active plan is required
Rendering, media generation, export, characters and voice cloning need an active Revid plan. Credits alone do not unlock them: a key without a plan gets 402 SUBSCRIPTION_REQUIRED. See plans.
urllib, libwww-perl) are blocked before they reach the API, with a plain-text 403 error code: 1010. Any descriptive value like my-app/1.0 works. The same applies when you download the video URLs the API returns.Errors & limits
Errors are JSON with success: 0 and a human-readable error that names the exact field to fix.
| 400 | Validation error. The message names the exact field, e.g. "voice.speed must be between 0.5 and 2." |
| 401 | Missing or invalid API key (header key). |
| 402 | The API key is valid but the account has no active plan. Generation endpoints require one; see https://www.revid.ai/pricing. |
| 403 | The request was blocked in front of the API and never reached it; the body is plain text error code: 1010, not JSON. Usual cause: the HTTP client sent its default User-Agent. Set an explicit, descriptive User-Agent (for example my-app/1.0) and retry. |
| 429 | Rate limit reached on viral search (code RATE_LIMIT_EXCEEDED). Searches cost no credits but are capped per rolling 24h: 20 without a plan, 500 on paid plans, 2000 on Elite. |
| 500 | Internal error. Credits consumed by a failed render are refunded automatically. |
API reference
Every endpoint and schema, with an in-page request runner.
OpenAPI spec
Machine-readable schema with per-workflow request types.
Postman collection
One request per workflow plus curated recipes, ready to import.
Docs for LLMs
Markdown versions of these docs for AI agents, indexed in llms.txt.