Получение статуса видео
GET https://api.ofox.ai/v1/videos/{id}Запрашивает статус и результат задачи. После того как вы создали задачу, опрашивайте этот эндпоинт, пока status не достигнет конечного состояния — completed, failed, cancelled или expired.
curl https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"Лимит запросов
На этот эндпоинт действует лимит запросов на API key (по умолчанию 5 req/s с burst 20). Запросы сверх лимита возвращают 429 rate_limited с заголовком Retry-After: 1. Создание (POST) и отмена (DELETE) не подпадают под этот лимит.
Опрашивайте не чаще одного раза в секунду или передайте callback_url при создании задачи, чтобы получить webhook вместо опроса.
Ответ
Completed
{
"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.ai/videos/vgen_xxx.mp4?sig=..."],
"usage": {
"video_seconds": 5,
"video_cost": "0.4000000000"
},
"created_at": 1776211362,
"updated_at": 1776211400
}Таймаут возвращается как status: "failed" с error.code, установленным в expired. Полный список кодов ошибок см. в Кодах ошибок.
Объект Video
Автомат статусов
Семь состояний, основанных на именовании OpenRouter и расширенных cancelled / expired.
Переходы: pending → queued → in_progress → completed — успешный путь. Любое неконечное состояние может перейти в failed, cancelled или expired.
URL видео
Успешная задача может вернуть два набора URL, в зависимости от того, включено ли CDN-зеркалирование у провайдера модели.
Предпочитайте mirror_urls (постоянные и стабильные). Когда модель возвращает только unsigned_urls, скачайте или перехостите файл быстро, пока временный upstream-адрес не истек.