Start a bulk download
Packages a set of completed renders into a single zip file. Returns a job_id immediately — poll GET /renders/bulk-download/{job_id} until status is completed, then download the zip from the returned URL.
Up to 500 renders per job. Renders that don't belong to your workspace are silently skipped; the job fails with NO_VALID_RENDERS if none survive that filter.
Authorization
apiKey In: header
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/renders/bulk-download" \ -H "Content-Type: application/json" \ -d '{ "render_ids": [ "string" ] }'{ "job_id": "string"}Render an edit POST
Renders an edit you already own and returns a `render_id` to poll with `GET /renders/{renderId}`. This is how you get a fresh MP4 of a clip you published months ago: the edit never expires, so re-rendering it always works, even after the rendered file itself was purged. If an identical render is already sitting in storage, returns `200` with `from_cache: true` and a ready `download_url`. Returns `409` if the same edit is already rendering.
Get bulk download status GET
Returns the current state of a bulk download job. Poll every 5–10 seconds until `status` is `completed`. Once complete, `download_url` is a signed URL valid for one hour; the underlying file is purged once `expires_at` passes.