取消影片任務
取消一個進行中的影片生成任務。任務只有在仍在執行時才能取消——一旦進入終態(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