비디오 상태 조회
GET https://api.ofox.io/v1/videos/{id}작업의 상태와 결과를 조회합니다. 작업 생성 후 status가 terminal state인 completed, failed, cancelled, expired 중 하나가 될 때까지 이 엔드포인트를 폴링하세요.
curl https://api.ofox.io/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"속도 제한
이 엔드포인트는 API key별로 속도 제한이 적용됩니다(기본 5 req/s, burst 20). 제한을 초과한 요청은 Retry-After: 1 header와 함께 429 rate_limited를 반환합니다. 생성(POST)과 취소(DELETE)에는 이 제한이 적용되지 않습니다.
초당 한 번보다 빠르게 폴링하지 마세요. 폴링 대신 webhook을 받으려면 작업 생성 시 callback_url을 전달하세요.
응답
완료
{
"id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718",
"status": "completed",
"model": "bytedance/seedance-2.5",
"prompt": "A golden retriever running on the beach at sunset",
"unsigned_urls": ["https://upstream.example/out.mp4"],
"mirror_urls": ["https://cdn.ofox.io/videos/vgen_xxx.mp4?sig=..."],
"usage": {
"video_seconds": 5,
"video_cost": "0.4000000000"
},
"created_at": 1776211362,
"updated_at": 1776211400
}Timeout은 status: "failed"와 expired로 설정된 error.code로 보고됩니다. 전체 error code 목록은 에러 코드를 참조하세요.
Video object
State machine
OpenRouter naming을 기반으로 하고 cancelled / expired를 확장한 7개 상태입니다.
Transitions: pending → queued → in_progress → completed가 성공 경로입니다. 모든 non-terminal state는 failed, cancelled, expired로 이동할 수 있습니다.
Video URLs
성공한 작업은 모델 공급자의 CDN mirroring 활성화 여부에 따라 두 종류의 URL 세트를 반환할 수 있습니다.
mirror_urls(영구적이고 안정적)사용을 권장합니다. 모델이 unsigned_urls만 반환하는 경우, 업스트림 임시 주소가 만료되기 전에 파일을 즉시 다운로드하거나 다시 호스팅하세요.