Error responses return a JSON body with the appropriate HTTP status code:
{
"message" : "Invalid request parameters"
}
Insufficient Credits (402)
The 402 response includes additional fields:
{
"message" : "Insufficient credits" ,
"required" : 200 ,
"available" : 10
}
required — credits needed for the task. available — your current balance.
Concurrency Limit (429)
The 429 response is returned when you have too many tasks in progress:
{
"message" : "Concurrency limit reached (3). You have 3 tasks in progress. Please wait for them to complete, or join our Discord for higher limits." ,
"limit" : 3 ,
"current" : 3
}
limit — maximum concurrent tasks allowed. current — your active task count.
HTTP Status Codes
Code Meaning Description 200 Success Request completed 400 Bad Request Invalid parameters or inputs 401 Unauthorized Missing or invalid API key 402 Payment Required Insufficient credits 403 Forbidden API access not enabled, or querying another user’s task 404 Not Found Task ID does not exist 429 Too Many Requests Concurrency limit reached 500 Server Error Internal error, safe to retry
Common Error Messages
message What to do Missing Authorization headerAdd Authorization: Bearer YOUR_API_KEY header Invalid API KeyCheck your API key in Account Insufficient creditsAdd credits in Account Invalid request parametersCheck required fields and model name Invalid inputs for modelVerify parameter types and values Concurrency limit reachedWait for current tasks to complete Missing taskId parameterProvide taskId query parameter Task not foundVerify the task ID API access not enabled for this accountContact support to request developer access Access deniedYou can only query your own tasks
Task Failure States
When polling task status via Get Task Status , check the status field:
waiting — task queued, keep polling
generating — in progress, keep polling
success — done, read output array for video URL
fail — failed, read error for details
Fail Response Example
Both Get Task Status and Webhooks return the same error object format:
{
"taskId" : "task_clxxxxxx" ,
"model" : "seedance-20" ,
"status" : "fail" ,
"error" : {
"code" : "2038" ,
"message" : "Your input text violates platform rules. Please modify and try again."
}
}
error.code — machine-readable error code (e.g. "2038", "4011", "500")
error.message — human-readable description
A fail status means the generation itself failed. The HTTP response is still 200 — the error details are in the error field.
Task Error Messages
When a task fails, the error field contains one of the following messages. These are grouped by category to help you handle them in code.
Content Moderation — Input Rejected
These errors mean your input was flagged before generation started. Credits are refunded.
Error Message Cause Action Your input text violates platform rules. Please modify and try again.Prompt contains prohibited content Revise your prompt Your uploaded image violates platform rules. Please modify and try again.Source image flagged Use a different image Your uploaded video violates platform rules. Please modify and try again.Source video flagged Use a different video Content violates platform rules. Please modify and try again.General input violation Modify input content
Content Moderation — Output Rejected
These errors mean the generated content was flagged after generation. Credits are refunded.
Error Message Cause Action The generated video did not pass review. Credits will not be deducted.Output video flagged Adjust prompt and retry The generated image did not pass review. Credits will not be deducted.Output image flagged Adjust prompt and retry The generated audio violates platform rules. Please adjust your prompt or images and try again.Output audio flagged Adjust prompt and retry The generated content violates platform rules. Please adjust your prompt or images and try again.General output violation Adjust prompt and retry
Face Detection
Error Message Cause Action Face detected in uploaded media. Please adjust your media and try again.Uploaded image/video contains a human face Remove or crop faces from input media
Error Message Cause Action Media upload failed. Please check your file format, size, and duration (audio max 15s, video max 15s).Uploaded audio/video exceeds duration limit or has unsupported format Trim audio to ≤15s, video to ≤15s Your uploaded image violates platform rules. Please use a different image.Image failed content detection Use a different image
Server & Processing Errors
These are transient errors. Credits are refunded. Safe to retry.
Any error message containing “Please try again” or “Please try again later” falls into this category. Common examples:
Server error. Please try again later.
Video generation failed. Please try again.
Generation timed out. Please try again.
Task submission failed. Please try again.
If the message mentions “different content” , “different images” , or “adjust your prompt” , modify your input before retrying.
All unrecognized internal errors are normalized to generic messages to avoid leaking implementation details. If you see Video generation failed. Please try again., it is safe to retry.
Credit refund policy: All task failures automatically refund credits. You are only charged for successful generations.
When to Retry
DO retry: 500 (server error), 429 (concurrency limit — wait for tasks to complete), task errors containing “Please try again”
DON’T retry: 400 (bad request), 401 (unauthorized), 402 (insufficient credits), 403 (forbidden), content moderation errors
For a complete code example with error handling, see Quickstart .
Next Steps
Quickstart Complete working example
API Reference Full API documentation