
Comment utiliser l'API Nano Banana 2 : Tutoriel complet avec exemples de code (2026)

En bref
- Nano Banana 2 (
gemini-3.1-flash-image-preview) a été lancé le 26 fév. 2026 — qualité de niveau Pro à la vitesse Flash - Nécessite une clé API payante. Le quota gratuit pour la génération d'images est de zéro
- Tarifs Google : $0.101/image (2K), $0.150/image (4K). EvoLink propose ~20 % moins cher à $0.0806 (2K)
- Trois façons d'y accéder : Google AI Studio (sans code), Gemini API (Python/Node.js) ou via une passerelle unifiée
- Ce tutoriel vous permet de générer des images en moins de 10 minutes
Qu'est-ce que Nano Banana 2 ?
Nano Banana 2 est le dernier modèle de génération d'images de Google, basé sur Gemini 3.1 Flash Image. Le 26 février 2026, Nano Banana 2 a remplacé Nano Banana Pro comme modèle d'image par défaut dans les modes Fast, Thinking et Pro de l'application Gemini.
gemini-3-pro-image-preview), qui est un modèle différent optimisé pour une fidélité maximale. NB2 mise sur la vitesse et le coût — une qualité proche du niveau Pro, nettement plus rapide.- ID du modèle :
gemini-3.1-flash-image-preview - Résolution : 512px à 4K, rapports d'aspect natifs incluant 4:1, 1:4, 8:1, 1:8
- Cohérence des sujets : Jusqu'à 5 personnages + 14 objets par génération
- Rendu de texte : Texte multilingue amélioré dans l'image
- Niveaux de Thinking : Minimal (par défaut) vs. Élevé/Dynamique pour les prompts complexes
- Identification IA : SynthID + C2PA Content Credentials
Prérequis : Ce dont vous avez besoin avant de commencer
C'est ici que la plupart des développeurs bloquent. Sur Reddit, la plainte numéro 1 concerne les erreurs de quota sans comprendre pourquoi.
Si vous essayez avec une clé gratuite, vous obtiendrez :
"Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0"
Option A : Facturation Google Cloud
- Rendez-vous sur Google AI Studio
- Cliquez sur Get API Key → Create API key
- Associez un compte de facturation dans Google Cloud Console → Billing
- Activez l'API Gemini dans votre projet
- Votre clé fonctionne désormais pour la génération d'images
Option B : Passerelle tierce
Méthode 1 : Google AI Studio (sans code)
Le moyen le plus rapide de tester sans écrire de code :
- Ouvrez AI Studio
- Sélectionnez
gemini-3.1-flash-image-previewdans le menu déroulant des modèles - Saisissez un prompt : « Un chiot golden retriever photoréaliste dans un pré ensoleillé »
- Cliquez sur Run
Si vous voyez « only available for paid tier users », votre facturation n'est pas encore associée (voir les Prérequis ci-dessus).
Idéal pour tester des prompts avant d'écrire du code d'intégration.
Méthode 2 : Gemini API directe
Python
pip install google-generativeaiimport google.generativeai as genai
import base64
genai.configure(api_key="YOUR_PAID_API_KEY")
model = genai.GenerativeModel("gemini-3.1-flash-image-preview")
response = model.generate_content(
"A photorealistic golden retriever puppy sitting in a sunlit meadow, "
"soft bokeh background, warm afternoon light",
generation_config=genai.GenerationConfig(
response_modalities=["image", "text"], # Optional; model defaults to both text and image
),
)
for part in response.parts:
if part.inline_data:
image_data = base64.b64decode(part.inline_data.data)
with open("output.png", "wb") as f:
f.write(image_data)
print("Image saved to output.png")
elif part.text:
print(f"Response: {part.text}")Node.js
npm install @google/generative-aiconst { GoogleGenerativeAI } = require("@google/generative-ai");
const fs = require("fs");
const genAI = new GoogleGenerativeAI("YOUR_PAID_API_KEY");
async function generateImage() {
const model = genAI.getGenerativeModel({
model: "gemini-3.1-flash-image-preview",
});
const result = await model.generateContent({
contents: [
{
role: "user",
parts: [
{
text: "A photorealistic golden retriever puppy sitting in a sunlit meadow, soft bokeh background, warm afternoon light",
},
],
},
],
generationConfig: {
responseModalities: ["image", "text"],
},
});
const response = result.response;
for (const part of response.candidates[0].content.parts) {
if (part.inlineData) {
const buffer = Buffer.from(part.inlineData.data, "base64");
fs.writeFileSync("output.png", buffer);
console.log("Image saved to output.png");
} else if (part.text) {
console.log("Response:", part.text);
}
}
}
generateImage();Méthode 3 : Passerelle compatible OpenAI (EvoLink)
Si vous utilisez déjà le SDK OpenAI, vous pouvez générer des images sans modifier la structure de votre code — il suffit de pointer vers une URL de base différente.
Python (OpenAI SDK)
pip install openaifrom openai import OpenAI
client = OpenAI(
api_key="YOUR_EVOLINK_API_KEY",
base_url="https://api.evolink.ai/v1",
)
response = client.chat.completions.create(
model="gemini-3.1-flash-image-preview",
messages=[
{
"role": "user",
"content": "A photorealistic golden retriever puppy sitting in a sunlit meadow",
}
],
)
print(response.choices[0].message.content)Node.js (OpenAI SDK)
npm install openaiconst OpenAI = require("openai");
const client = new OpenAI({
apiKey: "YOUR_EVOLINK_API_KEY",
baseURL: "https://api.evolink.ai/v1",
});
async function generateImage() {
const response = await client.chat.completions.create({
model: "gemini-3.1-flash-image-preview",
messages: [
{
role: "user",
content:
"A photorealistic golden retriever puppy sitting in a sunlit meadow",
},
],
});
console.log(response.choices[0].message.content);
}
generateImage();Pourquoi utiliser une passerelle ? Une seule clé API pour plusieurs modèles (NB2, Pro, GPT-4o Image, Seedream). Pas de configuration de facturation Google Cloud. Même modèle, même résultat.
Détail des tarifs
| Résolution | Google direct | EvoLink | Économie |
|---|---|---|---|
| 2K | $0.101 | $0.0806 | ~20 % |
| 4K | $0.150 | $0.1210 | ~19 % |
Les coûts des tokens de texte sont négligeables (~$0.0001 par prompt). Le coût principal provient du token de sortie d'image.
Pour les charges de travail par lots (plus de 100 images/jour), les économies s'accumulent rapidement.
Conseils de Prompt Engineering
Soyez précis
❌ "A dog"
✅ "A photorealistic golden retriever puppy sitting in a sunlit meadow, soft bokeh background, warm afternoon light"
Utilisez des mots-clés de style
photorealistic, cinematic, studio lighting, 35mm filmwatercolor, oil painting, digital art, anime, pixel artExploitez les niveaux de Thinking
Pour les prompts complexes avec plusieurs sujets, activez un niveau de thinking plus élevé :
generation_config=genai.GenerationConfig(
response_modalities=["image", "text"],
thinking_config={"thinking_budget": 1024}, # Higher = more reasoning
)Édition Multi-Turn
Générez une image, puis affinez-la dans les messages suivants :
Turn 1: "A modern minimalist living room with a large window"
Turn 2: "Add a orange tabby cat sleeping on the couch"
Turn 3: "Change the time to sunset, warm golden light through the window"
Dépannage
Erreur de quota dépassé
"Quota exceeded for metric: generate_content_free_tier_input_token_count"
400 Bad Request
Causes courantes :
- Faute de frappe dans l'ID du modèle
- Rapport d'aspect non pris en charge
Réponse textuelle au lieu d'une image
responseModalities est optionnel. Le modèle renvoie par défaut à la fois du texte et une image. Si votre SDK/client ne renvoie que du texte, configurez responseModalities pour inclure IMAGE :generation_config=genai.GenerationConfig(
response_modalities=["image", "text"],
)FAQ
R : Non. La génération d'images nécessite une clé API payante avec facturation activée. Le quota du niveau gratuit est de 0.
gemini-3.1-flash-image-preview. Ne pas confondre avec gemini-3-pro-image-preview (Pro) ou gemini-2.5-flash-image (original).R : 2K : $0.101 en direct chez Google. 4K : $0.150. Plus des coûts négligeables de tokens de texte (~$0.0001/prompt). Tarifs en date de février 2026.
R : Les limites RPM de Google varient selon le niveau de facturation et ne sont pas entièrement documentées. Implémentez un backoff exponentiel pour les erreurs 429.
R : Oui. Via des conversations multi-turn — générez une image, puis décrivez les modifications dans les messages suivants.
R : 512px, 1K, 2K, 4K. Rapports d'aspect : 1:1, 16:9, 9:16, 4:3, 3:4, 4:1, 1:4, 8:1, 1:8.
R : SynthID (invisible) + C2PA Content Credentials. Non visibles à l'œil nu mais détectables par des outils de vérification.
gemini-3-pro-image-preview à gemini-3.1-flash-image-preview. L'interface API est identique, aucune autre modification de code nécessaire.Commencez à générer
Trois étapes :
- Obtenez une clé API payante (Google AI Studio ou evolink.ai/signup)
- Copiez le code ci-dessus
- Exécutez-le


