Nano Banana : diagnostic des erreurs
Valeurs des paramètres : voir Nano Banana : texte vers image et tailles.
Partir du symptôme
400 Request contains an invalid argument
{
"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 :
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 :
É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
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
{
"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 :
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
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) :
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
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.