DépannageGuide
Erreurs de connexion courantes et comment les corriger
Ce que signifient 401, 402, 400, 404, 413, 429 et 503 lorsque vous vous connectez à l'API CheapTokens, à quoi ressemblent les réponses et comment corriger chacune d'elles.

Sur cette page
Presque tous les problèmes de connexion se résument à quatre choses : l'adresse, la clé, l'ID du modèle et le solde. Commencez par la vérification rapide ci-dessous, puis trouvez votre code de statut. Les corps de réponse cités ici sont les réponses réelles de l'API (octobre 2026).
Vérification rapide#
# 1. The address is reachable — this request needs no key
curl https://api.cheaptokens.dev/v1/models
# 2. The key and the balance work — a tiny request (costs a fraction of a cent)
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
"messages": [{"role": "user", "content": "ping"}]}'Si la première commande échoue, la cause peut être le réseau de votre côté, une faute de frappe dans l'adresse — ou le service lui-même temporairement indisponible. Si seule la seconde échoue, cherchez son code de statut ci-dessous. Si les deux fonctionnent mais pas votre outil, comparez les réglages de l'outil avec ces deux commandes.
401 — Clé API invalide#
{"error": {"message": "Invalid API key", "type": "authentication_error"}}Les clients de style Anthropic reçoivent la même erreur dans leur format :
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}Causes :
- la clé a été copiée avec un caractère manquant, un espace ou des guillemets ;
- la clé a été renouvelée dans le tableau de bord — l'ancienne ne fonctionne plus ;
- une clé d'un autre service (par exemple OpenAI) est définie à la place de la clé CheapTokens ;
- la variable d'environnement est vide dans ce terminal :
echo ${#CHEAPTOKENS_affiche sa longueur.API_ KEY}
Le tableau de bord n'affiche une clé qu'une seule fois. Si elle est perdue, appuyez sur Rotate pour en obtenir une nouvelle et mettez-la à jour partout où elle est utilisée.
402 — solde vide ou aucune clé dans la requête#
L'API renvoie 402 dans deux situations différentes :
- Le solde est épuisé. Les requêtes sont payées depuis le solde ; quand il est épuisé, la clé est mise en pause. Rechargez dans le tableau de bord et les requêtes repassent.
- La requête n'a aucune clé. Si l'en-tête
Authorization(oux-api-keypour les clients de style Anthropic) est absent, l'API répond 402 avec le typeinsufficient_. Vérifiez que votre outil envoie bien la clé : le style OpenAI estfunds Authorization: Bearer <key>.
404 — mauvaise adresse#
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}Le chemin contient une faute de frappe — ici completion au lieu de completions. Autres causes fréquentes :
- L'URL de base n'a pas de
/v1. Les clients de style OpenAI ont besoin dehttps:/. Sans/ api. cheaptokens. dev/ v1 /v1, la requête rate l'API et vous obtenez une simple page HTML 404 au lieu de JSON. /v1deux fois. Certains clients ajoutent/v1eux-mêmes ; l'URL de base doit alors être la racine,https:/. Les clients de style Anthropic utilisent toujours l'adresse racine./ api. cheaptokens. dev
400 — modèle introuvable#
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}L'ID du modèle doit être l'ID complet, préfixe avant la barre oblique inclus : deepseek-, pas deepseek-. La casse (majuscules ou minuscules) n'a pas d'importance. Le message d'erreur liste les ID disponibles, et la liste complète se trouve toujours à GET /v1/models.
Un 400 est aussi renvoyé pour un corps de requête mal formé — par exemple un tableau messages vide (messages field is required and must be a non-) ou un message sans role.
413 — requête trop volumineuse#
Le corps de la requête est limité à 16 Mo. Les agents peuvent l'atteindre en mettant d'énormes fichiers ou journaux dans le contexte. N'envoyez que les parties dont le modèle a besoin et tronquez les longues sorties d'outils.
429 — trop de requêtes#
Si vous recevez 429, ralentissez. La réponse inclut un en-tête Retry-After avec le nombre de secondes à attendre. Les SDK officiels OpenAI réessaient automatiquement (max_retries) ; dans votre propre code, attendez Retry-After avant la tentative suivante.
503 — modèle temporairement indisponible#
Un modèle peut être temporairement indisponible ; l'API répond alors 503 avec le type model_, et la fiche du modèle sur le site affiche « temporairement indisponible ». Réessayez plus tard ou changez le champ model pour un autre modèle — la clé et l'adresse restent les mêmes.
Attentes longues et délais d'expiration#
Les modèles de raisonnement comme zai- réfléchissent avant de répondre, donc le premier token peut prendre du temps. Utilisez le streaming ou augmentez le délai d'expiration du client — par exemple timeout=120 dans le SDK OpenAI.



