Formato de Respuesta de Error
Todos los errores devuelven un formato JSON consistente:Códigos de Estado HTTP
| Código | Descripción |
|---|---|
| 400 | Bad Request - Parámetros inválidos |
| 401 | Unauthorized - API key inválida o faltante |
| 402 | Payment Required - Saldo insuficiente |
| 403 | Forbidden - Acceso denegado o modelo no permitido |
| 404 | Not Found - Modelo o recurso no encontrado |
| 413 | Payload Too Large - Tamaño de entrada o archivo excedido |
| 429 | Too Many Requests - Límite de tasa excedido |
| 500 | Internal Server Error - Error interno del servidor |
| 502 | Bad Gateway - Error del proveedor upstream |
| 503 | Service Unavailable - Todos los canales fallaron |
| 504 | Gateway Timeout - La solicitud agotó el tiempo de espera |
Tipos de Error
Errores de Autenticación (401)
| Tipo | Código | Descripción |
|---|---|---|
invalid_api_key | invalid_api_key | La API key falta o es inválida |
expired_api_key | expired_api_key | La API key ha sido revocada |
Errores de Pago (402)
| Tipo | Código | Descripción |
|---|---|---|
insufficient_quota | insufficient_quota | El saldo de la cuenta es demasiado bajo |
quota_exceeded | quota_exceeded | Se ha alcanzado el límite de uso de la API key |
Errores de Acceso (403)
| Tipo | Código | Descripción |
|---|---|---|
access_denied | access_denied | Acceso al recurso denegado |
access_denied | model_not_allowed | Modelo no permitido para esta API key |
Errores de Validación (400)
| Tipo | Descripción |
|---|---|
invalid_request_error | Los parámetros de la solicitud son inválidos |
context_length_exceeded | Entrada demasiado larga para el modelo |
model_not_found | El modelo solicitado no existe |
Errores de Límite de Tasa (429)
Cuando excede los límites de tasa:Payload Too Large (413)
Cuando el tamaño de la 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 de Upstream (502, 503)
| Tipo | Descripción |
|---|---|
upstream_error | El proveedor devolvió un error |
all_channels_failed | No hay proveedores disponibles |
timeout_error | La solicitud agotó el tiempo de espera |
Manejo de Errores en Python
Manejo de Errores en JavaScript
Mejores Prácticas
Implementar exponential backoff
Implementar exponential backoff
Cuando se aplique el límite de tasa, espere progresivamente más tiempo entre reintentos:
Establecer timeouts
Establecer timeouts
Establezca siempre timeouts razonables para evitar solicitudes colgadas:
Registrar errores para depuración
Registrar errores para depuración
Registre la respuesta de error completa, incluyendo el ID de la solicitud para soporte:
Manejar errores específicos del modelo
Manejar errores específicos del modelo
Algunos modelos tienen requisitos específicos (por ejemplo, tokens máximos, formatos de imagen).
Valide las entradas antes de realizar solicitudes.