Editor
POST
/videos/{id}/scenes

Inserts an empty scene after afterSceneId, or appends it when no id is given. The new scene inherits the preceding scene's voiceDescription so one character stays consistent, and defaults to a 6 second slot with empty prompts. Free: nothing is generated until you fill it in and regenerate its image.

Adding a scene invalidates the stitched render, so renderUrl is cleared. A video holds at most 50 scenes.

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/videos/string/scenes" \  -H "Content-Type: application/json" \  -d '{    "afterSceneId": "n1a2b3"  }'
{  "data": {    "id": "n7g8h9",    "imagePrompt": "",    "animationPrompt": "",    "narration": "",    "voiceDescription": "Calm, low, unhurried",    "duration": 5,    "status": "DRAFT"  }}