Skip to main content
Cada endpoint de chat devuelve los errores con la misma forma que el estándar de API con el que es compatible (OpenAI, Anthropic o Gemini). Toda respuesta de error incluye además una cabecera X-Request-Id y devuelve únicamente la información que necesitas para depurar tu solicitud.

OpenAI — /v1/chat/completions (y endpoints de imagen/vídeo)

Anthropic — /v1/messages

Gemini — /v1beta/models/{model}:generateContent

Mapeo de estados

El type / status del error se deriva del estado HTTP:

Parámetros rechazados

Cuando un modelo no acepta un valor de tu solicitud, el endpoint devuelve HTTP 400 con la explicación del propio modelo. Los ajustes de razonamiento usan el código invalid_reasoning_effort, y el mensaje enumera los valores que acepta ese modelo, de modo que puedes corregir la solicitud sin adivinar. Los niveles de razonamiento admitidos por cada modelo, su valor predeterminado y si el razonamiento se puede desactivar se publican en GET /v1/models dentro de capability_metadata.reasoning. El límite de solicitudes devuelve 429, y una solicitud que supera el tiempo disponible devuelve 504. Un 502 significa que la plataforma no pudo obtener una respuesta utilizable del modelo tras reintentar — no es un juicio sobre tus parámetros, así que lee el cuerpo de la respuesta antes de cambiarlos.

Errores de generación multimedia y reintentos

Para generar imágenes y vídeos, usa el campo estructurado error.code y el status de la tarea (task.status en tu cliente) para decidir qué mensaje mostrar y si reintentar. Sugiere cambios de contenido solo ante un código explícito de política o un rechazo claro por la política de contenido. La mera mención de safety en un mensaje, o HTTP 502 por sí solo, no demuestra una infracción. Si una tarea asíncrona sigue en pending o processing, continúa consultando /v1/tasks/{task_id} con el mismo task_id; no envíes otra solicitud de generación duplicada.