Automate
A finished video from one POST
Send a JSON project or a template id, and Zvid resolves it, validates it against your plan, reserves credits, and queues the render — returning a job id in milliseconds.
The API
Video generation as an HTTP call
At its core, Zvid is a REST API: POST a JSON project (or a stored template id plus variables) and get back a 202 with a job id, your place in the queue, and the credits reserved. Authenticate with a JWT/cookie for dashboard work or an API key for server-to-server calls.
The engine is FFmpeg, not a headless browser — which means frame-accurate output, superior visual effects, and battle-tested reliability at scale. Finished renders are hosted for you and returned as an absolute CDN URL. Idempotency keys make retries safe, and a per-request webhook URL means you never have to poll.
What you get
Everything the endpoint gives you
Inline or template
Submit a full inline project payload or a stored template id with per-request overrides — never both by accident.
Two auth modes
JWT/cookie for the dashboard and editor, or an API key (zvid_…) for server-to-server automation.
Format & frame rate
Output mp4, mov, avi, or webm at 1–60 fps, with resolution set by preset or explicit width and height.
Idempotent submits
Attach a jobId to make retries safe — the same key never double-charges or double-renders.
Per-request webhooks
Pass a webhookUrl on any submission to get pinged the moment that specific render finishes or fails.
Hosted output
Renders are stored and returned as an absolute cdn.zvid.io URL — no storage to wire up on your side.
How it works
Three steps to a rendered video
Compose the JSON
Describe scenes, elements, transitions, and audio as a JSON project — by hand, from the editor, or from a template.
POST to /api/render
Send it with your API key. Zvid validates against your plan, reserves credits, and returns a job id with your queue position.
Collect the result
Poll the job or receive a signed webhook, then download the finished video from its hosted CDN URL.
1 POST
To a rendered video
4 formats
mp4 · mov · avi · webm
1–60 fps
Frame rate
FFmpeg
Render engine
Keep exploring
Related features
Templates, Variables & Logic
Save a project once, render it with different data forever. Placeholders, conditional scenes, and array iteration resolve server-side before validation.
Explore →Webhooks
Skip the polling loop. Zvid calls your endpoint the moment a render completes or fails, with every delivery HMAC-signed so you can verify it came from us.
Explore →SDKs & Libraries
Official typed SDKs for Python and TypeScript. Queue renders, wait for results, and verify webhook signatures in a few lines, with typed errors throughout.
Explore →FAQ
Frequently asked questions
How do I authenticate? +
Server-to-server calls use an API key in the request header; dashboard and editor calls use your session cookie/JWT. Both hit the same endpoints.
How do I know when a render is done? +
Poll the job endpoint, or attach a webhook — either a registered endpoint or a per-request webhookUrl — to be notified on completion or failure.
Why FFmpeg instead of a headless browser? +
FFmpeg gives frame-accurate compositing, richer effects, and proven reliability at scale, without the overhead and fragility of rendering through a browser.
Want the full picture? See every Zvid feature
Ready to ship video at scale?
Start free — your first render is only a JSON payload away.