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-video-extend
required

Video generation model name

Available options:
seedance-2.5-video-extend
Example:

"seedance-2.5-video-extend"

prompt
string
required

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:

"Extend @video1 backward: the character walks out of the frame, the camera slowly pulls back to reveal the empty street"

video_urls
string<uri>[]
required

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 upstream 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:
image_urls
string<uri>[]

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:
audio_urls
string<uri>[]

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
default:5

Output video duration (seconds), defaults to 5 seconds

Details:

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

12

quality
enum<string>
default:720p

Video resolution, defaults to 720p

Options:

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

"720p"

aspect_ratio
enum<string>
default:adaptive

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:
adaptive
Example:

"adaptive"

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
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-video-extend"

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