Seedance
Overview
This registered video queue requires a deployment bound to its Fal transport. A Seedance model using content-generation transport cannot be called through Fal.
Endpoint and authentication
POST /queue/bytedance/seedance-2.0/text-to-videoUse an XHub API key: Authorization: Bearer . Do not use upstream provider credentials as gateway keys.
Use the gateway root Base URL shown in the playground, without appending /v1; send requests to the full endpoint path above.
Request example
curl "$XHUB_BASE_URL/queue/bytedance/seedance-2.0/text-to-video" \
-H "Authorization: Bearer $XHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"A lighthouse at sunrise.","duration":5}'Request parameters
| Field | Type | Description |
|---|---|---|
| prompt | string · required | Prompt; registered path selects the model. |
| duration / aspect_ratio | string | Valid values depend on operation. |
Success response
{
"request_id": "request-example"
}| Field | Type |
|---|---|
| request_id | string |
Errors and troubleshooting
| HTTP | Meaning |
|---|---|
| 400 | Invalid request. Check JSON, parameters and query. |
| 401 | Missing or invalid XHub credential. |
| 403 | Permission denied. Check model scope or policy. |
| 429 | Limit exceeded. Inspect response details and Retry-After. |
Task lifecycle
curl "$XHUB_BASE_URL/queue/bytedance/seedance-2.0/requests/$REQUEST_ID/status" -H "Authorization: Bearer $XHUB_API_KEY"
curl "$XHUB_BASE_URL/queue/bytedance/seedance-2.0/requests/$REQUEST_ID" -H "Authorization: Bearer $XHUB_API_KEY"Save request_id as REQUEST_ID, poll status until completion, then retrieve the result. Prefer returned status_url and response_url resolved against the gateway root. Use the same XHub key. Cancellation is not implemented. Successful terminal results with measured usage settle once.
Registered creation paths
| Family / variant | Path |
|---|---|
| bytedance 2.0 | POST /queue/bytedance/seedance-2.0/text-to-video |
| bytedance 2.0 | POST /queue/bytedance/seedance-2.0/image-to-video |
| bytedance 2.0 | POST /queue/bytedance/seedance-2.0/reference-to-video |
| bytedance 2.0/fast | POST /queue/bytedance/seedance-2.0/fast/text-to-video |
| bytedance 2.0/fast | POST /queue/bytedance/seedance-2.0/fast/image-to-video |
| bytedance 2.0/fast | POST /queue/bytedance/seedance-2.0/fast/reference-to-video |
| bytedance 2.0/mini | POST /queue/bytedance/seedance-2.0/mini/text-to-video |
| bytedance 2.0/mini | POST /queue/bytedance/seedance-2.0/mini/image-to-video |
| bytedance 2.0/mini | POST /queue/bytedance/seedance-2.0/mini/reference-to-video |
| bytedance 2.5 | POST /queue/bytedance/seedance-2.5/text-to-video |
| bytedance 2.5 | POST /queue/bytedance/seedance-2.5/image-to-video |
| bytedance 2.5 | POST /queue/bytedance/seedance-2.5/reference-to-video |
| byteplus 2.0 | POST /queue/byteplus/seedance-2.0/text-to-video |
| byteplus 2.0 | POST /queue/byteplus/seedance-2.0/image-to-video |
| byteplus 2.0 | POST /queue/byteplus/seedance-2.0/reference-to-video |
| byteplus 2.0/fast | POST /queue/byteplus/seedance-2.0/fast/text-to-video |
| byteplus 2.0/fast | POST /queue/byteplus/seedance-2.0/fast/image-to-video |
| byteplus 2.0/fast | POST /queue/byteplus/seedance-2.0/fast/reference-to-video |
| byteplus 2.0/mini | POST /queue/byteplus/seedance-2.0/mini/text-to-video |
| byteplus 2.0/mini | POST /queue/byteplus/seedance-2.0/mini/image-to-video |
| byteplus 2.0/mini | POST /queue/byteplus/seedance-2.0/mini/reference-to-video |
| byteplus 2.5 | POST /queue/byteplus/seedance-2.5/text-to-video |
| byteplus 2.5 | POST /queue/byteplus/seedance-2.5/image-to-video |
| byteplus 2.5 | POST /queue/byteplus/seedance-2.5/reference-to-video |
Image/reference fields follow deployment endpoint details. Fast/Mini share the version query queue; do not append /requests to a creation URL. For byteplus use /queue/byteplus/seedance-{version}/requests/{request_id}. Optional model selects a public alias and is removed before forwarding.