Formato de respuesta de error
Chat Completions, Responses, Messages y Gemini son límites de protocolo públicos, no APIs Web. Los errores del protocolo nativo no se envuelven en el sobre Web{ success, data, error }. El siguiente ejemplo corresponde a errores de gateway compatibles con OpenAI en Chat y Responses:
message y type; code, param y las extensiones de ayuda son opcionales. Messages y Gemini usan sus familias de error nativas. Los errores de validación upstream se conservan cuando pueden devolverse con seguridad; un 400/422 determinista no cambia de canal y no se reintenta después del primer byte entregado.
Códigos de estado HTTP
Tipos de error
Errores de autenticación (401)
Errores de pago (402)
Errores de acceso (403)
Errores de validación (400)
model_not_found.
Errores por límite de tasa (429)
Cuando excedes los límites de tasa:Retry-After y el campo retry_after indican ambos los segundos exactos que debes esperar antes de reintentar.
Carga útil demasiado grande (413)
Cuando el tamaño de entrada o del archivo excede los límites:- Archivo de imagen demasiado grande (máx. 20MB)
- Archivo de audio demasiado grande (máx. 25MB)
- El texto de entrada excede la longitud de contexto del modelo
Errores del proveedor upstream (502, 503)
Cuando todos los canales fallan, la respuesta incluye modelos alternativos:
Manejo de errores en Python
Manejo de errores en JavaScript
Mejores prácticas
Implementar retroceso exponencial
Implementar retroceso exponencial
Cuando se aplica limitación de tasa, espera intervalos progresivamente mayores entre reintentos:
Establecer timeouts
Establecer timeouts
Siempre establece timeouts razonables para evitar solicitudes colgadas:
Registrar errores para depuración
Registrar errores para depuración
Registra la respuesta de error completa, incluyendo el ID de la solicitud, para soporte:
Gestionar errores específicos del modelo
Gestionar errores específicos del modelo
Algunos modelos tienen requisitos específicos (p. ej., max tokens, formatos de imagen).
Valida las entradas antes de realizar las solicitudes.