Skip to Content
APIГенерация видеоСтатус задачи

Получение статуса видео

GET https://api.ofox.ai/v1/videos/{id}

Запрашивает статус и результат задачи. После того как вы создали задачу, опрашивайте этот эндпоинт, пока status не достигнет конечного состояния — completed, failed, cancelled или expired.

Terminal
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 вместо опроса.

Ответ

{ "id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718", "status": "completed", "model": "google/veo-3.1", "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

ПолеТипОписание
idstringУникальный идентификатор задачи (UUID)
statusenumСм. Автомат статусов
modelstringModel slug
promptstringИсходный prompt
unsigned_urlsstring[]Присутствует при completed. Исходный URL видео от upstream (временный, может истечь через 24h)
mirror_urlsstring[]Присутствует при completed, если у провайдера модели включено CDN-зеркалирование. Постоянный подписанный URL — см. URL видео
errorobjectПрисутствует при failed: {code, message}
usageobjectПрисутствует при completed: {video_seconds, video_cost}. video_seconds — оплачиваемые секунды (включая входные секунды v2v); video_cost — фактическое списание по цене уровня платформы, строка fixed-point с 10 десятичными знаками (избегает потери точности)
created_at / updated_atintegerUnix seconds

Автомат статусов

Семь состояний, основанных на именовании OpenRouter и расширенных cancelled / expired.

StatusTerminalОписание
pendingПринята, еще не отправлена upstream
queuedОтправлена upstream, ожидает в очереди
in_progressГенерируется upstream
completedУспех, URL видео доступны
failedОшибка (включая таймаут, error.code=expired)
cancelledОтменена
expiredИстекла

Переходы: pending → queued → in_progress → completed — успешный путь. Любое неконечное состояние может перейти в failed, cancelled или expired.

URL видео

Успешная задача может вернуть два набора URL, в зависимости от того, включено ли CDN-зеркалирование у провайдера модели.

ПолеИсточникХарактеристики
unsigned_urlsИсходный адрес upstream-провайдераВременный — всегда присутствует · может истечь через 24h · неподписанный
mirror_urlsCDN-зеркало ofoxПостоянный — только для провайдеров с включенным CDN · подписывается при каждом запросе · имеет TTL

Предпочитайте mirror_urls (постоянные и стабильные). Когда модель возвращает только unsigned_urls, скачайте или перехостите файл быстро, пока временный upstream-адрес не истек.

Last updated on