Référence des codes d’erreur
Consultez les statuts HTTP courants, les codes de tâches asynchrones et les codes applicatifs de la plateforme.
Une erreur contient généralement un statut HTTP et un code applicatif dans le corps. Examinez d’abord le statut, puis les champs type, code et message réellement retournés ; ils peuvent varier selon le protocole ou le service amont.
Pour diagnostiquer un symptôme, commencez par Erreurs et dépannage. Cette page explique les codes sans remplacer la documentation des réponses de chaque endpoint.
Statuts HTTP
| Statut HTTP | Signification | Causes courantes | Traitement recommandé |
|---|---|---|---|
400 | Requête invalide | JSON, champs requis, types, fichiers ou entrées non conformes | Corriger selon l’erreur, sans renvoyer à l’identique |
401 | Authentification échouée | Clé absente, invalide ou Header non conforme | Vérifier Bearer ou le Header du protocole et remplacer la clé invalide |
403 | Droits ou quota insuffisants | Limites du compte, de la clé, du modèle, des IP ou du quota | Vérifier les restrictions et la disponibilité du modèle |
404 | Ressource inexistante | Endpoint, modèle, Task ID ou Video ID inexistants | Vérifier l’URL finale, l’identifiant et le compte propriétaire |
429 | Requête limitée | Limite de fréquence, de concurrence, de quota ou de capacité atteinte | Réduire la charge et limiter les tentatives ; conserver le Request ID si l’échec persiste |
500 | Traitement échoué | Erreur de conversion, de comptage de tokens, de tarification ou de traitement | Conserver l’erreur expurgée et le Request ID, puis limiter les tentatives ultérieures |
502 | Erreur de passerelle amont | Réponse amont invalide ou transfert impossible | Limiter les tentatives ; contacter le support si l’échec persiste |
503 | Service temporairement indisponible | Surcharge, maintenance ou absence de capacité | Réessayer avec backoff, sans appels fréquents continus |
504 | Délai de requête dépassé | Traitement amont plus long que l’attente de la passerelle | Conserver le Request ID et consulter d’abord la tâche asynchrone d’origine |
Le statut HTTP seul ne détermine pas la cause
Un 404 peut concerner le chemin, le modèle ou la tâche ; un 429, la fréquence, la concurrence, le quota ou la capacité. Examinez aussi le corps réel de l’erreur et le Request ID.
Structures d’erreur courantes
Les API compatibles OpenAI placent généralement les erreurs dans un objet error :
{
"error": {
"message": "Cause précise de l’échec de la requête",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}Certaines API de tâches retournent directement code et message :
{
"code": "task_not_exist",
"message": "L’identifiant de tâche demandé n’existe pas"
}Ne supposez pas que toutes les API ont la même structure d’erreur. Consultez la référence avant l’analyse et gérez les champs facultatifs absents.
Codes d’erreur des tâches asynchrones
Tâches Midjourney
code | Statut HTTP | Signification pour le client | Traitement recommandé |
|---|---|---|---|
1 | 200 | Tâche soumise | Conserver l’identifiant et consulter la progression |
4 | 400 | Paramètres incorrects | Vérifier le prompt, le type d’opération et les champs requis |
21 | 200 | Tâche identique déjà existante | Utiliser l’identifiant retourné sans recréer la tâche |
22 | 200 | Tâche en file d’attente | Conserver l’identifiant et consulter plus tard |
23 | 429 | File de tâches pleine | Réduire la fréquence et réessayer plus tard |
24 | 400 | Prompt refusé par le contrôle de contenu | Modifier le prompt avant une nouvelle soumission |
3 | 403 | Soumission temporairement impossible | Conserver l’erreur et réessayer plus tard ou contacter le support |
30 | 429 | Capacité du groupe atteinte | Réduire la concurrence et réessayer plus tard |
Exemple de soumission réussie :
{
"code": 1,
"description": "Soumission réussie",
"result": "TASK_ID"
}Exemple de tâche en attente :
{
"code": 22,
"description": "En attente, 2 tâches vous précèdent"
}Tâches de la plateforme
code | Statut HTTP | Signification pour le client | Traitement recommandé |
|---|---|---|---|
task_not_exist | 404 | Tâche inexistante ou appartenant à un autre compte | Vérifier le Task ID, la clé API et le nœud de requête |
quota_not_enough | 403 | Quota insuffisant pour créer la tâche | Vérifier les quotas du compte et du jeton sans répéter à l’identique |
invalid_api_platform | 400 | Type de plateforme invalide | Corriger le paramètre de plateforme ou de protocole |
fail_to_fetch_task | Selon le statut amont | Impossible de récupérer l’état récent depuis la source de la tâche | Conserver le Task ID et limiter les tentatives ultérieures |
Codes applicatifs de la plateforme
code | Statut HTTP courant | Signification pour le client | Traitement recommandé |
|---|---|---|---|
invalid_request | 400 | Format ou paramètres invalides | Vérifier le JSON, les champs requis et leurs types |
read_request_body_failed | 400 | Corps de requête illisible | Vérifier sa taille, la connexion et le Content-Type |
sensitive_words_detected | 400 | Entrée refusée par le contrôle de contenu | Modifier l’entrée avant de renvoyer |
prompt_blocked | 400 | Prompt bloqué par la politique de contenu | Modifier le prompt selon l’erreur |
access_denied | 403 | Requête refusée | Vérifier la clé, l’état du compte et les IP autorisées |
insufficient_user_quota | 403 | Quota du compte insuffisant | Vérifier le solde ou le quota avant de réessayer |
pre_consume_token_quota_failed | 403 | Quota du jeton insuffisant | Vérifier le quota et les restrictions de la clé actuelle |
model_not_found | 404 | Modèle introuvable pour le compte actuel | Recopier un identifiant disponible dans le catalogue |
convert_request_failed | 500 | Conversion vers le protocole cible impossible | Vérifier l’endpoint, le protocole et la compatibilité du modèle |
count_token_failed | 500 | Comptage des tokens impossible | Conserver les caractéristiques expurgées et le Request ID |
do_request_failed | 500 | Requête amont impossible à terminer | Vérifier le réseau et limiter les tentatives |
bad_response_status_code | Selon le statut amont | Erreur amont non standard ou non analysable directement | Conserver le statut initial, le message expurgé et le Request ID |
api_not_implemented | 501 | Endpoint pas encore disponible | Vérifier la référence et utiliser un endpoint déjà publié |
Principes de traitement côté client
- Enregistrez le statut HTTP, le code applicatif, le message expurgé et le Request ID.
- Pour
400, 401, 403, corrigez la cause avant de réessayer automatiquement. - Pour
404, vérifiez le chemin, l’identifiant et, pour les ressources asynchrones, le compte propriétaire. - Pour
429, 502, 503, 504, limitez les tentatives avec backoff. - Avant de répéter une création ou une opération avec effets de bord, vérifiez si la requête initiale a déjà pris effet.
- Préférez les statuts HTTP et
codestables au texte complet du message pour les branches du programme.
Pour conserver le suivi, consultez Request ID. Pour le dépannage et les nouvelles tentatives, consultez Erreurs et dépannage.