Esta guía se basa en comprobaciones en vivo contra la API actual de CometAPI. Verificamos directamente fallos de
400, 401 y de ruta/base URL. No reproducimos 413, 429, 500, 503, 504 ni 524 en pruebas acotadas, por lo que la orientación para esos estados es intencionalmente conservadora.Triaje rápido
| Status | Lo que normalmente significa | ¿Reintentar? | Primera acción |
|---|---|---|---|
400 | La validación de la solicitud falló antes de que la solicitud se enrutara correctamente. | No | Valida model, messages, la estructura JSON y los tipos de campo. |
401 | La API key falta, está mal formada o no es válida. | No | Comprueba Authorization: Bearer <COMETAPI_KEY>. |
403 | El acceso fue bloqueado o la solicitud actual no estaba permitida. | Normalmente no | Reintenta con una solicitud conocida como válida y elimina primero los campos específicos del modelo. |
| Path mistake | Base URL incorrecta o ruta del endpoint incorrecta. En Comet esto puede aparecer como una redirección 301 o HTML, no como un 404 JSON limpio. | No | Usa https://api.cometapi.com/v1 exactamente y desactiva el seguimiento automático de redirecciones durante la depuración. |
429 | Limitación de tasa o saturación temporal. | Sí | Usa exponential backoff con jitter. |
500, 503, 504, 524 | Fallo de plataforma o de tipo timeout. | Sí | Reintenta con backoff y conserva el request id. |
Envoltorio de error
El envoltorio de error JSON actual que devuelve CometAPI se ve así:request id dentro de error.message. Guarda ese valor cuando necesites soporte.
400 Bad Request
Esto es lo que observamos en la API en vivo cuando se omitió model:
400 normalmente significa que el cuerpo de la solicitud no superó la validación antes de que la plataforma pudiera enrutarla al proveedor del modelo.
Causas comunes:
- Faltan campos obligatorios como
modelomessages - Estructura JSON no válida
- Envío de un campo con el tipo incorrecto
- Reutilización de parámetros específicos del proveedor que el endpoint seleccionado no acepta
- Empieza con una solicitud mínima conocida como válida.
- Vuelve a añadir los campos opcionales uno por uno.
- Compara el cuerpo de la solicitud con el esquema del endpoint en la referencia de la API.
your-model-id por cualquier ID de modelo actual de la página de modelos de CometAPI.
401 Invalid Token
Esto es lo que observamos en la API en vivo con una clave no válida:
- El encabezado debe ser exactamente
Authorization: Bearer <COMETAPI_KEY>. - Asegúrate de que tu aplicación no esté cargando una clave antigua desde
.env, el historial del shell o un almacén de secretos desplegado. - Si una clave falla y otra funciona en la misma solicitud, trátalo como un problema de token, no como un problema del endpoint.
403 Forbidden
No reprodujimos un 403 estable en pruebas acotadas, así que evita tratar una única plantilla de mensaje antigua como si contara toda la historia.
En la documentación actual de Comet, 403 suele tratarse con mayor frecuencia como una de estas situaciones:
- La solicitud está bloqueada por una regla del lado de la plataforma, como el filtrado de WAF
- El token o la ruta no tienen permitido usar el modelo solicitado o la forma de solicitud requerida
- El modelo elegido rechaza uno de los parámetros avanzados que enviaste
- Reintenta con una solicitud de texto muy simple contra un modelo conocido que funcione bien.
- Elimina los campos avanzados y los parámetros específicos del proveedor, y luego agrégalos de nuevo gradualmente.
- Si la respuesta incluye un request id, consérvalo antes de contactar con soporte.
URL base incorrecta o ruta incorrecta
Esta es el área en la que la página antigua era menos precisa. En comprobaciones en vivo contra los endpoints actuales de Comet:- Hacer una solicitud POST a
https://api.cometapi.com/chat/completionsdevolvió una redirección301ahttps://www.cometapi.com/chat/completions - Hacer una solicitud POST a una ruta de API falsa como
https://api.cometapi.com/v1/not-a-real-endpointtambién devolvió una redirección301ahttps://www.cometapi.com/v1/not-a-real-endpoint
- Una redirección
- Una respuesta HTML no JSON si tu cliente sigue las redirecciones
- Un error de análisis dentro de tu SDK
- Una solicitud que nunca llega limpiamente a la capa de API
- Confirma que la URL base incluye
/v1. - Confirma que la ruta del endpoint coincide exactamente con la documentación.
- Desactiva el seguimiento automático de redirecciones mientras depuras problemas de ruta.
413 Request Entity Too Large
No reprodujimos 413 en una prueba acotada, ni siquiera con un cuerpo de solicitud JSON sobredimensionado de 8 MiB, así que la explicación antigua de que el prompt era demasiado largo era demasiado limitada.
Si llegas a ver un 413, trátalo primero como un problema de tamaño de la solicitud. Los sospechosos habituales son:
- Cargas útiles grandes en base64
- Imágenes o audio demasiado grandes incrustados en línea
- Cuerpos multipart o JSON muy grandes
- Reduce o comprime el contenido adjunto.
- Divide los trabajos grandes en solicitudes más pequeñas.
- No asumas que la longitud del texto plano es la única causa.
429 Too Many Requests
No reprodujimos 429 durante una prueba acotada de concurrencia con 24 solicitudes paralelas GET /v1/models, así que el umbral exacto claramente depende de la ruta, el modelo y el estado actual de la plataforma.
Trata 429 como reintentable:
- Usa exponential backoff con jitter.
- Reduce la concurrencia en ráfaga.
- Mantén activado el registro de solicitudes para que puedas ver qué ruta y qué modelo se están saturando primero.
500, 503, 504 y 524
No reprodujimos estos estados en pruebas acotadas. Deben documentarse como fallos del lado del servidor o de la clase timeout, no como errores del usuario.
Guía práctica:
500: fallo interno de la plataforma o del lado del proveedor503: ruta o servicio del proveedor temporalmente no disponible504y524: fallos de tipo timeout entre la plataforma, el edge o el servicio del proveedor
- Reintenta con backoff.
- Conserva el
request id, el endpoint, el modelo y la marca de tiempo. - Si el mismo fallo se repite en varios reintentos, contacta con soporte con ese contexto.
Antes de Contactar al Soporte
Captura primero estos detalles:- Método HTTP
- Ruta del endpoint
- Nombre del modelo
- JSON del cuerpo de la solicitud saneado (este es el elemento más útil para la mayoría de las llamadas a la API)
- Parámetros de consulta si la solicitud que falló los utilizó
- Cuerpo exacto de la respuesta si tu cliente lo capturó
- Estado HTTP completo
- El
error.messageexacto - Cualquier
request id - Marca de tiempo aproximada
- Si la misma solicitud funciona con otro modelo o con otro token
- Nombres de los campos y valores de texto que enviaste junto con el archivo
- Nombre del archivo, tipo de archivo y tamaño aproximado del archivo
- Si el archivo se subió directamente, se hizo referencia a él mediante URL o se incrustó como base64