Generation
POST
/videos/{id}/description

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.

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

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

application/json

curl -X POST "https://example.com/videos/string/description" \  -H "Content-Type: application/json" \  -d '{    "prompt": "Punchy, one hook line and three hashtags"  }'
{  "data": {    "videoId": "7bQxL2mF9dR4tK1sv",    "description": "Burnout is not a workload problem. #founders #startups #focus"  }}