取消视频任务
取消一个进行中的视频生成任务。任务只有在仍在运行时才能取消——一旦进入终态(completed、failed、cancelled、expired)便无法再取消。
DELETE https://api.ofox.ai/v1/videos/{id}取消能力依赖上游 provider。Ofox 只在上游 provider 真正支持中断时才接受取消——绝不会通过在本地把任务标记为已取消、而上游仍在继续生成的方式制造假成功。无法中断运行中任务的 provider 会返回 400 cancel_not_supported。
请求
Terminal
curl -X DELETE https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"响应
取消成功返回 204 No Content,响应体为空。
HTTP/1.1 204 No Content取消成功后,任务的 status 变为 cancelled。此时轮询 GET /v1/videos/{id} 会返回 cancelled 终态;若创建任务时登记了 callback_url,还会收到 video.generation.cancelled webhook。
取消行为
能否取消取决于任务当前状态,以及上游 provider 是否支持中断:
| 任务状态 | 行为 | 响应 |
|---|---|---|
pending(尚未提交上游) | 本地取消 | 204 |
queued / in_progress,provider 支持中断 | 调用上游取消,成功后标记为已取消 | 204 |
queued / in_progress,provider 不支持中断 | 拒绝(不假成功) | 400 cancel_not_supported |
| 已处于终态 | 拒绝 | 400 cancel_failed |
| 不存在 / 不属于当前 key | 统一响应(防止存在性泄露) | 404 not_found |
不存在的任务与属于其他 API Key 的任务返回相同的 404 not_found,因此响应不会泄露某个任务 id 是否存在。
错误
| HTTP | code | 含义 |
|---|---|---|
400 | cancel_not_supported | 上游 provider 不支持中断正在运行的任务 |
400 | cancel_failed | 任务已处于终态,无法取消 |
404 | not_found | 任务不存在,或不属于当前 API Key |
错误使用统一错误结构:
{
"error": {
"code": "cancel_not_supported",
"message": "The upstream provider for this task does not support cancellation."
}
}Last updated on