Skip to main content
POST
Starts rendering one video per row in rows, all from the same template. Returns immediately with a bulk_job_id — track progress via Get bulk job status or a webhook.
This is the only generation endpoint — for a single video, call it with one row in rows.
string
required
string
required
Bearer {api_key}

Body

object[]
required
A non-empty list of {variable_name: value} objects, one per video, up to 20,000 per request. Keys should match Get template schema’s variable names — a row missing a key just leaves that variable blank in that row’s video.external_id is a reserved key you can include in any row — your own identifier for that row, echoed back unchanged in the CSV export and usable with Get single video status to check a row before the batch finishes. Not treated as a template variable.
string
Optional label for the batch, shown back in status responses.
rows — not a CSV file or URL — is the only way to submit a batch through this API. Serialize your data directly into the request body.

Errors

Response fields

string
Use with Get bulk job status to track the whole batch.
integer
Number of videos this batch will render — equal to rows.length.
string
template.estimated_credits × row_count, deducted upfront.