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

This page combines the parameters of all modes. Required fields, accepted values, and defaults depend on the selected model; differences are listed by mode below.

model
enum<string>
required

Video generation model name

Available options:
seedance-2.5-text-to-video,
seedance-2.5-image-to-video,
seedance-2.5-reference-to-video,
seedance-2.5-video-edit,
seedance-2.5-video-extend,
seedance-2.5-draft-to-video
Example:

"seedance-2.5-text-to-video"

prompt
string

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Text-to-Video

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

Note:

  • This model is text-to-video only and does not support image_urls, video_urls, or audio_urls input

Image-to-Video

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

Note:

  • This model does not support video_urls or audio_urls input

Reference-to-Video

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"

Video Edit

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

Details:

  • The prompt must state the editing intent, e.g., "Edit the video: remove the background music of @video1"
  • You can use natural language to specify the purpose of each material, e.g., "replace the character in @video1 with the person in @image1"
  • The model will automatically understand the correspondence between material numbers and their intended uses

Video Extend

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

Details:

  • The prompt must state the extension intent, e.g., "Extend @video1 backward, the character walks out of the frame"
  • You can use natural language to specify the purpose of each material, e.g., "extend @video1 forward following the style of @image1"
  • The model will automatically understand the correspondence between material numbers and their intended uses
Example:

"A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically."

source_task_id
string

Applies only to: Draft-to-Video

Task ID of a completed Seedance 2.5 draft

Where to find it: The id field returned when creating a draft (draft: true)

Requirements:

  1. The task must belong to the current account
  2. The task must use one of the five Seedance 2.5 generation models
  3. The task must have been created with draft: true
  4. The task status must be completed
  5. The current time must be earlier than draft_expires_at in the task query response
Example:

"task-unified-1774857405-abc123"

image_urls
string<uri>[]

Applies only to: Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Image-to-Video

Image URL array, 1–2 images

Image count and behavior:

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
  • When providing first and last frames, both images can be identical. If aspect ratios differ, the first frame takes priority and the last frame will be automatically cropped to fit
  • Image URLs must be directly accessible by the server

Reference-to-Video

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

Video Edit

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

Requirement: video_urls is required for this model; images are optional supplementary references.

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

Video Extend

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

Requirement: video_urls is required for this model; images are optional supplementary references.

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>[]

Applies only to: Reference-to-Video, Video Edit, Video Extend

Reference-to-Video

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

Video Edit

Input video URL array, required; 1–10 videos

Requirement: At least 1 video required — the video to edit. The first video is the video being edited; additional videos serve as references.

Role description:

Video requirements:

  • Supported formats: .mp4, .mov
  • Resolution: 480p, 720p, 1080p, 4K
  • Duration per video: 4 ~ 30 seconds (the first video is the edit target), 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

Video Extend

Input video URL array, required; 1–10 videos

Requirement: At least 1 video required — the video to extend. The first video is the video being extended; additional videos serve as references.

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>[]

Applies only to: Reference-to-Video, Video Edit, Video Extend

Reference-to-Video

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

Video Edit / Video Extend

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

Requirement: video_urls is required for this model; audio clips are optional supplementary references.

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

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Text-to-Video / Image-to-Video

Video duration (seconds), defaults to 5 seconds

Details:

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

Reference-to-Video

Output video duration (seconds), defaults to 5 seconds

Details:

  • Supports any integer value between 4–30 seconds
  • -1: automatic duration, the model picks a length within 4–30 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

Video Edit

Output video duration (seconds), defaults to -1

Details:

  • Only -1 is supported: the output length follows the input video (may be up to 0.4s shorter)
  • Custom durations are rejected
  • Duration directly affects billing

Video Extend

Output video duration (seconds), defaults to 5 seconds

Details:

  • Supports any integer value between 4–30 seconds
  • -1: automatic duration, settled by actual output length
  • Duration directly affects billing
Example:

8

quality
enum<string>
default:720p

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Video resolution, defaults to 720p

Options:

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

Draft mode: When draft is true, only 480p is supported. If omitted, quality automatically defaults to 480p

Available options:
480p,
720p,
1080p
Example:

"720p"

draft
boolean
default:false

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Draft mode switch, defaults to false

Details:

  • true: Generate a 480p draft first, with faster turnaround and standard 480p billing
  • When enabled, quality must be 480p or omitted. Any other resolution returns a 400 parameter error
  • Must be a top-level request body field. Placing it inside model_params returns a 400 parameter error

Convert to a final video:

  • Once the draft is complete, querying the task returns draft_expires_at
  • Before that time, pass the draft task ID to Seedance 2.5 Draft-to-Video to generate a 1080p final video with the same content
  • The final video and draft are billed separately. If you are not satisfied with the draft, skip conversion and pay only for the draft
  • The default validity period is 24 hours after the draft completes; the actual deadline is draft_expires_at. Submit the conversion request early: expiration while queued also causes conversion to fail

Temporary unavailability: A 503 error may be returned when the service is temporarily unavailable. If the error code is draft_unavailable, retry later or remove draft to use normal generation mode

Example:

false

aspect_ratio
enum<string>
default:adaptive

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Text-to-Video

Video aspect ratio, defaults to adaptive

Options:

  • 16:9 (landscape), 9:16 (portrait), 1:1 (square), 4:3, 3:4, 21:9 (ultrawide)
  • adaptive: The model intelligently selects the best aspect ratio based on the prompt

Pixel values per resolution:

Image-to-Video

Video aspect ratio, image-to-video only supports adaptive

Options:

  • adaptive: Automatically selects the closest aspect ratio based on the first-frame image proportions, the only value this model accepts
  • Fixed ratios such as 16:9 or 9:16 cannot be specified for this model

Reference-to-Video

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

Video Edit / Video Extend

Video aspect ratio, defaults to adaptive

Options:

  • adaptive: the output ratio follows the first input video, the only value this model accepts
  • Fixed ratios such as 16:9 or 9:16 are rejected
Available options:
16:9,
9:16,
1:1,
4:3,
3:4,
21:9,
adaptive
Example:

"16:9"

generate_audio
boolean
default:true

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

Text-to-Video

Whether to generate synchronized audio, defaults to true

Options:

  • true: Video includes synchronized audio (voice, sound effects, background music) at no additional charge. It is recommended to place dialogue within double quotes to optimize audio generation
  • false: Output silent video

Image-to-Video / Reference-to-Video / Video Edit / Video Extend

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

Applies only to: Text-to-Video, Image-to-Video, Reference-to-Video, Video Edit, Video Extend

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

Text-to-Video / Image-to-Video / Reference-to-Video / Video Edit / Video Extend

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

Draft-to-Video

Output container format, defaults to mp4

Options:

  • mp4: Default container format. This endpoint outputs 1080p video with 10-bit color depth and H.265/HEVC encoding. Playback requires support for 10-bit HEVC; H.264-only players may not play it
  • 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

The draft's output format is not inherited. Specify mov here if required

Available options:
mp4,
mov
Example:

"mp4"

model_params
object

Applies only to: Text-to-Video

Model extension parameters

callback_url
string<uri>

HTTPS callback URL for task completion

Callback timing:

  • Triggered when the task is completed or failed
  • 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-text-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