Skip to Content
ModèlesNano BananaDiagnostic des erreurs

Nano Banana : diagnostic des erreurs

Valeurs des paramètres : voir Nano Banana : texte vers image et tailles.

Partir du symptôme

L'essentielIdentifiez d’abord la catégorie du problème : paramètre invalide, format incorrect, pas d’image renvoyée ou délai dépassé.
SymptômeCause la plus fréquenteAller à
400 Request contains an invalid argumentFormat ou résolution hors de ce que le modèle prend en chargeinvalid argument
Format ou résolution de sortie différents de ceux attendusimageConfig mal placé, ou valeur non prise en charge par ce modèleFormat ou résolution incorrects
Aucune image trouvée dans la réponseSeul le premier élément de parts a été lu, ou la requête a été bloquée par la politique de sécuritéPas d’image
410 model_deprecatedUtilisation d’un ID de modèle -preview retiré410
Le résultat de l’édition n’a aucun rapport avec l’image d’origineImage de référence mal transmiseÉcriture de l’édition
Délai dépassé, 504, 524Délai d’attente du client ou du proxy trop courtDélai dépassé

400 Request contains an invalid argument

400 Bad Request
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT" } }

Cette erreur n’indique pas quel paramètre est en cause. D’après nos tests, tous les cas suivants la renvoient :

RequêteCauseSolution
aspectRatio: "5:3"Format absent de la liste prise en chargeUtilisez un format pris en charge ; voir Valeurs prises en charge par modèle
aspectRatio: "1:8" avec Nano BananaLa génération précédente ne prend pas en charge 1:4, 4:1, 1:8, 8:1Passez à Nano Banana 2 ou 2 Lite
imageSize: "512" ou "2K" avec 2 Lite2 Lite ne prend en charge que 1KPassez à 1K, ou utilisez Nano Banana 2
imageSize: "512" avec ProPro ne prend pas en charge le niveau 512Passez à 1K ou plus
imageSize: "8K" avec n’importe quel modèleLe maximum est 4KPassez à 4K ou moins

Méthode de diagnostic : retirez d’abord imageConfig et réessayez ; si la génération fonctionne, le problème vient du format ou de la résolution. Rajoutez-les ensuite un par un pour l’isoler.

Format ou résolution incorrects

Vérifiez d’abord la largeur et la hauteur réelles de l’image produite, puis reportez-vous au tableau ci-dessous :

SituationSolution
imageConfig placé au premier niveau du corps de la requête, au même niveau que contentsDéplacez-le dans generationConfig ; voir l’écriture correcte ci-dessous
Pro avec un besoin de 1:4, 4:1, 1:8, 8:1Pro ne prend pas en charge ces quatre formats ; utilisez Nano Banana 2 ou 2 Lite
Nano Banana (2.5) avec un besoin de 2K ou 4K2.5 ne prend pas en charge imageSize ; utilisez Nano Banana 2 ou Pro
Taille définie via l’endpoint compatible OpenAICet endpoint définit le format avec aspect_ratio et ne prend pas en charge de paramètre de résolution ; pour du 2K ou du 4K, utilisez l’endpoint natif
Aucun format transmisLe modèle choisit le format ; pour un format fixe, passez aspectRatio explicitement

Écriture correcte :

{ "contents": [{ "parts": [{ "text": "..." }] }], "generationConfig": { "responseModalities": ["IMAGE"], "imageConfig": { "aspectRatio": "9:16", "imageSize": "2K" } } }

Les deux écritures imageConfig / image_config et aspectRatio / aspect_ratio sont reconnues ; nous avons vérifié que image_config: { aspect_ratio: "9:16" } produit bien du 768×1376.

Pas d’image dans la réponse

CauseSolution
Seul parts[0] a été luLa réponse peut contenir à la fois du texte et une image, et l’image n’est pas forcément le premier élément. Parcourez parts pour trouver l’élément qui contient inlineData
Requête bloquée par la politique de sécuritéVoir Blocages de sécurité ci-dessous

Dans des clients comme Cherry Studio ou LobeHub, ajoutez le modèle en tant que modèle de génération d’images, et non comme modèle de chat.

410 model_deprecated

410 Gone
{ "error": { "message": "Model 'google/gemini-3-pro-image-preview' is deprecated and no longer accepts requests; please switch to an active model", "type": "model_deprecated", "code": 410 } }

Les anciens ID se terminant par -preview ont été retirés ; utilisez les ID de la version stable :

RetiréRemplacer par
google/gemini-3-pro-image-previewgoogle/gemini-3-pro-image
google/gemini-3.1-flash-image-previewgoogle/gemini-3.1-flash-image

Dans le chemin de l’endpoint natif, l’ID de modèle peut comporter ou non le préfixe google/ ; nos tests confirment que les deux fonctionnent.

Le résultat de l’édition n’a aucun rapport avec l’image d’origine

ÉcritureSolution
input_images envoyé à /v1/images/generationsinput_images est un champ propre à Qwen-Image, non pris en charge par Gemini. Téléversez le fichier sur /v1/images/edits, ou utilisez inlineData sur l’endpoint natif

Pour vérifier que l’image de référence a bien été lue : sur l’endpoint natif, regardez si usageMetadata.promptTokensDetails contient un élément IMAGE ; sur l’endpoint compatible OpenAI, regardez usage.input_tokens_details.image_tokens. Nous avons mesuré 1 120 tokens pour une image de référence de 1024×1024.

Blocages de sécurité

Lorsqu’une requête est bloquée par la politique de sécurité, la réponse ne contient pas d’image et la raison figure dans finishReason ou promptFeedback.blockReason. Signification de chaque valeur (selon les définitions officielles de Google) :

Valeur du champSignificationSolution
finishReason: "IMAGE_SAFETY"L’image générée a été jugée non conformeModifiez la consigne ; réessayer à l’identique ne change pas le résultat
finishReason: "PROHIBITED_CONTENT" ou blockReason: "PROHIBITED_CONTENT"La consigne ou l’image de référence touche à un contenu interditModifiez la consigne ou changez d’image de référence
blockReason: "SAFETY"La consigne a été bloquée par la politique de sécuritéModifiez la consigne
finishReason: "NO_IMAGE", "IMAGE_OTHER"Le modèle n’a pas généré d’imageRendez la consigne plus explicite, ou réessayez plus tard

Votre code ne doit pas supposer que la réponse contient toujours une image : vérifiez d’abord que candidates existe et que finishReason vaut STOP, puis lisez inlineData. Définition de chaque champ : Gemini API · FinishReason .

Délai dépassé, 504, 524

L’API est synchrone : nous avons mesuré environ 5 à 20 secondes en 1K et environ 30 secondes en 4K, davantage aux heures de pointe. Le délai par défaut courant de 60 secondes ne suffit pas.

  • Réglez le délai d’attente du client sur 300 secondes ou plus.
  • Vérifiez le délai des proxys intermédiaires comme Nginx, Vercel ou Cloudflare, dont la valeur par défaut n’est souvent que de 60 à 100 secondes.
  • Un PNG 4K pèse environ 16 Mo et le corps de la réponse dépasse 20 Mo : vérifiez que vos proxys ne tronquent pas les réponses volumineuses.

Si le client se déconnecte avant la fin, la requête est tout de même facturée.

Autres erreurs

ErreurCauseSolution
Invalid JSON payload received. Unknown name "image_size": Cannot find field.image_size envoyé à l’endpoint compatible OpenAICet endpoint ne prend pas en charge de paramètre de résolution ; utilisez imageSize sur l’endpoint natif
404 model_not_foundID de modèle mal orthographiéCopiez-le depuis la liste des ID de modèle
429Fréquence de requêtes trop élevéeRéduisez la concurrence, attendez puis réessayez ; voir Limites de débit

Lorsque vous contactez le support technique, fournissez le request_id de la réponse et le message d’erreur complet.

FAQ

Que faire face à l'erreur Nano Banana Request contains an invalid argument ?

Cette erreur n'indique pas le paramètre en cause ; le plus souvent, le format ou la résolution sort de ce que le modèle prend en charge. Par exemple, 5:3 n'est pas un format pris en charge ; Nano Banana 2 Lite n'a que 1K ; Pro n'a pas 512 ; tous les modèles sont limités à 4K. Retirez d'abord imageConfig et réessayez, puis rajoutez les paramètres un par un pour isoler le problème.

Nano Banana : aspectRatio est défini mais le format est incorrect, que faire ?

Vérifiez d'abord que imageConfig se trouve dans generationConfig et non au premier niveau du corps de la requête. Vérifiez ensuite que le modèle prend en charge la valeur : Pro ne prend pas en charge 1:4, 4:1, 1:8, 8:1 ; la génération précédente Nano Banana ne prend pas en charge imageSize.

Pourquoi ne trouve-t-on pas d'image dans la réponse de Nano Banana ?

Le plus souvent, le code ne lit que le premier élément de parts alors que l'image se trouve après ; parcourez parts pour trouver inlineData. L'autre cause possible est un blocage par la politique de sécurité ; dans ce cas, finishReason ne vaut pas STOP.

gemini-3-pro-image-preview renvoie 410 model_deprecated, que faire ?

Les ID de préversion ont été retirés. Remplacez google/gemini-3-pro-image-preview par google/gemini-3-pro-image, et google/gemini-3.1-flash-image-preview par google/gemini-3.1-flash-image.

Que faire quand Nano Banana renvoie IMAGE_SAFETY ?

IMAGE_SAFETY signifie que l'image générée a été jugée non conforme par la politique de sécurité ; réessayer à l'identique ne change pas le résultat. Modifiez la consigne en évitant les personnes réelles, les personnages protégés par le droit d'auteur ou les contenus sensibles, puis réessayez.

L'image de référence est sans effet lors d'une édition avec Nano Banana ?

input_images est un champ de Qwen-Image, non pris en charge par Gemini. Téléversez plutôt le fichier sur /v1/images/edits, ou, sur l'endpoint natif Gemini, placez l'image en inlineData dans le même parts que le texte.

Dernière mise à jour le