The error.code values a failed job reports, with a human title, the
action that clears each one (upgrade, credits, connect,
configure, schedule, retry, trial or none) and blocked: an
expected limit (warning-*, the same codes a 400 carries when the
limit is hit synchronously) rather than a failure.
Authorization
bearerAuth An API key created under Settings > API & Webhooks. Keys start with sf_live_.
In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/reference/failure-codes"{ "data": [ { "code": "warning-trial-daily-limit", "title": "Daily trial limit reached", "action": "trial" }, { "code": "warning-trial-animated-limit", "title": "Animated trial limit reached", "action": "trial" }, { "code": "warning-no-credits", "title": "Out of credits", "action": "credits" }, { "code": "warning-plan-duration", "title": "Video too long for your plan", "action": "upgrade" }, { "code": "warning-plan-render-time", "title": "Video too long to render on your plan", "action": "upgrade" }, { "code": "warning-plan-renders", "title": "Monthly render limit reached", "action": "upgrade" }, { "code": "warning-plan-generations", "title": "Monthly generation limit reached", "action": "upgrade" }, { "code": "warning-plan-automations", "title": "Automation limit reached", "action": "upgrade" }, { "code": "warning-plan-publish", "title": "Publishing needs a paid plan", "action": "upgrade" }, { "code": "warning-source-not-ready", "title": "Source video is not ready", "action": "none" }, { "code": "warning-publish-not-configured", "title": "No publishing destination", "action": "configure" }, { "code": "warning-publish-no-accounts", "title": "No connected account", "action": "connect" }, { "code": "warning-publish-auth", "title": "Reconnect your social account", "action": "connect" }, { "code": "warning-publish-duplicate", "title": "Already posted", "action": "none" } ]}List what each feature costs GET
What every billable feature charges your workspace, in both units (1 credit is 1000 tokens) and per what: a minute of video, an image, or a single generation. Use it to estimate a job before queuing it. A workspace created from 2026-10-26 pays one `Video` charge per minute of video in place of the render, captions, scenes and premium voice charges, so its list differs.
List image styles GET
The styles `brief.imageStyle` can name. A faceless brief defaults to `auto`, which is not listed here; it picks one of these from the prompt or script, never an `ai_video` one, and `mixed` when nothing asks for a look. `mixed` uses library footage where the scene is filmable and AI images where it is not. `media` says what the B-rolls are made of; the `ai_image` styles other than `realistic` draw every image in one fixed art style. `example`, on the popular styles, is a real video made with the style. `custom` is deprecated and still reads `brief.customStyleText`.