Seedance 2.5 Video
Seedance 2.5 uses an asynchronous video task API: create a task first, then poll for its status and final video URL. Its unified API model name is doubao-seedance-2.5.
For the Pro/Fast 2.0 models, see the separate Seedance 2.0 guide.
Endpoints
| Capability | Method | Path |
|---|---|---|
| Create video task (official-compatible) | POST | /api/v3/contents/generations/tasks |
| Retrieve video task (official-compatible) | GET | /api/v3/contents/generations/tasks/{task_id} |
| Create video task | POST | /v1/video/generations |
| Retrieve video task | GET | /v1/video/generations/{task_id} |
| Create asynchronous image moderation task | POST | /v1/images/moderations/tasks |
| Retrieve asynchronous image moderation task | GET | /v1/images/moderations/tasks/{task_id} |
Parameters and Capabilities
| Parameter | Description |
|---|---|
model | Use doubao-seedance-2.5 with both the unified and official-compatible APIs |
content | Supports text, image_url, video_url, and audio_url |
duration | 4 to 30 seconds, or -1 for intelligent duration |
resolution | 480p or 720p |
ratio | adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, or 9:16 |
generate_audio | Whether to generate synchronized audio |
watermark | Whether to add a watermark |
content Item Format
content is an array whose items are selected by type. Image, video, and audio URLs must be nested inside the corresponding { "url": "..." } object; do not pass them as plain strings.
type | Required field | Optional role | Description |
|---|---|---|---|
text | text | None | Text prompt; multiple text items are used in order |
image_url | image_url.url | reference_image, first_frame, last_frame | Reference image, first frame, or last frame; for asynchronously moderated images, use the returned asset_url |
video_url | video_url.url | reference_video | Reference video; defaults to a reference video when role is omitted |
audio_url | audio_url.url | reference_audio | Reference audio; defaults to reference audio when role is omitted |
[
{ "type": "text", "text": "Describe the video to generate" },
{ "type": "image_url", "role": "reference_image", "image_url": { "url": "asset://reviewed-image-id" } },
{ "type": "video_url", "role": "reference_video", "video_url": { "url": "https://example.com/reference.mp4" } },
{ "type": "audio_url", "role": "reference_audio", "audio_url": { "url": "https://example.com/reference.mp3" } }
]Common combinations include text only, text plus image, text plus video, text plus audio, and multimodal combinations of images, videos, and audio. Audio cannot be the only input; content must contain at least one text, image_url, or video_url item.
The API accepts up to 30 reference images, 10 reference videos, and 10 reference audio files. Reference audio cannot be the only input; combine it with text, an image, or a video, for example, text plus audio. Use ratio: "adaptive" for first-frame or first-and-last-frame tasks.
Text-to-Video
curl -X POST https://cubicspace.cn/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "doubao-seedance-2.5",
"content": [{
"type": "text",
"text": "A cinematic aerial shot of a futuristic city waking at sunrise"
}],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
}'A successful create request returns task_xxx with initial status queued.
Asynchronous Image Moderation
When image-to-video uses library-managed reference images, create an asynchronous moderation task first. Submit all images used by one video generation request together in the same images array.
curl -X POST https://cubicspace.cn/v1/images/moderations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "doubao-seedance-2.5",
"images": [
"https://example.com/person.png",
"https://example.com/product.png"
],
"client_request_id": "seedance-25-batch-001"
}'Task creation immediately returns amt_xxx. Retrieve the result with:
curl https://cubicspace.cn/v1/images/moderations/tasks/amt_xxx \
-H "Authorization: Bearer YOUR_API_KEY"Poll every 2 to 5 seconds. Processing statuses are queued and running; terminal statuses are succeeded, partial_succeeded, failed, and expired. Only approved items can use their asset_url for generation.
Image-to-Video
{
"model": "doubao-seedance-2.5",
"content": [
{ "type": "text", "text": "Preserve the person in image 1 while they play with a dog in a sunny meadow" },
{
"type": "image_url",
"role": "reference_image",
"image_url": { "url": "asset://reviewed-person-asset-id" }
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9"
}First and Last Frame
{
"model": "doubao-seedance-2.5",
"content": [
{ "type": "text", "text": "Transition smoothly from image 1 to image 2" },
{ "type": "image_url", "role": "first_frame", "image_url": { "url": "asset://first-frame-id" } },
{ "type": "image_url", "role": "last_frame", "image_url": { "url": "asset://last-frame-id" } }
],
"duration": 8,
"resolution": "720p",
"ratio": "adaptive"
}Text and Audio Reference
{
"model": "doubao-seedance-2.5",
"content": [
{ "type": "text", "text": "Create a cinematic dance video that follows the rhythm of audio 1" },
{ "type": "audio_url", "role": "reference_audio", "audio_url": { "url": "https://example.com/reference.wav" } }
],
"duration": 10,
"resolution": "720p",
"ratio": "16:9"
}A request containing only audio_url is rejected. When using reference audio, also provide at least one non-empty text, image, or video item.
Official-Compatible API
Existing official-style clients can use:
POST /api/v3/contents/generations/tasks
GET /api/v3/contents/generations/tasks/{task_id}Use model name doubao-seedance-2.5. Responses are unwrapped official-compatible objects.
Retrieve a Task
curl https://cubicspace.cn/v1/video/generations/task_xxx \
-H "Authorization: Bearer YOUR_API_KEY"Use the public task_xxx returned by creation and the same API key that created it. Read the final video URL from data.result_url. data.usage.completion_tokens and data.usage.total_tokens are the final effective token counts after completion.
| Stage | Status |
|---|---|
| Processing | NOT_START, SUBMITTED, QUEUED, IN_PROGRESS |
| Success | SUCCESS |
| Failure | FAILURE |
Image, video, and audio URLs must be directly downloadable by the platform server. Result video URLs can expire, so download and retain the file promptly.