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-draft-to-video",
"source_task_id": "task-unified-1774857405-abc123"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-draft-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 0
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}Seedance 2.5 Draft-to-Video
- Convert a completed Seedance 2.5 draft (a task created with
draft: true) into a 1080p final video with the same content - Only four fields are accepted:
model,source_task_id,output_format, andcallback_url. The prompt, assets, duration, aspect ratio, seed, and audio settings are all reused from the draft. Do not send them again; any other field returns a 400 parameter error - Submit the conversion request before the draft’s
draft_expires_at. The default validity period is 24 hours after the draft completes; use the actualdraft_expires_atreturned by the task query as the deadline - Expiration is checked both when the request is accepted and before generation is submitted. If the draft expires while queued, the conversion task fails and its charge is refunded. Allow time for queuing
- The same draft can be converted multiple times before it expires; each conversion is billed separately
- Asynchronous processing mode: use the returned task ID to query status. The query response includes
source_task_id - Generated video links are valid for 24 hours; save them promptly
Billing rules:
- Billed separately from the draft, always at the
1080prate - The output duration is the actual output duration recorded for the source draft. If that value is unavailable, the effective output duration recorded for the source task is used
- Without video input, the billable duration is the output duration. With video input (including Reference-to-Video, Video Edit, and Video Extend), it is
output duration + max(input video duration, output duration), rounded up to the next 0.1 second - If content filtering was disabled for the draft (
content_filter: false), the final video is also billed at +10% (1.1x) - If conversion fails, the conversion charge is refunded; the draft charge is not refunded
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-draft-to-video",
"source_task_id": "task-unified-1774857405-abc123"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-draft-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 0
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}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
Video generation model name
seedance-2.5-draft-to-video "seedance-2.5-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:
- The task must belong to the current account
- The task must use one of the five Seedance 2.5 generation models
- The task must have been created with
draft: true - The task status must be
completed - The current time must be earlier than
draft_expires_atin the task query response
"task-unified-1774857405-abc123"
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
The draft's output format is not inherited. Specify mov here if required
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
Final video conversion task created successfully
Task creation timestamp
1761313744
Task ID
"task-unified-1774857405-abc123"
Actual model name used
"seedance-2.5-draft-to-video"
Specific type of the task
video.generation.task Task progress percentage (0-100)
0 <= x <= 1000
Task status
pending, processing, completed, failed "pending"
Video task details
Show child attributes
Show child attributes
Output type of the task
text, image, audio, video "video"
Usage and billing information
Show child attributes
Show child attributes