Public API v1
Create videos programmatically
One endpoint, four workflows. Send a prompt, an idea, a script or an article URL, and Veedio writes the scenes, generates a visual for each one, narrates them, burns word-timed captions, ducks a music bed under the voice and renders the file. A generation costs 3 credits plus a charge per scene that follows what fills it: 2 for a still or stock footage, 13 for a scene the video model sets in motion. A 5-scene short is 13 credits with stills and 68 animated. You can get that quote for free before you spend anything.
What are you starting from?
The workflow field decides what source must contain and how much of the writing we do. Everything else is optional and has a default.
Words you already have
Something for us to write from
Quick start
Your first video in three steps
1Create a key
Settings → API keys. The plaintext is shown once and only its hash is stored, so a lost key is minted again rather than recovered. It looks like vd_live_….
Header
Authorization: Bearer vd_live_...
# also accepted
x-api-key: vd_live_...
x-veedio-api-key: vd_live_...
key: vd_live_...2Start a generation
202 Accepted comes back with an id, the credit deposit and a link to the video's page. The video itself does not exist yet.
3Get the result
Generation is asynchronous and takes a few minutes. Poll until status is ready or failed; videoUrl is the finished MP4, and scenes[] fills in as it goes, so you can show progress rather than a spinner.
cURL
curl https://www.veedio.co/api/v1/videos/8f1c0f2e-... \
-H "Authorization: Bearer $VEEDIO_API_KEY"- Poll no more than once every few seconds. There is no completion webhook yet — it is the next thing planned for this surface, and until then polling is the whole story.
- Quote before you spend:
POST /api/v1/credits/estimatetakes the same body as the create call and ignores the fields it does not use.
All four workflows at a glance
What each one needs, and what you can set on top of it. Every optional field has a default, so the minimal request is two lines.
Prompt to video
prompt-to-video
A brief. We write the script, generate the visuals and cut it.
requires source.text
Script to video
script-to-video
Your script, narrated close to verbatim. You control every sentence.
requires source.text
Idea to video
idea-to-video
A bare idea, expanded into an angle and then a script.
requires source.text
Article to video
article-to-video
A link, read and turned into a short: an article, a video, a post, a thread or a PDF.
requires source.url
Send nothing but a source and you get:voice: rachelcaptions: bold-centermusic: upliftingstyle: cinematicratio: 9:16
Before you build
What this API cannot do
Stated plainly, because finding out at integration time wastes a day.
- No file uploads over the API. It takes text and URLs, not bytes — so no captioning footage you already have and no podcast repurposing. Links go further than that sounds:
photoUrlmakes a hosted image the opening frame, and aurlsource pointing at a PDF is read as a document, so photo-to-video and PDF-to-video work when the file is reachable. The app's own uploader turns a local JPEG, PNG, WebP or PDF into exactly that kind of link. - No face swap and no voice cloning. A presenter avatar lip-syncing the script is a Pro and Studio feature, not a gap.
- Three minutes is the ceiling.
targetSecondsis 30, 60, 90 or 180 — free accounts up to 60, paid plans to 180. There is no long-form mode past that. - 29 languages, spoken by the same five voices. Image prompts and stock searches stay in English whichever you pick, because the image models read English.
- No 4K. Output is 1080-class, and there are four caption styles, all burned in — no subtitle file to download and no custom font.
- Every frame is generated, or licensed stock where the deployment has a Pexels key. No gameplay library, and no character kept consistent across scenes.
- No webhooks yet. Poll
GET /api/v1/videos/{id}; a completion callback is the next thing planned for this surface. - No scheduling through the API yet. Auto-Mode schedules are created in the app.
More resources
Full API reference
Every endpoint, every field, every error code, with cURL, JavaScript and Python for each.
www.veedio.co/api/v1/videos
MCP server
Six tools for Claude, Cursor, ChatGPT and any MCP client. API key in a header; there is no OAuth.
/api/mcp
CLI
A thin client over this API for shells, cron jobs and terminal agents. Zero dependencies, Node 20+.
npm i -g ./packages/cli
Agent skills
A SKILL.md an agent can load once and then create videos correctly without being told how.
MIT
Docs for LLMs
The machine index, plus a markdown twin of every workflow page and a master FAQ.
/llms.txt
Master FAQ
Question-and-answer form, one Details link per answer. Written for agents, readable by people.
/faq-for-llms.md