Skip to main content
POST
Note for users in mainland China: Please use https://toapis.cn as the API endpoint (Base URL). Replace https://toapis.com with https://toapis.cn in the examples in this document.
Seedance 2.5 uses the public model name seedance-2-5 and the upstream model ID doubao-seedance-2-5-260628.
  • Supports text-to-video, first-frame / first-last-frame image-to-video, editing, video extension, and multimodal reference workflows.
  • Supports image, video, and audio references, including audio-only references.
  • The task is asynchronous. The submit API returns a generation.task; fetch the finished video from the task status API.
Draft mode renders a low-cost 480p preview first and then the 1080p final video from that preview. See Draft Mode.

Authorizations

string
required
Use Bearer Token authentication for every request.Get an API key from the API Key Management Page.

Body

string
default:"seedance-2-5"
required
Public ToAPIs model name. Use seedance-2-5.
boolean
default:false
Optional, defaults to false. Set to true to prepare and review assets according to the selected channel’s capabilities. Channels without a private asset library skip review and use the existing generation flow.Only for asynchronous generation requests containing media in these fields: image_urls, image_with_roles, video_with_roles, audio_with_roles.Omit or set to false for text-only requests or media supplied only in metadata. Not applicable to separate remix or extend endpoints. With true, asset:// is rejected. The model’s media format and count limits still apply. See on-demand asset review.This endpoint supports the switch with video_operation=edit or video_operation=extend, subject to the corresponding media and duration requirements.
string
Describe the scene, camera movement, subject action, style, and audio mood. When referring to media, use labels such as “image 1”, “video 1”, or “audio 1”.
string
default:"generate"
Video operation: generate, edit, or extend. Editing and extension require at least one video_with_roles; editing uses duration=-1, while extension accepts 4–30 or -1. All three operations use this endpoint.
string
Your order number or internal job ID. It is stored with the task and can be used for later lookup with GET /v1/videos/generations/{client_business_id}.
integer
Output duration in seconds. The official range is 4–30; use -1 to let the model choose the duration. Editing accepts only -1, and the output length matches the input video. Extension accepts 4–30 or -1, measured as the total output duration after extension.
string
Output aspect ratio. Allowed values: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, and adaptive.Use adaptive for editing, video extension, and first/last-frame tasks, or when the input media should determine the ratio.
string[]
Compatibility image URL array. For new integrations, prefer image_with_roles so each image has an explicit role. Do not send both fields in one request.
array
Images with explicit roles. Each item contains a required url and role.Roles: first_frame, last_frame, or reference_image.Up to 30 images may be supplied. First/last-frame mode and reference-image mode are mutually exclusive.
array
Reference videos. Each item contains a required url and the role reference_video. Up to 10 videos may be supplied.
array
Reference audio. Each item contains a required url and the role reference_audio. Up to 10 audio clips may be supplied. Audio-only reference input is supported.
string
Output resolution: 480p, 720p, or 1080p.
string
default:"mp4"
Supported formats are mp4 and mov.
boolean
default:true
Whether to generate synchronized audio.
boolean
default:false
Whether to return the generated video’s last-frame image in the completed task result.
array
Optional tools. The supported value is [{ "type": "web_search" }].Web search is for text-to-video requests and cannot be combined with image, video, or audio inputs.
string
ToAPIs task-completion callback URL. See Task Webhooks.
string
A caller-supplied tracing ID.

Reference input limits

The combined limit is 50 reference items: up to 30 images, 10 videos, and 10 audio clips. Use explicit roles to avoid ambiguous frame/reference interpretation.
Invalid task-type combinations can fail. Editing and extension tasks set the upstream task type explicitly, so a constraint mismatch returns an error immediately at submit time. For other task types the model infers the type from the media and the prompt, and a mismatch fails asynchronously with InvalidParameter.TaskTypeConstraint. For editing, extension, and first/last-frame tasks, set aspect_ratio to adaptive as required by the upstream API.

Response

string
Task ID used to query status.
string
Returned when client_business_id was supplied.
string
Fixed to generation.task.
string
The requested model name.
string
queued, in_progress, completed, or failed.
integer
Progress percentage from 0 to 100.
integer
Creation timestamp.