Skip to main content
POST

Authorizations

Authorization
string
header
required

##All endpoints require Bearer Token authentication##

Get API Key:

Visit the API Key Management Page to obtain your API Key

Add to request header:

Body

application/json
model
enum<string>
default:seedance-2.5-reference-to-video
required

Video generation model name

Available options:
seedance-2.5-reference-to-video
Example:

"seedance-2.5-reference-to-video"

prompt
string
required

Text prompt describing the desired video. Supports both Chinese and English, recommended no more than 500 characters for Chinese. Maximum prompt length: 10000 tokens

Details:

  • When referring to input materials in the prompt, prefer explicit tags such as @image1, @video1, and @audio1 instead of relying only on natural-language references such as "image 1", "video 1", or "audio 1"
  • Tag numbers follow the order of the corresponding URL array and start at 1: the first image_urls item is @image1, the first video_urls item is @video1, and the first audio_urls item is @audio1
  • Natural-language numbering may still be understood, but explicit tags provide a clearer mapping between each material and its intended use

Avoid being classified as an edit / extend task:

  • The task type is inferred from the prompt intent: wording such as "edit the video", "add", "remove / delete", "change / replace" is treated as video editing; wording such as "extend forward / backward", "continue" is treated as video extension
  • Once classified as either task, aspect_ratio must be adaptive, and for video editing duration must be -1; otherwise the request is accepted without an error and the task later turns failed with error code InvalidParameter.TaskTypeConstraint. The pre-authorized quota is refunded, but the waiting time is wasted
  • If you really need editing / extension, use seedance-2.5-video-edit or seedance-2.5-video-extend instead: parameters are validated at submission, so invalid values return an immediate synchronous error
  • For pure reference generation, rephrase words like "replace" or "remove" descriptively, e.g. "the shot features ..." or "rendered in the style of @image1"
Example:

"Use the first-person perspective framing of @video1 throughout, and use @audio1 as background music throughout. First-person perspective fruit tea promotional video..."

image_urls
string<uri>[]

Reference image URL array, optional; 1–30 images when provided

Requirement: At least one of image_urls, video_urls, or audio_urls must be provided.

Role description:

Image requirements:

  • Supported formats: .jpeg, .png, .webp
  • Aspect ratio (width/height): 0.4 ~ 2.5
  • Width/height pixels: 300 ~ 6000 px
  • Max size per image: 30MB
  • Total request body size must not exceed 64MB, do not use Base64 encoding
  • Image URLs must be directly accessible by the server
Required array length: 1 - 30 elements
Example:
video_urls
string<uri>[]

Reference video URL array, optional; 1–10 videos when provided

Requirement: At least one of image_urls, video_urls, or audio_urls must be provided.

Role description:

Video requirements:

  • Supported formats: .mp4, .mov
  • Resolution: 480p, 720p, 1080p, 4K
  • Duration per video: 2 ~ 30 seconds, max 10 videos, total duration of all videos ≤ 30 seconds
  • Aspect ratio (width/height): 0.4 ~ 2.5
  • Width/height pixels: 300 ~ 6000 px
  • Frame pixels (width × height): 409,600 ~ 8,295,044 (e.g., 640×640 ~ 3326×2494)
  • Max size per video: 200MB
  • Frame rate: 24 ~ 60 FPS
  • Total request body size must not exceed 64MB, do not use Base64 encoding
  • Specific codec, resolution, and other media validity checks are performed by the model
  • Using video references will increase costs (input video duration is counted in billing)
  • Video URLs must be directly accessible by the server
Required array length: 1 - 10 elements
Example:
audio_urls
string<uri>[]

Reference audio URL array, optional; 1–10 clips when provided

Requirement: At least one of image_urls, video_urls, or audio_urls must be provided.

Role description:

Audio requirements:

  • Supported formats: .wav, .mp3
  • Duration per clip: 2 ~ 30 seconds, max 10 clips, total duration of all audio ≤ 30 seconds
  • Max size per clip: 15MB
  • Total request body size must not exceed 64MB, do not use Base64 encoding
  • Audio URLs must be directly accessible by the server
Required array length: 1 - 10 elements
Example:
duration
integer
default:5

Output video duration (seconds), defaults to 5 seconds

Details:

  • Supports any integer value between 430 seconds
  • -1: automatic duration, the model picks a length within 430 seconds and billing follows the actual output length
  • Duration directly affects billing

If the prompt is classified as a video edit task, only -1 is accepted; an explicit number of seconds makes the task fail later, with no error at submission

Example:

10

quality
enum<string>
default:720p

Video resolution, defaults to 720p

Options:

  • 480p: Lower clarity, lower cost
  • 720p: Standard clarity, this is the default
  • 1080p: Ultra HD clarity
Available options:
480p,
720p,
1080p
Example:

"720p"

aspect_ratio
enum<string>
default:adaptive

Video aspect ratio, defaults to adaptive

Options:

  • 16:9 (landscape), 9:16 (portrait), 1:1 (square), 4:3, 3:4, 21:9 (ultrawide)
  • adaptive: Determined based on prompt intent, priority: video > image > prompt

Pixel values per resolution:

If the prompt is classified as a video edit / extend task, only adaptive is accepted; a fixed ratio makes the task fail later, with no error at submission

Available options:
16:9,
9:16,
1:1,
4:3,
3:4,
21:9,
adaptive
Example:

"16:9"

generate_audio
boolean
default:true

Whether to generate synchronized audio, defaults to true

Options:

  • true: Video includes synchronized audio at no additional charge
  • false: Output silent video
Example:

true

content_filter
boolean
default:true

Content filter, enabled by default true

Options:

  • true: Standard content safety check, this is the default
  • false: Relaxes content restrictions, billed at +10% (1.1x). Illegal and prohibited content is always enforced regardless of this setting

Mutually exclusive with web search:

  • content_filter: false and model_params.web_search: true cannot be used together; sending both returns a 400 parameter error
  • Keep content_filter: true (the default) when web search is needed
Example:

true

output_format
enum<string>
default:mp4

Output container format, defaults to mp4

Options:

  • mp4: H.264 encoding with the best compatibility and standard color precision, this is the default
  • mov: H.264 + yuv444p chroma sampling + PCM audio for higher color fidelity, recommended for color grading, keying and compositing workflows. Browser inline playback may not support it; download and play with VLC / mpv / ffplay. No extra charge
Available options:
mp4,
mov
Example:

"mp4"

callback_url
string<uri>

HTTPS callback URL for task completion

Callback timing:

  • Triggered when the task is completed, failed, or cancelled
  • Sent after billing confirmation is complete

Security restrictions:

  • Only HTTPS protocol is supported
  • Callbacks to private IP addresses are prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters

Callback mechanism:

  • Timeout: 10 seconds
  • Up to 3 retries after failure (at 1/2/4 seconds after failure respectively)
  • Callback response body format is consistent with the task query endpoint response format
  • A 2xx status code is considered successful; other status codes trigger retries
Example:

"https://your-domain.com/webhooks/video-task-completed"

Response

Video generation task created successfully

created
integer

Task creation timestamp

Example:

1761313744

id
string

Task ID

Example:

"task-unified-1774857405-abc123"

model
string

Actual model name used

Example:

"seedance-2.5-reference-to-video"

object
enum<string>

Specific type of the task

Available options:
video.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed
Example:

"pending"

task_info
object

Video task details

type
enum<string>

Output type of the task

Available options:
text,
image,
audio,
video
Example:

"video"

usage
object

Usage and billing information