XBAI API
Video ModelsSeedance

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.

POST/api/v1/jobs/createTask

Set 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
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:

Text-to-video input
{
  "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:

First/last-frame input
{
  "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

FieldTypeRequiredDescription
modelstringYesFixed value seedance-2.5
input.promptstringConditionalUp to 20480 characters; optional or empty for image-to-video, required for other modes
input.resolutionstringNo480p or 720p, default 720p
input.durationnumberNoInteger from 4 to 30 seconds, default 5
input.ratiostringNoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16 or 21:9, default adaptive; image-to-video requires adaptive
input.firstFrameUrlstringConditionalFirst frame; selects image-to-video, up to 30 MB
input.lastFrameUrlstringNoOptional last frame; requires firstFrameUrl, up to 30 MB
input.imageUrlsstring[]NoUp to 30 images, 50 MB each
input.videoUrlsstring[]NoUp to 10 videos, 2 to 30 seconds and 50 MB each, combined duration at most 30 seconds
input.audioUrlsstring[]NoUp to 10 audio files, 2 to 30 seconds and 50 MB each, combined duration at most 30 seconds; images and videos are optional
input.conversionSlotsstring[]NoDefault ["all"]; image-to-video accepts all, firstFrameUrl, lastFrameUrl; multimodal accepts all, image1 to image30, video1 to video10; not supported for text-to-video
input.realPersonModebooleanNoReal person mode, image-to-video and multimodal only, default true
input.webSearchbooleanNoWeb search enhancement, text-to-video only, default false
input.returnLastFramebooleanNoRequest the last frame, default false; task results still return only the video
input.bitrateModestringNostandard or high, default standard
input.generateAudiobooleanNoGenerate audio, default true
input.watermarkbooleanNoAdd a watermark, default false
input.seednumberNoInteger from -1 to 2147483647, default -1
input.outputFormatstringNomp4 or mov, default mp4
input.omniReferenceTaskTypestringNoMultimodal only. auto, reference or extend, default auto; extend requires videoUrls and ratio: "adaptive"
input.draftbooleanNoDraft mode, default false; requires resolution: "480p"
callBackUrlstringNoCompletion 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.

On this page