Automating videos with the API
Everything the dashboard and the Claude connector do is available over HTTP. If you have a catalogue, a CMS, a release pipeline or a feed, the API is how videos stop being something a person makes and start being something your system produces. This covers what the API is for, the shape of a job, and the three mistakes that make an automated pipeline expensive.
What it is
A REST API under /api/v1, authenticated with an API key you create in your account. It covers the same ground as the rest of the product:
- Videos — create a render from a URL and a brief, read its status, fetch the finished MP4.
- Sites — survey a domain, get a plan of which pages deserve a video, generate them.
- Characters and captures — the reusable assets a series shares.
- Shows — recurring episodes driven by a feed.
- Connections — register an MCP or HTTP source that a format can pull data from.
It is a Pro capability, included from $49 a month. The key is scoped to your account and your credit balance; there is no separate API pricing.
The shape of a job
Rendering is asynchronous, and any integration has to be built around that.
- Create. Post the URL, the brief, the aspect ratio and any budget cap. You get an id back immediately — the render has not started, let alone finished.
- Poll. Ask for the status. You get the phase, the progress, and an estimate recalculated from how long this particular render has actually been running rather than an average.
- Read the result. When it is done, you get the MP4 — and the warnings.
- Check the warnings. A render can finish and still not be whole, and the status says
doneeither way. An automated pipeline that ignores warnings is a pipeline that publishes films with holes in them.
Budget several minutes per render, more if it generates clips. Do not hold an HTTP request open waiting for one.
What to build
- Catalogue video. One video per product page, generated on publish, embedded on the page. The highest-value automation, because it runs against pages that already get traffic.
- Release notes as video. A film per release, generated from the changelog entry.
create_animationneeds no page at all, so the changelog text is enough. - Refreshing stale videos. Re-render when the page changes. A demo video that matches the current product is worth more than a better-produced one that shows last quarter's interface.
- Per-locale variants. The same page, filmed with narration in each language you sell in.
Rank before you generate. The instinct with an API is to run it across everything; the result is a large credit bill and videos on pages nobody visits. Sort by traffic, take the top slice, measure, then extend.
The three expensive mistakes
- Generating AI visuals by default. A pipeline with clips enabled across a catalogue is the fastest way to empty a balance — a house clip is 160 credits against a render's 40, and a named model can cost far more. Set
ai_budgeton every call, and default it to zero for bulk work. - Re-rendering unchanged pages on a schedule. Trigger on change, not on a cron. A nightly job over a static catalogue pays full price every night for identical output.
- Ignoring the warnings. They are the only thing standing between an automated pipeline and publishing a film whose key scene silently fell back to a text card.
Rate, retries and failures
Renders run one at a time per account rather than all at once, so submitting two hundred jobs queues them rather than running two hundred browsers. Build for a queue: submit, record the id, poll with backoff.
A render that fails for a system reason is refunded automatically, so a retry after a genuine failure does not pay twice. A render that fails because the page could not be reached — a robot check, a sign-in wall, a dead URL — is refused before anything is charged, and it will keep being refused until the page changes. Retrying that one in a loop achieves nothing; check the reason and skip it.
For pages behind a login, register a capture session first from the VS Code or browser extension. It is scoped to that origin, expires within three days, and is a Scale-plan capability.
Turn your website into a video — free
Paste a URL. PageToVid scripts, records, voices and renders it automatically.
Create your first video →Frequently asked questions
Which plan includes the API?
Pro and above — $49 a month, 3,000 credits, and the same key also unlocks video packs and AI revisions. There is no separate charge per API call; renders consume the credits on your account.
How long does a render take over the API?
Several minutes, and longer if it generates AI clips. It is asynchronous by design: create returns an id straight away, and the status endpoint reports the phase, the progress and an estimate based on this render's own elapsed time.
Can I generate a video with no web page?
Yes. An animation takes a storyboard you supply directly, so anything you can express as scenes — a changelog, a dataset, a story — becomes a film without a URL to capture.
How do I stop an automated pipeline overspending?
Set ai_budget on every call, default it to zero for bulk runs, and read the ai_plan returned before generation. Scenes beyond the budget fall back to drawn cards rather than failing, so a cap never breaks a render.
Is there a webhook when a render finishes?
Shows support webhooks for episode delivery. For one-off renders the pattern is to poll the status endpoint with backoff, which is also what makes the progress estimate useful to surface to your own users.
Can the API film pages behind authentication?
On the Scale plan, and only with a capture session registered beforehand from the VS Code or browser extension. The session is scoped to a single origin and expires within three days.