Queues the render that turns the generated assets into an mp4.
Asynchronous: it returns with render.status: QUEUED and clears any
previous renderUrl.
Rendering charges credits proportionally to the video's duration and
counts against the monthly render limit, so it can be refused with
warning-no-credits, warning-plan-renders or
warning-plan-render-time.
Authorization
bearerAuth An API key created under Settings > API & Webhooks. Keys start with sf_live_.
In: header
Path Parameters
Header Parameters
Unique key per action (a UUID works well). Reusing it replays the first response instead of running the action again, so a retry after a timeout can never generate, render, publish or charge twice.
length <= 255Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/videos/string/render"{ "data": { "videoId": "7bQxL2mF9dR4tK1sv", "status": "rendering", "render": { "status": "QUEUED", "progress": 0, "queuedAt": "2026-08-06T09:18:02.000Z", "startedAt": null, "error": null }, "renderUrl": null }}Queue the generation pipeline POST
Requeues generation for an existing video: script, voiceover, transcript and visuals. Asynchronous, and it charges credits and counts against the monthly generation limit exactly like creation does. The body carries the per-run job flags only. Omitted flags keep whatever the video already has. A video whose generation is already `QUEUED` or `STARTED` is refused with `warning-already-processing`.
Write the video's social caption POST
Runs the AI caption writer and stores the result as `brief.description`, which is what a publish posts alongside the video. Charges one generation's worth of credits. Pass `prompt` to steer the caption; it is saved as `descriptionPrompt` and reused next time. Synchronous.