Generation
POST
/videos/{id}/render

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
AuthorizationBearer <token>

An API key created under Settings > API & Webhooks. Keys start with sf_live_.

In: header

Path Parameters

id*string

Header Parameters

Idempotency-Key?string

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.

Lengthlength <= 255

Response 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  }}