Every render — video, PDF or image — can now run in the background. Add one field to your render request and the API replies in under a second with a job; the render runs on our servers and you collect the result whenever it's ready, by polling or webhook.
This matters most for video. A 60-second 1080p render can take a couple of minutes, and that's longer than most HTTP clients will wait. The render finished fine on our side, but your integration never saw the result. Async mode closes that gap — and it's just as useful for big multi-page PDFs, or for firing off many image renders at once and collecting them as they land.
The timeout wall async removes
Long renders don't fail because the render fails. They fail because the caller hangs up first:
- Zapier — gives you about 30 seconds.
- Make — about a minute.
- Most AI agents — cut off at two minutes.

One field, same request
Everything about your render request stays the same: modifications, video options, Smart Resize, publishing. You only add mode: "async" to the response object.
This is the only change to an existing render call:
{
"response": {
"mode": "async"
}
}
The API answers in under a second with a job, and the render continues on our servers.
Collect the result your way
You can pull the job or have it pushed to you. Pass a webhook_url with the render request and we POST the finished job to you — no polling at all.
| Polling | Webhook | |
|---|---|---|
| How you get it | Ask for the job until it's done | We POST the finished job to your webhook_url |
| Setup | Nothing extra | Add webhook_url to the render request |
| Retries | n/a | Delivery retries three times |
| Still pollable? | Yes | Yes |
The job's result is the exact same response body a synchronous render returns, so the code that handles your renders today doesn't change.
When something goes wrong
A failed job carries an error that tells you what to fix, plus a stable error_code you can branch on.
Built for automations and agents

- Zapier and Make — fire the render in one step, pick the result up in a later step or via webhook. No more timeouts on long videos.
- AI agents — our agents integration already uses async under the hood. Agents render long videos in the background and keep working while they wait.
- Batch pipelines — start fifty renders in fifty fast requests, then collect them all as they finish.
The bottom line
Images and PDFs render in seconds, so sync mode stays the default and nothing changes for existing integrations. Async is there the moment a render outgrows an HTTP timeout — add mode: "async" to the response object, and optionally a webhook_url, and you're done.
