Webhooks(回调 URL)
当视频生成任务完成、失败或被取消时,通过 HTTP POST 接收实时通知,无需轮询任务状态接口。
设置回调
在生成请求中包含 callback_url:
import requests
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": "A sunset over the ocean, cinematic wide shot",
"quality": "1080p",
"callback_url": "https://yourapp.com/api/video-callback"
}
)
回调载荷
当任务完成(或失败)时,系统会向您的 callback_url 发送 POST 请求。响应体格式与任务查询 API 的响应完全一致:
已完成
{
"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
}
}
回调时机
- 当任务状态变为已完成、失败或已取消时触发
- 在计费确认完成后发送
回调要求
| 要求 | 详情 |
|---|---|
| 协议 | 仅限 HTTPS |
| 超时 | 您的接口必须在 10 秒 内响应 |
| 成功确认 | 返回 2xx 状态码以确认收到 |
| 重试 | 失败后最多 重试 3 次(间隔 1 秒、2 秒、4 秒) |
| URL 长度 | 最多 2048 个字符 |
| 网络 | 禁止使用内网/私有 IP(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x) |