Engineering & product
A rendered video from one POST
Zvid is a JSON REST API for video and image rendering. POST a project, get back a 202 with a job id, and let a per-request webhook tell you when your hosted file is done — all on a deterministic FFmpeg engine, not a headless browser.
For developers
Video rendering as a REST call
At its core, Zvid is a REST API: authenticate with an API key, 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. Every render runs through FFmpeg rather than a headless browser, so output is frame-accurate and reproducible, and the finished file comes back as an absolute cdn.zvid.io URL you can hand straight to a client.
You wire it into your stack the way you already work. Pass an idempotency key so retries never double-charge, register a per-request webhookUrl so render.completed and render.failed events reach you instead of a polling loop, and reach for the Python or TypeScript SDK when you'd rather not hand-roll HTTP. Templates, conditionals, and array iteration all resolve server-side before validation, and a free pre-flight validator lets you catch a bad payload without spending a credit.
What you get
Built for your workflow
One POST, one job
Send an inline JSON project or a template id and get back a 202 with a job id, your queue position, and the credits reserved.
Webhooks, not polling
Register a per-request webhookUrl for render.completed and render.failed events, HMAC-SHA256 signed with 5 retries on exponential backoff.
Safe retries
Idempotency keys turn a repeated POST into the original job instead of a double render, so network hiccups never cost you credits.
Two auth modes
Use an API key (zvid_...) for server-to-server calls, or JWT/cookie auth for the dashboard and editor sessions.
Typed SDKs and MCP
Reach the same API from a Python or TypeScript SDK, or expose 30 tools to AI agents through the MCP server with a free pre-flight validator.
Hosted FFmpeg output
Renders run on FFmpeg for reproducible, frame-accurate results and return as an absolute cdn.zvid.io URL, so there is no storage to manage.
FFmpeg
Render engine
30
MCP agent tools
500
Bulk per call
1,200 free
Credits to start
Under the hood
The features that make it work
JSON Video API
Render a finished, hosted video from one authenticated POST. Send an inline JSON project or a template id and get back a job you can poll or get pinged about.
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.
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.
MCP Server & AI Agents
A Model Context Protocol server exposes 30 Zvid tools to any AI agent — with schema-aware authoring and a free validation step so generated JSON renders first try.
Put it to work
Popular use cases for this team
Personalized video at scale
One video per lead, customer, or account — your rows merged into a template and rendered at scale. POST up to 500 renders in a single call, each pulling {{variables}} from one row, and get back hosted cdn.zvid.io URLs.
Explore →AI-generated video
Let an AI agent author the JSON project through the MCP server, then Zvid renders it deterministically with FFmpeg. No diffusion, no generated pixels — reproducible, frame-accurate output your brand can trust.
Explore →Thumbnails & social images
Render thumbnails, OG cards, and social posts from the same JSON as your video — PNG, JPG, or WebP, with transparency, at 10 images per credit.
Explore →More roles
More for teams like yours
Product & engineering teams
Ship personalized video and images as a product feature. Store a template once, POST variables per user, and deliver a hosted cdn.zvid.io URL back to your app — rendered async on FFmpeg, no browser farm to run.
Explore →AI engineers & agent builders
Your agent authors the JSON; Zvid renders it deterministically with FFmpeg — video or images, never text-to-video. The MCP server ships 30 tools plus a free pre-flight validator, so you catch errors before a credit is spent.
Explore →No-code & automation builders
Wire Zvid into your automations with no backend. Trigger renders from a spreadsheet, CRM, or form via n8n or Make, get pinged on completion, and fan out with a single bulk call.
Explore →FAQ
Frequently asked questions
How do I know when a render is finished? +
Register a per-request webhookUrl and Zvid sends render.completed or render.failed events, HMAC-SHA256 signed over the timestamp and body, with 5 retries on exponential backoff. There is no need to poll the job.
Are retries safe if my request times out? +
Yes. Pass an idempotency key and a repeated POST returns the original job instead of starting a second render, so retries never double-charge credits.
Can I validate a payload before spending credits? +
Yes. A free pre-flight validator resolves templates, conditionals, and iteration server-side and applies your plan limits without spending a credit, so you catch errors before you render. In a bulk call, invalid items come back in itemErrors by index.
Explore more: see every roles
Ready to ship video at scale?
Start free — your first render is only a JSON payload away.