Skip to main content
POST
/
v1
/
videos
/
generations
seedance-2.0 API
curl --request POST \
  --url https://api.evolink.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "seedance-2.0",
  "prompt": "@Image1 as first frame, a cinematic drone shot over a coastal city at golden hour",
  "image_urls": [
    "https://example.com/ref1.jpg",
    "https://example.com/ref2.jpg"
  ],
  "video_urls": [
    "https://example.com/reference.mp4"
  ],
  "audio_urls": [
    "https://example.com/reference.mp3"
  ],
  "duration": 10,
  "quality": "1080p",
  "aspect_ratio": "16:9",
  "generate_audio": true
}
'
{
  "created": 1761313744,
  "id": "task-unified-1761313744-vux2jw0k",
  "model": "seedance-2.0",
  "object": "video.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 165,
    "video_duration": 8
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 8,
    "user_group": "default"
  }
}
This model is not yet available. API parameters may be adjusted before official release. Please refer to the actual behavior after launch.

Authorizations

Authorization
string
header
required

##All APIs require Bearer Token authentication##

Get API Key:

Visit API Key Management Page to get your API Key

Add to request header:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
default:seedance-2.0
required

Video generation model name

Available options:
seedance-2.0
Example:

"seedance-2.0"

prompt
string
required

Prompt describing the video you want to generate, limited to 2000 tokens. Use @-references to assign roles to uploaded files

@-Reference Tags:

  • @Image1, @Image2... → images from image_urls (in order)
  • @Video1, @Video2... → videos from video_urls (in order)
  • @Audio1, @Audio2... → audios from audio_urls (in order)
  • Example: @Image1 as first frame, replicate @Video1 camera movement, @Audio1 for BGM rhythm
Maximum string length: 2000
Example:

"@Image1 as first frame, a cinematic drone shot over a coastal city at golden hour"

image_urls
string<uri>[]

Reference image URL list for image-to-video and multimodal generation

Note:

  • Up to 9 images per request
  • Max size: 30MB per image
  • Supported file formats: .jpeg, .png, .webp, .bmp, .tiff, .gif
  • Mixed input total limit: 12 files across all modalities
  • Realistic human face uploads are not supported and will be automatically rejected
  • Image URLs must be directly accessible by the server
Maximum array length: 9
Example:
["https://example.com/image.jpg"]
video_urls
string<uri>[]

Reference video URL list for video-to-video editing and @-reference system

Note:

  • Up to 3 videos per request, total duration 2–15 seconds
  • Max size: 50MB per video
  • Supported file formats: .mp4, .mov
  • Pixel range: 409,600 (480p) – 927,408 (720p)
  • Using video references will increase cost
  • Realistic human face uploads are not supported and will be automatically rejected
  • URLs must be directly accessible by the server
Maximum array length: 3
Example:
["https://example.com/reference.mp4"]
audio_urls
string<uri>[]

Reference audio URL list for audio-driven generation via @-reference system

Note:

  • Up to 3 audio tracks per request, total duration ≤ 15 seconds
  • Max size: 15MB per audio
  • Supported file formats: .mp3, .wav
  • Aligns cuts, motion energy, and transitions to beat and rhythm
  • URLs must be directly accessible by the server
Maximum array length: 3
Example:
["https://example.com/reference.mp3"]
duration
integer

Specifies the duration of the generated video (in seconds), defaults to 5 seconds

Note:

  • Supports any integer value between 4 and 15 seconds
  • Billing for a single request is based on the duration value; longer durations result in higher costs
Required range: 4 <= x <= 15
quality
enum<string>

Video resolution, defaults to 720p

Note:

  • 480p: Lower resolution, lower pricing
  • 720p: Standard definition, standard pricing, this is the default value
  • 1080p: High definition, higher pricing
Available options:
480p,
720p,
1080p
Example:

"720p"

aspect_ratio
string

Video aspect ratio

Supported values:

  • 16:9 (landscape), 9:16 (portrait), 1:1 (square), 4:3, 3:4, 21:9 (ultra-wide), adaptive
  • Default value: 16:9
Example:

"16:9"

generate_audio
boolean
default:true

Whether to generate audio, enabling will increase cost, defaults to true

Options:

  • true: Model output video includes synchronized audio. Seedance 2.0 can automatically generate matching voice, sound effects, and background music based on text prompts and visual content. It is recommended to place dialogue within double quotes to optimize audio generation. Example: The man stopped the woman and said: "Remember, you must never point at the moon with your finger."
  • false: Model output video is silent
Example:

true

callback_url
string<uri>

HTTPS callback URL after task completion

Callback timing:

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

Security restrictions:

  • Only HTTPS protocol is supported
  • Callbacks to internal network 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
  • Maximum of 3 retries after failure (retries occur after 1/2/4 seconds following failure)
  • Callback response body format is consistent with task query API response format
  • Callback URL returning 2xx status code is considered successful; other status codes will 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-1761313744-vux2jw0k"

model
string

Actual model name used

Example:

"seedance-2.0"

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 detailed information

type
enum<string>

Output type of the task

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

"video"

usage
object

Usage and billing information