Skip to Content

Ошибки

Каждая ошибка от эндпоинтов Video API использует одну и ту же JSON-форму:

{ "error": { "code": "...", "message": "..." } }

HTTP-статус сообщает класс проблемы; error.code — стабильная строка, по которой можно ветвить код. Всегда сопоставляйте по error.code, а не парсите error.message.

Коды ошибок

HTTPCodeЗначение
400invalid_requestОтсутствует обязательный параметр или значение недействительно
400invalid_callback_urlcallback_url не HTTPS или указывает на приватную сеть (заблокировано SSRF-проверками)
400references_conflictframe_images и input_references отправлены в одном запросе (взаимоисключающие)
400too_many_referencesinput_references превышает лимиты (изображения > 9 / аудио > 3 / видео > 1)
400cancel_not_supportedUpstream-провайдер не может прервать эту задачу
400cancel_failedЗадача уже в конечном состоянии и не может быть отменена
401unauthorized / invalid_api_keyАутентификация не удалась
401upstream_auth_failedАутентификация у upstream-провайдера не удалась
402insufficient_creditsНедостаточно баланса для принятия задачи
404not_foundЗадача не существует или у вас нет к ней доступа
404model_not_foundЗапрошенная модель не существует
429rate_limitedСлишком много запросов (лимит опроса или upstream-лимит)
502upstream_error / route_errorОшибка upstream-провайдера / сбой маршрутизации
500internal_errorНеожиданная внутренняя ошибка

references_conflict и too_many_references — ошибки валидации body запроса; точные лимиты см. в Создании видео. cancel_not_supported и cancel_failed описаны в Отмене видео. not_found возвращается и для неизвестной задачи, и для задачи, принадлежащей другому API key; эти два случая намеренно неразличимы.

402 Недостаточно кредитов

insufficient_credits возвращается только при создании задачи (POST /v1/videos). Когда предварительная авторизация включена, ofox до принятия задачи оценивает стоимость по запрошенным разрешению и длительности. Если оценка превышает ваш баланс, запрос сразу отклоняется — запись о задаче не создается и списаний нет.

{ "error": { "code": "insufficient_credits", "message": "..." } }

insufficient_credits — единственный код 402, который возвращает Video API. Обработайте этот один код, пополните баланс и повторите попытку.

429 Лимит запросов

rate_limited покрывает как лимит опроса на ключ для GET /v1/videos/{id}, так и upstream-лимиты. Когда вы достигаете лимита опроса, ответ содержит заголовок Retry-After:

HTTP/1.1 429 Too Many Requests Retry-After: 1 Content-Type: application/json { "error": { "code": "rate_limited", "message": "..." } }

Учитывайте заголовок Retry-After и сделайте паузу перед повтором. Если вы часто опрашиваете, переключитесь на webhook-уведомления, чтобы ofox сам отправлял вам конечное состояние — это полностью обходит лимит опроса. Создание задачи (POST) и отмена (DELETE) не затрагиваются лимитом опроса.

Last updated on