Finalize a draft render
Finalize a draft render: the same video at full quality. Renders a draft: true job again at full quality from the body the draft was submitted with (cached script and narration are reused where possible) and answers with the NEW job to poll at GET /v1/jobs/. Charged as one video.render; the draft keeps its own charge. A job that is not a draft answers conflict; a job that is not yours, or projectId other than the draft’s project, answers not_found. The same Idempotency-Key returns the same final job and is never charged twice.
Authorizations
A workspace API key.
Headers
Stable retry key for this logical paid call. Reuse it after a timeout to receive the original result without duplicate work or spend.
1 - 255Send 1 to get the price, balance and budget verdict without running anything.
"1"The approved price; a call that would cost more is refused and nothing is charged.
^\d+$Path Parameters
The draft render job id: the jobId of a draft: true render.
1 - 200"job_4k1b7d"
Body
The existing project to file this work under. Create it with POST /v1/projects, then reuse its id across related calls. A project this workspace does not own answers not_found; the work is never silently filed somewhere else.
1 - 200Response
Success.
- Option 1
- Option 2
What this call actually cost, which is not always what was quoted.
300
Poll GET /v1/jobs/{jobId}. When that job reports status: "done", the finished file is job.artifacts.download. Video renders expose an origin URL; private 3D artifacts expose an authenticated API handoff that redirects to a short-lived origin URL.
"job_4k1b7d"
Acceptance, not completion. The work has not started when this returns.
"queued"The draft this render finalizes.
The existing project this work was filed under. It matches the projectId supplied by the caller after workspace ownership was verified.
"prj_9x2a4c"
Your balance after the charge. Absent when billing is disabled for the workspace.
3900