비디오 취소
진행 중인 비디오 생성 작업을 취소합니다. 작업은 아직 실행 중일 때만 취소할 수 있습니다. terminal state(completed, failed, cancelled, expired)에 도달하면 더 이상 취소할 수 없습니다.
DELETE https://api.ofox.ai/v1/videos/{id}취소 가능 여부는 업스트림 공급자에 따라 달라집니다. Ofox는 업스트림 공급자가 실제로 중단을 지원할 때만 취소 요청을 수락합니다. 업스트림에서는 계속 생성 중인데 로컬에서만 작업을 취소된 것으로 표시하는 가짜 성공은 보고하지 않습니다. 실행 중인 작업을 중단할 수 없는 공급자는 400 cancel_not_supported를 반환합니다.
요청
curl -X DELETE https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"응답
성공한 취소는 빈 body와 함께 204 No Content를 반환합니다.
HTTP/1.1 204 No Content성공적으로 취소된 뒤 작업의 status는 cancelled가 됩니다. 이후 GET /v1/videos/{id}를 폴링하면 cancelled terminal state가 반환되며, callback_url을 등록한 경우 video.generation.cancelled webhook도 수신합니다.
취소 동작
취소가 수락되는지는 작업의 현재 상태와 업스트림 공급자의 중단 지원 여부에 따라 달라집니다:
| 작업 상태 | 동작 | 응답 |
|---|---|---|
pending(아직 업스트림에 제출되지 않음) | 로컬에서 취소됨 | 204 |
queued / in_progress, 공급자가 중단을 지원함 | 업스트림 취소를 호출하고, 성공 시 작업을 cancelled로 표시 | 204 |
queued / in_progress, 공급자가 중단을 지원하지 않음 | 거부됨(가짜 성공 없음) | 400 cancel_not_supported |
| 이미 terminal state | 거부됨 | 400 cancel_failed |
| 찾을 수 없음 / 사용자의 key 소유가 아님 | 통합 응답(존재 여부 노출 방지) | 404 not_found |
존재하지 않는 작업과 다른 API key가 소유한 작업은 동일하게 404 not_found를 반환하므로, 응답은 주어진 task id가 존재하는지 여부를 절대 드러내지 않습니다.
에러
| HTTP | code | 의미 |
|---|---|---|
400 | cancel_not_supported | 업스트림 공급자가 실행 중인 작업 중단을 지원하지 않음 |
400 | cancel_failed | 작업이 이미 terminal state라 취소할 수 없음 |
404 | not_found | 작업이 존재하지 않거나 사용자의 API key 소유가 아님 |
에러는 공유 error object를 사용합니다:
{
"error": {
"code": "cancel_not_supported",
"message": "The upstream provider for this task does not support cancellation."
}
}전체 코드는 에러 레퍼런스를 참조하세요. DELETE에는 GET에 적용되는 polling rate limit이 적용되지 않습니다. 자세한 내용은 비디오 상태 조회를 참조하세요.