概览
创建任务时传入 callback_url,任务进入终态后,平台向该地址发送 HTTP POST JSON。地址必须是公网可访问的 HTTPS,不能填本机或内网地址;通知不跟随重定向。
"callback_url": "https://your-domain.example/mass/task-result"通知内容与字段
Seedance 通知体直接使用任务查询对象,任务 ID 位于 id,结果为 content.video_url,时间为 Unix 秒。不包裹 data;按 X-MASS-Webhook-Id 请求头去重。
{
"id": "job_example",
"model": "doubao-seedance-2-5-260628",
"status": "succeeded",
"content": {
"video_url": "https://your-mass-domain.example/v1/results/job_example?expires=...\u0026token=..."
},
"created_at": 1789444680,
"updated_at": 1789444800,
"error": null,
"resolution": "720p",
"duration": 5,
"framespersecond": 24,
"generate_audio": true,
"output_format": "mp4",
"ratio": "16:9",
"execution_expires_after": 172800,
"usage": {
"completion_tokens": 108000,
"total_tokens": 108000
}
}Wan 与超分通知
{
"id": "evt_example",
"type": "video_task.succeeded",
"created_at": "2026-09-15T04:00:00Z",
"data": {
"id": "job_example",
"type": "video_generation",
"status": "succeeded",
"model": "seedance-2.5",
"resolution": "720p",
"output": {
"video_url": "https://your-mass-domain.example/v1/results/job_example?expires=...\u0026token=...",
"expires_at": "2026-09-16T04:00:00Z"
},
"error": null,
"created_at": "2026-09-15T03:58:00Z",
"updated_at": "2026-09-15T04:00:00Z",
"completed_at": "2026-09-15T04:00:00Z"
}
}通知顶层字段:id(string,事件 ID)、type(string,事件类型)、created_at(string,ISO 8601 UTC 事件时间)、data(object,统一任务对象)。事件类型为 video_task.succeeded、video_task.failed 或 video_task.cancelled。data 使用任务查询的公开结构,取消或失败时不包含可下载结果。
请求头与事件去重
请求头包含 Content-Type: application/json 与 X-MASS-Webhook-Id;兼容头 X-HD-Webhook-Id 值相同。Seedance 按请求头 X-MASS-Webhook-Id 去重;Wan / 超分也可按事件 id 去重,任务 ID 位于 data.id。
确认接收与重投
接收端持久化事件后及时返回 HTTP 2xx,再异步处理自己的业务。单次超时 10 秒;非 2xx 或网络失败时自动投递最多 5 次,每次失败后依次等待约 1 分钟、5 分钟、30 分钟、2 小时。人工补发可能产生额外投递。通知失败不会改变任务结果或重新生成、重复扣费。
核实通知结果
无需额外配置签名密钥。需要确认通知真伪时,使用创建任务的 API Key 调用任务查询 API,以查询结果为准。不要仅凭未核实的通知触发重要业务操作。