Ce guide s’appuie sur des vérifications en conditions réelles avec l’API CometAPI actuelle. Nous avons vérifié directement les erreurs
400, 401 et les échecs liés au chemin/base URL. Nous n’avons pas reproduit les erreurs 413, 429, 500, 503, 504 ou 524 dans des tests limités, donc les recommandations pour ces statuts sont volontairement prudentes.Diagnostic rapide
| Status | Ce que cela signifie généralement | Réessayer ? | Première action |
|---|---|---|---|
400 | La validation de la requête a échoué avant que celle-ci ne soit correctement acheminée. | Non | Validez model, messages, la structure JSON et les types de champs. |
401 | La clé API est absente, mal formée ou invalide. | Non | Vérifiez Authorization: Bearer <COMETAPI_KEY>. |
403 | L’accès a été bloqué ou la requête actuelle n’était pas autorisée. | Généralement non | Réessayez avec une requête connue comme valide et retirez d’abord les champs spécifiques au modèle. |
| Path mistake | Mauvaise base URL ou mauvais chemin d’endpoint. Sur Comet, cela peut apparaître sous forme de redirection 301 ou de HTML, et non d’un 404 JSON propre. | Non | Utilisez exactement https://api.cometapi.com/v1 et désactivez le suivi automatique des redirections pendant le débogage. |
429 | Limitation de débit ou saturation temporaire. | Oui | Utilisez un backoff exponentiel avec jitter. |
500, 503, 504, 524 | Échec de plateforme ou lié à un timeout. | Oui | Réessayez avec backoff et conservez l’identifiant de requête. |
Enveloppe d’erreur
L’enveloppe d’erreur JSON actuellement renvoyée par CometAPI ressemble à ceci :request id dans error.message. Conservez cette valeur lorsque vous avez besoin d’assistance.
400 Bad Request
Voici ce que nous avons observé avec l’API en conditions réelles lorsque model était omis :
400 signifie généralement que le corps de la requête a échoué à la validation avant que la plateforme puisse l’acheminer vers le fournisseur de modèle.
Causes fréquentes :
- Champs obligatoires manquants, tels que
modeloumessages - Structure JSON invalide
- Envoi d’un champ avec un type incorrect
- Réutilisation de paramètres spécifiques à un fournisseur que l’endpoint sélectionné n’accepte pas
- Partez d’une requête minimale connue comme valide.
- Rajoutez les champs facultatifs un par un.
- Comparez le corps de la requête au schéma de l’endpoint dans la référence d’API.
your-model-id par n’importe quel ID de modèle actuel depuis la page des modèles CometAPI.
401 Invalid Token
Voici ce que nous avons observé avec l’API en conditions réelles avec une clé invalide :
- L’en-tête doit être exactement
Authorization: Bearer <COMETAPI_KEY>. - Assurez-vous que votre application ne charge pas une ancienne clé depuis
.env, l’historique du shell ou un gestionnaire de secrets déployé. - Si une clé échoue et qu’une autre fonctionne sur la même requête, traitez cela comme un problème de token, et non comme un problème d’endpoint.
403 Forbidden
Nous n’avons pas reproduit de 403 stable dans des tests limités, évitez donc de considérer un ancien modèle de message isolé comme l’explication complète.
Dans la documentation Comet actuelle, 403 est le plus souvent évoqué dans l’une de ces situations :
- La requête est bloquée par une règle côté plateforme, comme un filtrage WAF
- Le token ou la route n’est pas autorisé à utiliser le modèle demandé ou la forme de requête demandée
- Le modèle choisi rejette l’un des paramètres avancés que vous avez transmis
- Réessayez avec une requête texte très simple sur un modèle connu pour fonctionner.
- Supprimez les champs avancés et les paramètres spécifiques au provider, puis rajoutez-les progressivement.
- Si la réponse inclut un request id, conservez-le avant de contacter le support.
Mauvaise base URL ou mauvais chemin
C’est la partie où l’ancienne page était la moins exacte. Lors de vérifications en conditions réelles sur les endpoints Comet actuels :- Un envoi vers
https://api.cometapi.com/chat/completionsa renvoyé une redirection301vershttps://www.cometapi.com/chat/completions - Un envoi vers une fausse route API comme
https://api.cometapi.com/v1/not-a-real-endpointa également renvoyé une redirection301vershttps://www.cometapi.com/v1/not-a-real-endpoint
- Une redirection
- Une réponse HTML non-JSON si votre client suit les redirections
- Une erreur de parsing dans votre SDK
- Une requête qui n’atteint jamais proprement la couche API
- Confirmez que la base URL inclut
/v1. - Confirmez que le chemin de l’endpoint correspond exactement à la documentation.
- Désactivez le suivi automatique des redirections pendant le débogage des problèmes de chemin.
413 Request Entity Too Large
Nous n’avons pas reproduit de 413 dans un test limité, même avec un corps de requête JSON surdimensionné de 8 MiB, donc l’ancienne explication selon laquelle le prompt était trop long était trop restrictive.
Si vous voyez bien un 413, considérez d’abord qu’il s’agit d’un problème de taille de requête. Les suspects courants sont :
- De gros payloads base64
- Des images ou fichiers audio trop volumineux intégrés inline
- Des corps multipart ou JSON très volumineux
- Réduisez ou compressez le contenu joint.
- Fractionnez les gros traitements en requêtes plus petites.
- Ne supposez pas que seule la longueur du texte brut en soit la cause.
429 Too Many Requests
Nous n’avons pas reproduit de 429 lors d’un test limité de concurrence avec 24 requêtes parallèles GET /v1/models, donc le seuil exact dépend clairement de la route, du modèle et de l’état actuel de la plateforme.
Considérez 429 comme réessayable :
- Utilisez un backoff exponentiel avec jitter.
- Réduisez la concurrence en rafale.
- Gardez la journalisation des requêtes activée afin de voir quelle route et quel modèle saturent en premier.
500, 503, 504, et 524
Nous n’avons pas reproduit ces statuts dans des tests limités. Ils doivent être documentés comme des échecs côté serveur ou de type timeout, et non comme des erreurs de l’utilisateur.
Guide pratique :
500: échec interne de la plateforme ou côté provider503: route ou service provider temporairement indisponible504et524: échecs de type timeout entre la plateforme, l’edge ou le service provider
- Réessayez avec backoff.
- Conservez le
request id, l’endpoint, le modèle et l’horodatage. - Si le même échec se répète sur plusieurs tentatives, contactez le support avec ce contexte.
Avant de contacter le support
Commencez par rassembler ces informations :- Méthode HTTP
- Chemin de l’endpoint
- Nom du modèle
- JSON du corps de requête anonymisé (c’est l’élément le plus utile pour la plupart des appels API)
- Paramètres de requête si la requête en échec les utilisait
- Corps de réponse exact si votre client l’a capturé
- Statut HTTP complet
- Le
error.messageexact - Tout
request id - Horodatage approximatif
- Si la même requête fonctionne avec un autre modèle ou un autre token
- Les noms de champ et les valeurs texte que vous avez envoyés avec le fichier
- Le nom du fichier, son type et sa taille approximative
- Si le fichier a été uploadé directement, référencé par URL ou intégré en base64