Ошибки и коды ответа

Ошибки приходят в формате OpenAI. Ниже — что означает каждый код и что с ним делать.

Формат

Тело ошибки — объект error: message — описание, type — класс ошибки и code — машиночитаемая причина, если она есть. Например, так выглядит отказ из-за баланса:

{
  "error": {
    "message": "Insufficient balance or key limit to serve this request.",
    "type": "insufficient_quota",
    "code": "insufficient_balance"
  }
}

Коды

  • 400 — тело запроса не JSON, в нём повторяется ключ или ключ отличается от поля только регистром (Model вместо model), либо модель отклонила запрос — причина в message.
  • 401 — ключ не передан, неверен, отключён или удалён.
  • 402 — на балансе не хватает денег или исчерпан лимит расхода ключа (insufficient_balance). Пополните баланс или поднимите лимит. У текстовых моделей резерв уменьшится, если снизить max_tokens; как уменьшить резерв видео — в разделе «Резерв и оплата».
  • 403 — аккаунт деактивирован (account_deactivated).
  • 404 — модель не найдена (model_not_found) или нет такой видеозадачи.
  • 409 — запрос с тем же Idempotency-Key ещё выполняется.
  • 413 — тело запроса больше 16 МБ (аудиофайл для распознавания — больше 25 МБ).
  • 422 — запрос нельзя выполнить, причина — в code (см. ниже).
  • 429 — слишком много одновременных запросов. Повторите после паузы из Retry-After (см. «Лимиты и повторы»).
  • 500 — внутренняя ошибка. Повторите запрос позже.
  • 502, 503 — сервис временно недоступен: запрос не выполнен и не оплачен. Повторите его позже.

Причины 422

  • model_unavailable — модель сейчас недоступна.
  • unsupported_model — модель не поддерживается.
  • wrong_endpoint — модель не подходит для этого эндпоинта, например эмбеддинговая модель в чате.
  • invalid_max_tokens — max_tokens не положительный, больше предела модели или не передан там, где обязателен.
  • unsupported_modality — модель не принимает такой вход или не выдаёт такой результат.
  • server_tools — серверные инструменты в Anthropic Messages.
  • idempotency_key_reuse — Idempotency-Key уже использован с другим телом запроса.

Ошибки модели

Если запрос отклонила сама модель, например из-за неподдерживаемого параметра, ошибка приходит с её статусом — 400, 404, 413 или 422. Поле code у такой ошибки пустое, причина — в message. Такой запрос не оплачивается.

Каждый запрос — с моделью, статусом, токенами и стоимостью — виден в разделе «Запросы» личного кабинета.