Справочник
Ошибки
Все ошибки приходят в одном формате. Ветвитесь по code: он постоянный, а текст message может меняться.
{
"error": {
"type": "invalid_request_error",
"code": "missing_input",
"message": "person needs at least 1 file(s).",
"param": "inputs.person",
"request_id": "req_5tGh2KjL9QwZx3Vb7Nm0Pc1R"
}
}request_id есть и в заголовке X-Request-Id каждого ответа. По нему запрос находится в журнале, его же присылайте в поддержку.
Коды
| HTTP | code | Что случилось | Что делать |
|---|---|---|---|
| 400 | invalid_parameter | Неверное значение поля, см. param | Исправить запрос |
| 400 | invalid_json | Тело запроса — не JSON | Исправить запрос |
| 400 | prompt_or_template | Нужно что-то одно: prompt или template | Исправить запрос |
| 400 | missing_input | Шаблону не хватает обязательного поля | Добавить поле из inputs шаблона |
| 400 | file_not_found | Файла нет или он другого режима | Загрузить файл этим же ключом |
| 401 | missing_api_key | Нет заголовка Authorization | Добавить ключ |
| 401 | invalid_api_key | Ключ неверен или отозван | Проверить ключ |
| 402 | insufficient_balance | Не хватает токенов | Пополнить баланс |
| 402 | monthly_limit_exceeded | Достигнут месячный лимит | Поднять лимит или ждать нового месяца |
| 403 | insufficient_scope | Ключ только для чтения | Взять ключ с полным доступом |
| 403 | account_blocked | Аккаунт заблокирован | Написать в поддержку |
| 404 | not_found | Нет такого объекта в этом режиме | Проверить id и режим ключа |
| 404 | template_not_found | Нет такого шаблона | Свериться с GET /v1/templates |
| 409 | video_finished | Видео уже завершилось, отменять нечего | Ничего |
| 409 | video_running | Идущее видео нельзя удалить | Сначала отменить |
| 413 | file_too_large | Файл больше лимита | Уменьшить файл |
| 415 | unsupported_file_type | Формат не поддерживается | Взять другой формат |
| 429 | rate_limit_exceeded | Много запросов в минуту | Ждать Retry-After |
| 429 | concurrency_limit | Много видео одновременно | Ждать завершения |
| 500 | server_error | Ошибка на нашей стороне | Повторить с паузой |
Ошибка самого видео
Если запрос принят, а рендер не удался, запрос вернёт 200, у видео будет status: failed, а причина — в error: render_failed или content_rejected. Токены возвращаются сами.