Skip to content

Renders

Read the current state of a full-quality render. The render_id you got from POST /v1/clips/:clipId/renders is the same value as the underlying clip id — pass it here.

Auth: Bearer JWT or API key

ParamTypeDescription
renderIdstringThe clip id returned as render_id

While rendering:

{
"render_id": "9d8e7f6a-...",
"status": "processing",
"progress": 0.42
}

When done:

{
"render_id": "9d8e7f6a-...",
"status": "done",
"output_url": "https://choppity-assets-dev.s3.amazonaws.com/render/..."
}
FieldTypeDescription
statusstringqueued · processing · done · error
progressnumber0–1, present only during processing
output_urlstringOne-hour signed MP4 URL, present only when status === "done"
errorstringPresent only when status === "error"

output_url is a one-hour signed S3 URL. Re-poll the endpoint to get a fresh URL; the underlying object stays at render/{renderId}.mp4 indefinitely (unless the clip is deleted from the dashboard or via the legacy delete endpoint).

Full renders take roughly 15–60 seconds for a 60-second clip. Polling every 3–5 seconds is reasonable. For longer-running renders, register a webhook for project.render.succeeded instead — see Webhooks → Overview.

CodeHTTPWhen
UNAUTHORIZED401Missing or invalid credential
NOT_FOUND404renderId doesn’t exist on your team