HappyHorse 1.0 arrive bientôtEn savoir plus
Comment utiliser l'API Nano Banana 2 : Tutoriel complet avec exemples de code (2026)
Tutoriel

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

EvoLink Team
EvoLink Team
Product Team
27 février 2026
8 min de lecture

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

What Is Nano Banana 2

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.

Ne le confondez pas avec Nano Banana Pro (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.
Spécifications clés (source : blog Google) :
  • 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
Pour une comparaison détaillée entre NB2 et Pro, consultez notre analyse comparative.

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.

La réponse est simple : la génération d'images nécessite une clé API payante. Sans exception.

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

  1. Rendez-vous sur Google AI Studio
  2. Cliquez sur Get API KeyCreate API key
  3. Associez un compte de facturation dans Google Cloud Console → Billing
  4. Activez l'API Gemini dans votre projet
  5. Votre clé fonctionne désormais pour la génération d'images

Option B : Passerelle tierce

Si vous préférez éviter la configuration de la facturation Google Cloud, des passerelles comme EvoLink redirigent vers le même modèle avec un processus d'intégration plus simple : inscrivez-vous, obtenez une clé, ajoutez des crédits et commencez à générer.

Méthode 1 : Google AI Studio (sans code)

Le moyen le plus rapide de tester sans écrire de code :

  1. Ouvrez AI Studio
  2. Sélectionnez gemini-3.1-flash-image-preview dans le menu déroulant des modèles
  3. Saisissez un prompt : « Un chiot golden retriever photoréaliste dans un pré ensoleillé »
  4. 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-generativeai
import 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-ai
const { 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();

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 openai
from 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 openai
const 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ésolutionGoogle directEvoLinkÉ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.


Prompt Engineering Tips for Nano Banana 2

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

Styles photographiques : photorealistic, cinematic, studio lighting, 35mm film
Styles artistiques : watercolor, oil painting, digital art, anime, pixel art

Exploitez 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"
Solution : Vous utilisez une clé API gratuite. La génération d'images nécessite la facturation activée. Voir Prérequis.

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

Q : Nano Banana 2 est-il gratuit via l'API ?

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.

Q : Quel est l'ID du modèle pour Nano Banana 2 ?
R : gemini-3.1-flash-image-preview. Ne pas confondre avec gemini-3-pro-image-preview (Pro) ou gemini-2.5-flash-image (original).
Q : Combien coûte une image ?

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.

Q : NB2 vs NB Pro — lequel choisir ?
R : Par défaut, NB2. Plus rapide, ~50 % moins cher. Utilisez Pro uniquement pour une fidélité maximale ou un rendu de texte précis (94 % de précision). Voir la comparaison NB2 vs Pro.
Q : Quelles sont les limites de débit ?

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.

Q : Puis-je modifier des images avec NB2 ?

R : Oui. Via des conversations multi-turn — générez une image, puis décrivez les modifications dans les messages suivants.

Q : Quelles résolutions sont prises en charge ?

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.

Q : Les images sont-elles filigranées ?

R : SynthID (invisible) + C2PA Content Credentials. Non visibles à l'œil nu mais détectables par des outils de vérification.

Q : Comment passer de Pro à NB2 ?
R : Changez le modèle de 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 :

  1. Obtenez une clé API payante (Google AI Studio ou evolink.ai/signup)
  2. Copiez le code ci-dessus
  3. Exécutez-le

Prêt à réduire vos coûts IA de 89 % ?

Commencez avec EvoLink dès aujourd'hui et découvrez la puissance du routage intelligent des API.