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) |