Formato da Resposta de Erro
Chat Completions, Responses, Messages e Gemini são limites de protocolo públicos, não APIs Web. Erros do protocolo nativo não são envolvidos no envelope Web{ success, data, error }. O exemplo a seguir vale para erros de gateway compatíveis com OpenAI em Chat e Responses:
message e type estão presentes; code, param e extensões de dica são opcionais. Messages e Gemini usam suas famílias de erro nativas. Erros de validação upstream são preservados quando podem ser retornados com segurança; um 400/422 determinístico não troca de canal e não há nova tentativa depois do primeiro byte entregue.
Códigos de Status HTTP
Tipos de Erro
Erros de Autenticação (401)
Erros de Pagamento (402)
Erros de Acesso (403)
Erros de Validação (400)
model_not_found.
Erros de Limite de Taxa (429)
Quando você excede os limites de taxa:Retry-After e o campo retry_after indicam ambos os segundos exatos para aguardar antes de tentar novamente.
Payload Muito Grande (413)
Quando o tamanho da entrada ou do arquivo excede os limites:- Arquivo de imagem muito grande (máx. 20MB)
- Arquivo de áudio muito grande (máx. 25MB)
- Texto de entrada que excede o comprimento de contexto do modelo
Erros Upstream (502, 503)
Quando todos os canais falham, a resposta inclui modelos alternativos:
Tratamento de Erros em Python
Tratamento de Erros em JavaScript
Melhores práticas
Implemente backoff exponencial
Implemente backoff exponencial
Quando estiver rate limited, espere períodos progressivamente maiores entre tentativas:
Defina timeouts
Defina timeouts
Sempre defina timeouts razoáveis para evitar requisições travadas:
Registre erros para depuração
Registre erros para depuração
Registre a resposta completa de erro, incluindo o ID da requisição, para suporte:
Trate erros específicos do modelo
Trate erros específicos do modelo
Alguns modelos têm requisitos específicos (por exemplo, tokens máximos, formatos de imagem).
Valide as entradas antes de fazer as requisições.