Seedance 2.5
Seedance 2.5 on the domestic route with text, first/last frames, multimodal and audio-only references, 4 to 30 second videos and 480p drafts.
/api/v1/jobs/createTaskSet model to seedance-2.5. The domestic route uses text-to-video for text alone, with optional web search. A first frame with an optional last frame uses image-to-video, where prompt is optional and ratio must be adaptive. Reference lists use the multimodal endpoint with up to 30 images, 10 videos and 10 audio references. Audio references can be used without images or videos. Generate 4 to 30 second videos at 480p or 720p with audio generation, video extension and MOV output.
Request example
curl -X POST https://api.xbaiapi.com/api/v1/jobs/createTask \
-H "Authorization: Bearer xb-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"input": {
"prompt": "A rainy city intersection at night, neon lights reflected on wet pavement, camera slowly moving forward",
"resolution": "720p",
"duration": 25,
"ratio": "16:9",
"imageUrls": ["https://example.com/street.jpg"],
"generateAudio": true,
"outputFormat": "mp4"
},
"callBackUrl": "https://your-server.com/webhook"
}'Remove reference arrays to use text-to-video. To enable web search, replace input with:
{
"prompt": "A rainy old Chinese city at night, red lanterns reflected on wet pavement, camera slowly moving forward",
"resolution": "720p",
"duration": 25,
"ratio": "16:9",
"webSearch": true,
"generateAudio": true,
"watermark": false,
"bitrateMode": "standard",
"outputFormat": "mp4",
"draft": false
}webSearch is text-to-video only. realPersonMode and conversionSlots support image-to-video and multimodal requests; omniReferenceTaskType is multimodal only. Frames cannot be combined with reference lists.
For first/last-frame image-to-video, prompt can be omitted. Replace input with:
{
"resolution": "720p",
"duration": 25,
"firstFrameUrl": "https://example.com/first.jpg",
"lastFrameUrl": "https://example.com/last.jpg",
"ratio": "adaptive",
"realPersonMode": true,
"conversionSlots": ["firstFrameUrl", "lastFrameUrl"],
"generateAudio": true,
"outputFormat": "mov"
}Parameters
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Fixed value seedance-2.5 |
input.prompt | string | Conditional | Up to 20480 characters; optional or empty for image-to-video, required for other modes |
input.resolution | string | No | 480p or 720p, default 720p |
input.duration | number | No | Integer from 4 to 30 seconds, default 5 |
input.ratio | string | No | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 or 21:9, default adaptive; image-to-video requires adaptive |
input.firstFrameUrl | string | Conditional | First frame; selects image-to-video, up to 30 MB |
input.lastFrameUrl | string | No | Optional last frame; requires firstFrameUrl, up to 30 MB |
input.imageUrls | string[] | No | Up to 30 images, 50 MB each |
input.videoUrls | string[] | No | Up to 10 videos, 2 to 30 seconds and 50 MB each, combined duration at most 30 seconds |
input.audioUrls | string[] | No | Up to 10 audio files, 2 to 30 seconds and 50 MB each, combined duration at most 30 seconds; images and videos are optional |
input.conversionSlots | string[] | No | Default ["all"]; image-to-video accepts all, firstFrameUrl, lastFrameUrl; multimodal accepts all, image1 to image30, video1 to video10; not supported for text-to-video |
input.realPersonMode | boolean | No | Real person mode, image-to-video and multimodal only, default true |
input.webSearch | boolean | No | Web search enhancement, text-to-video only, default false |
input.returnLastFrame | boolean | No | Request the last frame, default false; task results still return only the video |
input.bitrateMode | string | No | standard or high, default standard |
input.generateAudio | boolean | No | Generate audio, default true |
input.watermark | boolean | No | Add a watermark, default false |
input.seed | number | No | Integer from -1 to 2147483647, default -1 |
input.outputFormat | string | No | mp4 or mov, default mp4 |
input.omniReferenceTaskType | string | No | Multimodal only. auto, reference or extend, default auto; extend requires videoUrls and ratio: "adaptive" |
input.draft | boolean | No | Draft mode, default false; requires resolution: "480p" |
callBackUrl | string | No | Completion callback URL; poll task status when omitted |
Media accepts public HTTP(S) URLs or media Base64 data URIs. File size and duration are checked by the generation service. Playground image uploads currently allow 30 MB; API URL inputs follow the generation service's 50 MB limit.
native1080p, 1080p, 2k, 4k, smart duration -1 and video editing edit are unavailable. Use firstFrameUrl / lastFrameUrl for frame control, and imageUrls for multimodal image references.
Billing and results
The rate is 33 credits/second without a reference video, or 20 credits/second with a reference video, charged by output duration. Failed tasks receive a full refund. Images, audio, drafts and bitrate modes do not change the current per-second rate. The 25-second example without a reference video costs 825 credits.
Save the returned taskId, then query the task or wait for the callback. Generated videos are copied to storage and retained for 30 days. See pricing and result files.