AnyMindДокументация

Справка

Ошибки

Форма ответа, коды и что проверить.

Если запрос не прошёл, тело выглядит так:

text
{
  "error": {
    "message": "Invalid request for this model.",
    "type": "invalid_request_error",
    "code": "invalid_request_error",
    "param": "size"
  }
}

message — текст для человека, type и code — для логики клиента. На 400 иногда есть param: какое поле не подошло (size, quality, model, prompt…).

Примеры

Нет ключа или он неверный:

text
{
  "error": {
    "message": "API key not found",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Кончился лимит этого ключа (на аккаунте средства ещё могут быть):

text
{
  "error": {
    "message": "API key quota exceeded",
    "type": "insufficient_quota",
    "code": "insufficient_quota"
  }
}

Модели нет в каталоге или к ней нет доступа:

text
{
  "error": {
    "message": "The requested model or capability is not available.",
    "type": "invalid_request_error",
    "code": "model_not_found"
  }
}

Слишком много запросов за короткое время:

text
{
  "error": {
    "message": "Rate limit exceeded",
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded"
  }
}

Неверный параметр изображения — смотрите param:

text
{
  "error": {
    "message": "Invalid request for this model.",
    "type": "invalid_request_error",
    "code": "invalid_request_error",
    "param": "size"
  }
}

Метод не поддерживается (например Files, Realtime, variations):

text
{
  "error": {
    "message": "Endpoint /v1/files is not implemented",
    "type": "invalid_request_error",
    "code": "not_implemented"
  }
}

Коды

HTTPerror.codeЧто случилосьЧто делать
400 / 422invalid_request_errorНеверный JSON, нет model, параметр модель не принимаетСмотрите тело и param
401invalid_api_keyНет ключа или он неверныйПроверьте Authorization: Bearer …
403insufficient_quotaКончился лимит этого ключаПоднимите лимит в кабинете или подождите сброса
403insufficient_balanceНе хватает средств на аккаунтеПополните баланс
403insufficient_scopeУ ключа нет нужного праваВыпустите ключ заново из кабинета
404model_not_foundНет такой модели или к ней нет доступаВозьмите id из GET /models
429rate_limit_exceededСлишком частоПодождите и повторите с паузой
501not_implementedМетод не поддерживаетсяДругой путь, см. Совместимость
502upstream_errorМодель сейчас недоступнаПовтор или другая модель
504timeoutМодель не успела ответитьПовтор; для длинных задач уменьшите max_tokens

Когда повторять запрос

Имеет смысл повторить с паузой: 429, 502, 504.

Не повторяйте в цикле 400, 401, 403 — запрос сам не станет правильным.