Async Tasks
All video generation requests are processed asynchronously. The generation endpoint returns a task id immediately. Use the task query endpoint to poll for completion, or configure a callback_url for real-time notifications.
GET https://api.evolink.ai/v1/tasks/{task_id}
| Parameter | Type | Required | Description |
|---|
task_id | string | Yes | The task ID returned from the generation endpoint |
{
"id": "task-unified-1756817821-4x3rx6ny",
"object": "video.generation.task",
"created": 1756817821,
"model": "seedance-2.0",
"status": "pending",
"progress": 0,
"type": "video",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 5
}
}
{
"id": "task-unified-1756817821-4x3rx6ny",
"object": "video.generation.task",
"created": 1756817821,
"model": "seedance-2.0",
"status": "processing",
"progress": 65,
"type": "video",
"task_info": {
"can_cancel": true
}
}
{
"id": "task-unified-1756817821-4x3rx6ny",
"object": "video.generation.task",
"created": 1756817821,
"model": "seedance-2.0",
"status": "completed",
"progress": 100,
"results": [
"https://cdn.example.com/videos/task-unified-1756817821-4x3rx6ny.mp4"
],
"type": "video",
"task_info": {
"can_cancel": false
}
}
{
"id": "task-unified-1756817821-4x3rx6ny",
"object": "video.generation.task",
"created": 1756817821,
"model": "seedance-2.0",
"status": "failed",
"progress": 0,
"type": "video",
"task_info": {
"can_cancel": false
}
}
| Field | Type | Description |
|---|
id | string | Task ID |
object | string | Task type: video.generation.task |
created | integer | Task creation Unix timestamp |
model | string | Model used |
status | string | Current task status (see below) |
progress | integer | Completion percentage (0–100) |
results | array | Array of video URLs (only present when completed) |
type | string | Output type (video) |
task_info.can_cancel | boolean | Whether the task can still be cancelled |
| Status | Description |
|---|
pending | Task queued, waiting to start |
processing | Video is being generated |
completed | Video ready — check results array for URLs |
failed | Generation failed |
- Poll every 5 seconds for optimal balance
- Typical generation time varies by duration and quality settings
- For production use, prefer Webhooks via
callback_url over polling - Video URLs are valid for 24 hours — download and save them promptly
- Webhooks — Real-time completion notifications via
callback_url - Error Codes — Handle failure scenarios