Gestion des erreurs
Tchavi renvoie des codes de statut HTTP standards accompagnés d'un corps JSON d'erreur structuré.
Tchavi renvoie des codes de statut HTTP standards. Les erreurs incluent un corps JSON plat — le code exploitable par programme est dans error, et certains codes ajoutent un objet details :
{
"error": "insufficient_credits",
"message": "Vous n'avez pas assez de crédits pour cette requête.",
"statusCode": 402,
"details": { "credits_remaining": 12, "credits_required": 40 }
}Codes d'erreur courants
| Status | Code | Description |
|---|---|---|
| 400 | bad_request | Paramètre invalide — le message indique lequel |
| 401 | invalid_api_key | Clé API manquante ou invalide |
| 402 | insufficient_credits | Crédits insuffisants — details contient credits_remaining et, si connu, credits_required |
| 403 | key_inactive | La clé est révoquée, suspendue ou expirée — details.status précise |
| 403 | plan_model_restricted | Compte au niveau Free appelant un modèle hors du groupe Budget — rechargez pour le débloquer (details.upgrade_url) |
| 403 | model_not_allowed | Le modèle n'est pas disponible (inactif ou inconnu) |
| 403 | forbidden | La liste d'IP autorisées ou les restrictions de points d'accès de la clé rejettent cette requête |
| 404 | not_found | ID de modèle ou de tâche inconnu |
| 413 | prompt_too_long | Le prompt dépasse la limite de ce modèle — voir ci-dessous |
| 429 | rate_limit_exceeded | Limite RPM, TPM ou IP atteinte — patientez Retry-After secondes (aussi dans details.retry_after) |
| 429 | free_tier_daily_limit | Plafond quotidien du niveau Free (50 requêtes) atteint — réinitialisé à minuit UTC, Retry-After indique quand |
| 500 | internal_error | Erreur serveur — réessayez ou contactez le support |
| 502 | provider_error | Le fournisseur d'IA a renvoyé une erreur — réessayez, ou essayez un autre modèle |
| 503 | provider_saturated | Le fournisseur est saturé — réessayez après details.retry_after secondes |
| 503 | service_unavailable | Indisponibilité temporaire — réessayez avec un délai croissant |
Limites de longueur des prompts
Quelques modèles acceptent un prompt plus court que leur fenêtre de contexte, parce que le fournisseur facture un tarif supérieur au-delà d'un seuil : nous plafonnons la fenêtre plutôt que d'augmenter le tarif en crédits pour tout le monde. Ces modèles renvoient 413 prompt_too_long, avec le plafond exact dans la réponse pour que vous puissiez découper l'entrée sans deviner :
{
"error": "prompt_too_long",
"message": "Le prompt est trop long pour « grok-4.6 ». Ce modèle accepte jusqu'à 180000 tokens en entrée ; votre requête en fait environ 241300.",
"statusCode": 413,
"details": { "model": "grok-4.6", "max_prompt_tokens": 180000 }
}| Modèle | Limite de prompt |
|---|---|
grok-4.6 | 180 000 tokens |
gemini-3.1-pro | 180 000 tokens |
qwen3.7-flash | 230 000 tokens |
max_prompt_tokens est la limite réellement appliquée, et elle correspond à la fenêtre de contexte affichée sur la page de chaque modèle — une requête ramenée à cette taille est acceptée. Tous les autres modèles acceptent l'entrée jusqu'à leur fenêtre complète. Les images et PDF en base64 ne comptent pas dans la limite.
Voir aussi Limites de débit et Crédits et facturation.