X-Request-Id et ne renvoie
que les informations dont vous avez besoin pour déboguer votre requête.
OpenAI — /v1/chat/completions (et endpoints image/vidéo)
Anthropic — /v1/messages
Gemini — /v1beta/models/{model}:generateContent
Correspondance des statuts
Letype / status de l’erreur est dérivé du statut HTTP :
Paramètres de modèle refusés
Lorsqu’un modèle n’accepte pas une valeur de votre requête, l’endpoint renvoie un HTTP400 accompagné de l’explication fournie par le modèle. Les paramètres de
raisonnement utilisent le code invalid_reasoning_effort, et le message indique
les valeurs que ce modèle accepte : vous pouvez donc corriger la requête sans
deviner. Les niveaux de raisonnement acceptés par chaque modèle, sa valeur par
défaut et la possibilité de désactiver le raisonnement sont publiés dans
GET /v1/models, sous capability_metadata.reasoning.
La limitation de débit renvoie 429, et une requête qui dépasse le temps imparti
renvoie 504. Un 502 signifie que la plateforme n’a pas pu obtenir de réponse
exploitable du modèle après plusieurs tentatives : ce n’est pas un jugement sur
vos paramètres, lisez donc le corps de la réponse avant de les modifier.
Erreurs de génération multimédia et nouvelles tentatives
Pour générer des images et des vidéos, utilisez le champ structuréerror.code et le
status de la tâche (task.status dans votre client) pour choisir le message à afficher
et décider d’une nouvelle tentative.
Ne suggérez de modifier le contenu qu’en présence d’un code de politique explicite ou
d’un refus clair lié à la politique de contenu. La simple mention de
safety dans un
message, ou HTTP 502 seul, ne prouve pas une infraction. Si une tâche asynchrone reste
pending ou processing, continuez à interroger /v1/tasks/{task_id} avec le même
task_id ; ne soumettez pas de requête de génération en double.