curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-flash-text-to-video",
"prompt": "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.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-flash-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-flash-text-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}Seedance 2.5 Flash Complete Parameter Guide
Complete parameter reference for Seedance 2.5 Flash. Use model to select a model in this folder. Required fields, input requirements, and billing rules are listed for each mode.
Draft limitation: Seedance 2.5 Flash does not support draft: true or draft-to-final conversion.
Text-to-video web search: model_params.web_search: true cannot be combined with content_filter: false; sending both returns a 400 parameter error. Keep content_filter: true (the default) when web search is needed.
| Model ID | Mode | Required fields (excluding model) |
|---|---|---|
seedance-2.5-flash-text-to-video | Text-to-Video | prompt |
seedance-2.5-flash-image-to-video | Image-to-Video | prompt, image_urls |
seedance-2.5-flash-reference-to-video | Reference-to-Video | prompt |
seedance-2.5-flash-video-edit | Video Edit | prompt, video_urls |
seedance-2.5-flash-video-extend | Video Extend | prompt, video_urls |
Text-to-Video
- Generate videos from text prompts, supports web search for enhanced timeliness
Image-to-Video
- Input 1 image for first-frame video generation, input 2 images for first-last-frame video generation, the model determines automatically
Reference-to-Video
- Generate video from a text prompt with optional reference images (0–10), videos (0–5), and audio clips (0–5). References may be omitted entirely, and audio-only reference input is supported.
- Best suited for generating new footage: images, videos, and audio act as style, subject, camera-movement, and soundtrack references
- To rewrite or continue an existing video, switch to Video Edit / Video Extend: once this model’s prompt carries an editing or extension intent, the request is validated as an edit / extend task — it is accepted without an error and the task only fails while it runs
Video Edit
- Video editing on an input video — replace subjects, add/remove objects, restyle or repaint regions
- Describe the change directly in the prompt, e.g. “Remove all passers-by in @video1, keep only the main character”
- Input the video to edit (required) + optional reference images (0–10) + reference videos (up to 5 in total) + reference audio (0–5)
Video Extend
-
Extend an input video forward or backward
-
Prompt must state the extension intent (e.g. “Extend @video1 backward, the character walks out of the frame”)
-
Input the video to extend (required) + optional reference images (0–10) + reference videos (up to 5 in total) + reference audio (0–5)
-
Now supports AIGC realistic human materials
-
Asynchronous processing mode, use the returned task ID to query status
-
Generated video links are valid for 24 hours, please save them promptly
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-flash-text-to-video",
"prompt": "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.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-flash-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-flash-text-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}Authorizations
##All endpoints require Bearer Token authentication##
Get API Key:
Visit the API Key Management Page to obtain your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY
Body
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.
Video generation model name
| Model ID | Mode | Required fields (excluding model) |
|---|---|---|
seedance-2.5-flash-text-to-video | Text-to-Video | prompt |
seedance-2.5-flash-image-to-video | Image-to-Video | prompt, image_urls |
seedance-2.5-flash-reference-to-video | Reference-to-Video | prompt |
seedance-2.5-flash-video-edit | Video Edit | prompt, video_urls |
seedance-2.5-flash-video-extend | Video Extend | prompt, video_urls |
seedance-2.5-flash-text-to-video, seedance-2.5-flash-image-to-video, seedance-2.5-flash-reference-to-video, seedance-2.5-flash-video-edit, seedance-2.5-flash-video-extend "seedance-2.5-flash-text-to-video"
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, oraudio_urlsinput
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_urlsoraudio_urlsinput
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@audio1instead 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_urlsitem is@image1, the firstvideo_urlsitem is@video1, and the firstaudio_urlsitem 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_ratiomust beadaptive, and for video editingdurationmust be-1; otherwise the request is accepted without an error and the task later turnsfailedwith error codeInvalidParameter.TaskTypeConstraint. The pre-authorized quota is refunded, but the waiting time is wasted - If you really need editing / extension, use
seedance-2.5-flash-video-editorseedance-2.5-flash-video-extendinstead: 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
"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."
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 Count | Behavior | Role |
|---|---|---|
| 1 image | First-frame image-to-video | Automatically set as first_frame |
| 2 images | First-last-frame image-to-video | 1st image → first_frame, 2nd image → last_frame |
Image requirements:
- Supported formats:
.jpeg,.png,.webp - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Reference-to-Video
Reference image URL array, optional; 1–10 images when provided
Optional references: image_urls, video_urls, and audio_urls may all be omitted. Providing only audio_urls is also supported.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Image | reference_image | Style reference, product image, first/last frame (specified via prompt) |
Image requirements:
- Supported formats:
.jpeg,.png,.webp - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Video Edit
Reference image URL array, optional; 1–10 images when provided
Requirement: video_urls is required for this model; images are optional supplementary references.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Image | reference_image | Style reference, product image, replacement subject (specified via prompt) |
Image requirements:
- Supported formats:
.jpeg,.png,.webp - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Video Extend
Reference image URL array, optional; 1–10 images when provided
Requirement: video_urls is required for this model; images are optional supplementary references.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Image | reference_image | Style reference, product image, scene reference (specified via prompt) |
Image requirements:
- Supported formats:
.jpeg,.png,.webp - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
10["https://example.com/first-frame.jpg"]
Applies only to: Reference-to-Video, Video Edit, Video Extend
Reference-to-Video
Reference video URL array, optional; 1–5 videos when provided
Optional references: image_urls, video_urls, and audio_urls may all be omitted. Providing only audio_urls is also supported.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Video | reference_video | Camera movement reference, motion reference, original video for editing/extension |
Video requirements:
- Supported formats:
.mp4,.mov - Resolution: 480p, 720p, 1080p, 4K
- Duration per video:
2~30seconds, max 5 videos, total duration of all videos ≤30seconds - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - Frame pixels (width × height):
409,600~8,295,044(e.g., 640×640 ~ 3326×2494) - Max size per video:
200MB - Frame rate:
24~60FPS - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Video Edit
Input video URL array, required; 1–5 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:
| Media Type | Role | Typical Usage |
|---|---|---|
| Video | reference_video | The video to edit (first video), camera movement or motion reference (additional videos) |
Video requirements:
- Supported formats:
.mp4,.mov - Resolution: 480p, 720p, 1080p, 4K
- Duration per video:
4~30seconds (the first video is the edit target), max 5 videos, total duration of all videos ≤30seconds - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - Frame pixels (width × height):
409,600~8,295,044(e.g., 640×640 ~ 3326×2494) - Max size per video:
200MB - Frame rate:
24~60FPS - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Video Extend
Input video URL array, required; 1–5 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:
| Media Type | Role | Typical Usage |
|---|---|---|
| Video | reference_video | The video to extend (first video), camera movement or motion reference (additional videos) |
Video requirements:
- Supported formats:
.mp4,.mov - Resolution: 480p, 720p, 1080p, 4K
- Duration per video:
2~30seconds, max 5 videos, total duration of all videos ≤30seconds - Aspect ratio (width/height):
0.4~2.5 - Width/height pixels:
300~6000px - Frame pixels (width × height):
409,600~8,295,044(e.g., 640×640 ~ 3326×2494) - Max size per video:
200MB - Frame rate:
24~60FPS - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
5["https://example.com/reference.mp4"]
Applies only to: Reference-to-Video, Video Edit, Video Extend
Reference-to-Video
Reference audio URL array, optional; 1–5 clips when provided
Optional references: image_urls, video_urls, and audio_urls may all be omitted. Providing only audio_urls is also supported.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Audio | reference_audio | Background music, sound effects, voice/dialogue reference |
Audio requirements:
- Supported formats:
.wav,.mp3 - Duration per clip:
2~30seconds, max 5 clips, total duration of all audio ≤30seconds - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
Video Edit / Video Extend
Reference audio URL array, optional; 1–5 clips when provided
Requirement: video_urls is required for this model; audio clips are optional supplementary references.
Role description:
| Media Type | Role | Typical Usage |
|---|---|---|
| Audio | reference_audio | Background music, sound effects, voice/dialogue reference |
Audio requirements:
- Supported formats:
.wav,.mp3 - Duration per clip:
2~30seconds, max 5 clips, total duration of all audio ≤30seconds - 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
Media addresses: Publicly accessible HTTP(S) URLs and asset:// media IDs accessible to the selected upstream account are supported.
5["https://example.com/bgm.mp3"]
Text-to-Video / Image-to-Video
Video duration (seconds), defaults to 5 seconds
Details:
- Supports any integer value between
4–30seconds -1: automatic duration, the model picks a length within4–30seconds 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–30seconds -1: automatic duration, the model picks a length within4–30seconds 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
-1is 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–30seconds -1: automatic duration, settled by actual output length- Duration directly affects billing
-1 8
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:
| Aspect Ratio | 480p | 720p |
|---|---|---|
| 16:9 | 854×480 | 1280×720 |
| 4:3 | 752×560 | 1112×834 |
| 1:1 | 640×640 | 960×960 |
| 3:4 | 560×752 | 834×1112 |
| 9:16 | 480×854 | 720×1280 |
| 21:9 | 992×432 | 1470×630 |
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:9or9:16cannot 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:
| Aspect Ratio | 480p | 720p |
|---|---|---|
| 16:9 | 854×480 | 1280×720 |
| 4:3 | 752×560 | 1112×834 |
| 1:1 | 640×640 | 960×960 |
| 3:4 | 560×752 | 834×1112 |
| 9:16 | 480×854 | 720×1280 |
| 21:9 | 992×432 | 1470×630 |
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:9or9:16are rejected
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive "16:9"
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 generationfalse: 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 chargefalse: Output silent video
true
Content filter, enabled by default true
Options:
true: Standard content safety check, this is the defaultfalse: 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: falseandmodel_params.web_search: truecannot be used together; sending both returns a 400 parameter error- Keep
content_filter: true(the default) when web search is needed
true
Output container format, defaults to mp4
Options:
mp4: H.264 encoding with the best compatibility and standard color precision, this is the defaultmov: 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
mp4, mov "mp4"
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
2048characters
Callback mechanism:
- Timeout:
10seconds - Up to
3retries after failure (at1/2/4seconds 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
"https://your-domain.com/webhooks/video-task-completed"
Response
Video generation task created successfully