Skip to main content
Ошибки возвращаются с соответствующим HTTP-статусом и JSON-телом:
{
  "error": {
    "message": "Описание ошибки",
    "type": "invalid_request_error",
    "code": "..."
  }
}

Коды

HTTPКогдаЧто делать
400Некорректный запрос (неверный JSON, поля)Проверь тело запроса
401Нет/неверный API-ключПроверь ключ и заголовок Authorization
402Недостаточно средств на балансеПополни баланс (Баланс)
404Неизвестная модель/маршрутСверься со списком моделей
429Слишком много запросовСделай ретрай с backoff
5xxВременная ошибка на стороне сервисаПовтори запрос позже

Рекомендации

  • На 429 и 5xx — экспоненциальный backoff (например, 0.5s → 1s → 2s).
  • На 401/402 ретраи бессмысленны — нужна реакция (ключ/баланс).
  • Логируй error.message — там человекочитаемая причина.
При стриминге ошибка до начала генерации приходит обычным JSON со статусом; если поток уже начался — соединение закрывается.