Note de l'auteur : Analyse de la limitation de Nano Banana 2 à une seule image par requête, explication de l'inefficacité des paramètres n et numberOfImages, comparaison avec les capacités de génération multi-images de modèles comme Seedream, et proposition de solutions efficaces pour la génération par lots.

De nombreux développeurs, lorsqu'ils appellent l'API Nano Banana 2, écrivent dans l'invite « génère 2 images », « quantité 4 », ou tentent de passer des paramètres comme n=4, numberOfImages=2 — rien ne fonctionne. Ce n'est pas un bug, mais une limitation de conception de Nano Banana 2 : chaque requête API ne peut produire qu'une seule image au maximum.
Valeur clé : Après avoir lu cet article, vous comprendrez la nature de la limitation de sortie unique de Nano Banana 2, éviterez les impasses, et maîtriserez la bonne approche pour générer des images par lots via des requêtes concurrentes multiples.
La vérité sur la limitation du nombre d'images générées par Nano Banana 2
Pourquoi Nano Banana 2 ne peut-il générer qu'une seule image ?
Nano Banana 2 utilise l'API generateContent de Gemini, et non une API de génération d'images indépendante (comme generateImages d'Imagen). Cela signifie que la génération d'images est intégrée dans un cadre de génération de contenu multimodal — le modèle peut produire un contenu mixte texte + images, mais ne génère qu'une seule image à la fois.
La documentation officielle de Google Vertex AI indique clairement :
Le modèle peut ne pas créer le nombre exact d'images que vous demandez.
(The model might not create the exact number of images you ask for.)
| Idée reçue courante | Réalité | Explication |
|---|---|---|
| Écrire « génère 4 images » dans l'invite | ❌ Inefficace | Le modèle ignore l'instruction de quantité, produit toujours 1 image |
Passer le paramètre n=2 |
❌ Inefficace | L'API generateContent ne prend pas en charge le paramètre n |
Passer le paramètre numberOfImages=4 |
❌ Inefficace | Ce paramètre est réservé à l'API Imagen, pas à Gemini |
Passer le paramètre number_of_images=2 |
❌ Inefficace | Idem, la génération d'images Gemini ne reconnaît pas ce paramètre |
| Écrire « génère plusieurs images » dans l'invite | ❌ Non fiable | Le modèle peut ne renvoyer que du texte ou 1 seule image |
Différence clé entre la génération d'images de Nano Banana 2 et l'API Imagen
De nombreux développeurs confondent les deux API, c'est la raison principale pour laquelle les paramètres ne fonctionnent pas :
| Point de comparaison | Nano Banana 2 (Gemini) | Imagen 4 |
|---|---|---|
| Type d'API | generateContent |
generateImages / predict |
| ID du modèle | gemini-3.1-flash-image-preview |
imagen-4.0-generate-001 |
| Format de sortie | Mixte texte + image | Images uniquement |
| Nombre de sorties par requête | 1 image | 1-4 images (numberOfImages) |
Paramètre n |
❌ Non supporté | ✅ Supporté (1-4) |
| Sortie image uniquement | ❌ Doit contenir du texte | ✅ Supporté |
| Édition conversationnelle | ✅ Support multi-tours | ❌ Non supporté |
| Rendu de texte | ✅ Excellent | ⚠️ Moyen |
⚠️ Rappel important : Nano Banana 2 est basé sur l'architecture Gemini, qui utilise l'interface
generateContent. Cette interface est conçue pour la conversation multimodale, pas pour la génération d'images en lot. C'est pourquoi elle n'a pas de paramètrenet ne renvoie pas plusieurs images en une seule requête.

La bonne approche pour la génération par lots avec Nano Banana 2
Puisqu'une seule requête ne peut générer qu'1 image, il n'y a qu'une seule voie pour générer des images en lots : des requêtes concurrentes multiples.
Solution 1 : Requêtes asynchrones concurrentes en Python
import asyncio
import aiohttp
import base64
import json
API_KEY = "votre-clé-api-apiyi"
ENDPOINT = "https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent"
async def generate_one(session, prompt, index):
"""Génère une seule image"""
headers = {"Content-Type": "application/json", "x-goog-api-key": API_KEY}
payload = {
"contents": [{"parts": [{"text": prompt}]}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "2K"}
}
}
async with session.post(ENDPOINT, headers=headers, json=payload) as resp:
result = await resp.json()
img = result["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
with open(f"output_{index}.png", "wb") as f:
f.write(base64.b64decode(img))
print(f"Image {index+1} sauvegardée")
async def batch_generate(prompt, count=4):
"""Génère plusieurs images de manière concurrente"""
async with aiohttp.ClientSession() as session:
tasks = [generate_one(session, prompt, i) for i in range(count)]
await asyncio.gather(*tasks)
asyncio.run(batch_generate("Un chat de style cyberpunk, fond néon", count=4))
Conseil : L'appel de Nano Banana 2 via APIYI (apiyi.com) n'a pas de limite de concurrence, vous pouvez envoyer simultanément n'importe quel nombre de requêtes sans craindre de limitation 429. La plateforme propose un outil de test gratuit de génération d'images AI Image Master: imagen.apiyi.com, pour expérimenter sans code.
Solution 2 : Concurrence synchrone avec un pool de threads
import requests
import base64
from concurrent.futures import ThreadPoolExecutor
API_KEY = "votre-clé-api-apiyi"
ENDPOINT = "https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent"
def generate_one(args):
prompt, index = args
headers = {"Content-Type": "application/json", "x-goog-api-key": API_KEY}
payload = {
"contents": [{"parts": [{"text": prompt}]}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}
resp = requests.post(ENDPOINT, headers=headers, json=payload, timeout=120)
img = resp.json()["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
with open(f"output_{index}.png", "wb") as f:
f.write(base64.b64decode(img))
return f"Image {index+1} terminée"
with ThreadPoolExecutor(max_workers=8) as pool:
prompt = "Un chat de style cyberpunk, fond néon"
results = pool.map(generate_one, [(prompt, i) for i in range(8)])
for r in results:
print(r)
Comparaison des capacités de génération d'images multiples entre Nano Banana 2 et d'autres modèles
Le support de la « génération de plusieurs images par requête » varie considérablement selon les modèles d'IA de génération d'images.

| Modèle | Nombre maximum par requête | Paramètre n | Type d'API | Mode de facturation multi-images |
|---|---|---|---|---|
| Nano Banana 2 | 1 image | ❌ Non supporté | generateContent | Facturé par requête |
| Imagen 4 | 4 images | ✅ numberOfImages | generateImages | Facturé par image générée |
| Seedream 4.5/5.0 | 15 images | ✅ n (1-15) | API dédiée | Facturé par nombre réel d'images |
| DALL-E 3 | 1 image | ✅ n=1 (fixe) | images/generations | Facturé par image |
| GPT-4o Image | 1 image | ❌ Non supporté | chat/completions | Identique à Nano Banana 2 |
| Flux 1.1 Pro | 4 images | ✅ num_images | API dédiée | Facturé par image |
Analyse des coûts de génération par lots avec la limitation d'une seule image de Nano Banana 2
Bien que Nano Banana 2 ne puisse générer qu'une image à la fois, l'efficacité réelle n'est pas faible grâce aux requêtes concurrentes – la clé est de savoir si la plateforme limite la concurrence.
| Scénario | Google Officiel (Niveau 1) | Google Officiel (Niveau 3) | APIYI |
|---|---|---|---|
| Limite de concurrence | 10 RPM | 60 RPM | Aucune |
| Temps pour 100 images (1K) | ~10 minutes | ~2 minutes | ~1-2 minutes |
| Coût pour 100 images (1K) | $6.70 | $6.70 | $4.50 (par requête) / $2.50 (par volume) |
| Coût pour 100 images (4K) | $15.10 | $15.10 | $4.50 (par requête) / $4.50 (par volume) |
| Risque d'erreur 429 | Élevé | Moyen | Aucun |
🎯 Conclusion principale : La limitation d'une seule image de Nano Banana 2 n'est pas un problème, la limite de concurrence est le véritable goulot d'étranglement. L'appel sans limite de concurrence sur APIYI (apiyi.com), combiné avec du code asynchrone concurrent, rend l'efficacité de la génération par lots bien supérieure à celle de l'attente dans la file d'attente avec les limites de la plateforme officielle Google.
Questions fréquentes
Q1 : Que se passe-t-il si j’écris « générer 4 images » dans l’invite de Nano Banana 2 ?
Le modèle ignore les instructions de quantité. Nano Banana 2 est basé sur l'API generateContent de Gemini, qui produit systématiquement 1 seule image par requête. La documentation de Google Vertex AI indique clairement : « Le modèle ne suit pas nécessairement le nombre d'images explicitement demandé par l'utilisateur ». Pour obtenir plusieurs images, vous devez envoyer plusieurs requêtes indépendantes.
Q2 : Quelle est la différence entre le paramètre `n` de Seedream et Nano Banana 2 ?
Seedream (ByteDance) prend en charge nativement le paramètre n (1-15), permettant de générer plusieurs images en une seule requête API, facturées au nombre réel d'images générées. Nano Banana 2 ne possède pas ce paramètre et ne peut générer qu'une seule image à la fois. Cependant, Nano Banana 2 offre des avantages en termes de qualité d'image et de rendu du texte. Pour les besoins en volume, la solution est d'utiliser des requêtes concurrentes. Nous recommandons d'utiliser APIYI (apiyi.com) pour les appels, sans limitation de concurrence.
Q3 : Quelles sont les limites pour les appels concurrents à Nano Banana 2 via APIYI ?
La plateforme APIYI n'impose aucune limite de concurrence (pas de restrictions RPM/RPD/IPM). Vous pouvez lancer des dizaines, voire des centaines de requêtes simultanées. La facturation est par image : 0,045 $/image (4K incluse) ou environ 0,02 $ à 0,05 $/image en fonction du volume. Dans votre code, il suffit de remplacer le point de terminaison API officiel de Google par api.apiyi.com ; tout le reste reste entièrement compatible.
Résumé
Points clés sur la limitation du nombre d'images générées par Nano Banana 2 :
- Une seule image par requête : Nano Banana 2 utilise l'API
generateContent, qui ne prend pas en charge les paramètresnounumberOfImages. Les instructions de quantité dans l'invite sont également ignorées. - Ce n'est pas un bug, c'est une conception : La génération d'images des modèles Gemini est intégrée dans un cadre de dialogue multimodal, différent de l'architecture API dédiée d'Imagen.
- Le volume passe par la concurrence : La bonne méthode pour générer plusieurs images est d'utiliser des requêtes concurrentes (asynchrones/pool de threads). L'efficacité dépend des limites de concurrence de la plateforme.
- La limite de concurrence est le vrai goulot d'étranglement : Le niveau 1 officiel de Google n'offre que 10 RPM, et le niveau 3 seulement 60 RPM.
Nous recommandons d'utiliser Nano Banana 2 via APIYI (apiyi.com) : pas de limite de concurrence, prix à partir de 0,045 $/image (4K incluse, soit moins de 30 % du prix officiel), et tarification au volume d'environ 0,02 $ à 0,05 $/image. La plateforme propose également un outil gratuit de génération d'images IA : imagen.apiyi.com, compatible avec le format d'appel natif de Google.
📚 Références
-
Documentation Google AI sur la génération d'images : Guide officiel d'utilisation de Nano Banana 2
- Lien :
ai.google.dev/gemini-api/docs/image-generation - Description : Méthode d'appel de l'API
generateContentet explication des paramètres pour Nano Banana 2
- Lien :
-
Limitations de génération d'images Vertex AI : Liste des limitations connues de la génération d'images Gemini
- Lien :
docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/gemini-image-generation-limitations - Description : La documentation officielle indique clairement que « le modèle ne génère pas nécessairement exactement le nombre d'images demandé par l'utilisateur »
- Lien :
-
Documentation de l'API Imagen : Explication du paramètre
numberOfImages- Lien :
ai.google.dev/gemini-api/docs/imagen - Description : L'API indépendante Imagen prend en charge le paramètre
numberOfImages(1-4), ce qui diffère de l'interfacegenerateContentde Gemini
- Lien :
-
Documentation APIYI Nano Banana 2 : Méthode d'appel sans limitation de concurrence
- Lien :
docs.apiyi.com/en/api-capabilities/nano-banana-2-image - Description : APIYI n'a pas de limite de concurrence, prend en charge le format natif Google, c'est le choix optimal pour la génération d'images par lots
- Lien :
Auteur : Équipe technique APIYI
Échanges techniques : N'hésitez pas à discuter dans les commentaires. Pour plus de ressources, visitez le centre de documentation APIYI à docs.apiyi.com
