skills.video uses standard HTTP status codes alongside a machine-readableDocumentation Index
Fetch the complete documentation index at: https://docs.skills.video/llms.txt
Use this file to discover all available pages before exploring further.
error code to describe request outcomes. Use the HTTP status to decide whether to retry, fix input, or treat a request as successful; use the error code to branch on the specific failure reason.
Common status codes
| Status | Meaning |
|---|---|
| 200 | Success |
| 202 | Accepted for processing |
| 400 | Invalid request |
| 401 | Authentication required or failed |
| 402 | Insufficient credits |
| 404 | Resource not found |
| 422 | Validation error / content rejected |
| 429 | Rate limited |
| 500 | Server error |
| 502 | Upstream generation failed |
| 503 | Upstream provider unavailable |
| 504 | Generation timed out |
Error response format
Every error body has the same shape: a machine-readableerror code and a sanitized human-readable message. Upstream vendor names are redacted from the message before it reaches your client.
Generation error codes
Generation endpoints return error codes from one of three families, matching the endpoint’s output type. Every family shares the same set of sub-codes.| Sub-code | Typical HTTP | When it fires |
|---|---|---|
FAILED | 502 | Generic upstream failure. Safe default to branch on. |
TIMEOUT | 504 | Generation exceeded the upstream timeout. Retry is usually safe. |
RATE_LIMITED | 429 | Upstream rate limit hit. Back off and retry. |
PROVIDER_UNAVAILABLE | 503 | Upstream provider is down. Retry with backoff. |
UNSUPPORTED_MODEL | 400 | The requested provider/model combination is not supported. |
INVALID_INPUT | 400 | Request body failed validation or was otherwise malformed. |
INSUFFICIENT_CREDITS | 402 | Workspace does not have enough credits to run the generation. |
CONTENT_REJECTED | 422 | Upstream moderation rejected the prompt or inputs. |
Image generation
Returned byPOST /generation/{provider}/{model} (and the SSE variant) when the model is an image model.
IMAGE_GENERATION_FAILEDIMAGE_GENERATION_TIMEOUTIMAGE_GENERATION_RATE_LIMITEDIMAGE_GENERATION_PROVIDER_UNAVAILABLEIMAGE_GENERATION_UNSUPPORTED_MODELIMAGE_GENERATION_INVALID_INPUTIMAGE_GENERATION_INSUFFICIENT_CREDITSIMAGE_GENERATION_CONTENT_REJECTED
Video generation
Returned byPOST /generation/{provider}/{model} (and the SSE variant) when the model is a video model.
VIDEO_GENERATION_FAILEDVIDEO_GENERATION_TIMEOUTVIDEO_GENERATION_RATE_LIMITEDVIDEO_GENERATION_PROVIDER_UNAVAILABLEVIDEO_GENERATION_UNSUPPORTED_MODELVIDEO_GENERATION_INVALID_INPUTVIDEO_GENERATION_INSUFFICIENT_CREDITSVIDEO_GENERATION_CONTENT_REJECTED
TTS generation
Returned byPOST /ai/tts/generate and by POST /generation/{provider}/{model} (and the SSE variant) when the model is a TTS model.
TTS_GENERATION_FAILEDTTS_GENERATION_TIMEOUTTTS_GENERATION_RATE_LIMITEDTTS_GENERATION_PROVIDER_UNAVAILABLETTS_GENERATION_UNSUPPORTED_MODELTTS_GENERATION_INVALID_INPUTTTS_GENERATION_INSUFFICIENT_CREDITSTTS_GENERATION_CONTENT_REJECTED