動画ステータスの取得
GET https://api.ofox.io/v1/videos/{id}タスクのステータスと結果を照会します。タスクを作成 した後、status が終端状態(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)はこの制限の対象外です。
ポーリングは1秒に1回以下にしてください。または、タスク作成時に callback_url を指定すると、ポーリングの代わりに webhook を受け取れます。
レスポンス
完了
{
"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
}タイムアウトは status: "failed" として報告され、error.code は expired に設定されます。エラーコードの全一覧は Error codes をご覧ください。
Video object
State machine
OpenRouter の命名をベースに、cancelled / expired を拡張した7つの状態です。
遷移:pending → queued → in_progress → completed が成功パスです。任意の非終端状態は failed、cancelled、または expired に遷移できます。
Video URLs
成功したタスクは、モデルのプロバイダーでCDNミラーが有効かどうかに応じて、2種類のURLセットを返す場合があります。
mirror_urls(永続的で安定)を優先してください。モデルが unsigned_urls だけを返す場合は、アップストリームの一時アドレスが期限切れになる前に、速やかにファイルをダウンロードまたは再ホストしてください。