API Nano Banana 2 : comment l’utiliser pour vos projets
Nano Banana 2 est l’API texte vers image rapide de Google, conçue pour les développeurs qui intègrent la génération d’images par IA à grande échelle. Cet article couvre l’authentification, la mise en forme des requêtes, la gestion des erreurs, les limites de débit et l’utilisation pas à pas sur PicassoIA, avec des exemples de code fonctionnels en Python et Node.js.
Si vous devez générer des images de façon programmatique, l’API Nano Banana 2 de Google vous offre l’un des chemins les plus rapides entre un prompt texte et un résultat prêt pour la production. Disponible directement via l’infrastructure API de Google et via des plateformes comme PicassoIA, nano-banana-2 combine édition conversationnelle, fusion de plusieurs images et ancrage en temps réel sur le web, dans un modèle que vous pouvez appeler avec une simple requête HTTP POST. Que vous construisiez un pipeline de contenu, que vous livriez une fonctionnalité de visualisation de produits ou que vous prototypiez une application qui a besoin d’images d’IA à la demande, voici comment la mettre en place correctement.
Ce que fait réellement Nano Banana 2
La plupart des modèles texte vers image fonctionnent de la même manière : vous envoyez un prompt, le modèle renvoie une image. Nano Banana 2 fait cela, mais il ajoute trois capacités qui changent la façon dont vous concevez votre intégration.
Le contexte conversationnel signifie que le modèle se souvient de ce qu’il a généré dans la même session. Vous pouvez décrire un personnage une seule fois, puis envoyer des demandes de suivi comme « remplace l’arrière-plan par un toit au coucher du soleil » ou « passe la couleur de la veste en bordeaux », et le modèle conserve le fil visuel sans que vous ayez à répéter la description complète à chaque fois.
La fusion de plusieurs images vous permet de transmettre jusqu’à 14 images de référence dans une seule requête. Le modèle combine les éléments, les styles visuels ou les personnages de chaque entrée en un seul résultat cohérent. C’est particulièrement utile pour le travail de marque, lorsque vous avez besoin de visages, de logos ou de photos de produits cohérents sur plusieurs images générées.
L’ancrage en temps réel sur le web relie le processus de génération à Google Search. Si votre prompt fait référence à quelque chose d’actuel, comme un événement sportif récent, un produit tout juste sorti ou une tendance saisonnière, le modèle puise un contexte visuel frais sur le web au lieu de s’appuyer uniquement sur des données d’entraînement figées à une date de coupure.
Compromis entre vitesse et qualité
Le « nano » du nom correspond bien au modèle. Ce modèle est optimisé pour le débit. Sur des prompts courants, il génère plus vite que flux-1.1-pro ou sdxl, et la sortie 1K par défaut est immédiatement prête pour le web. Lorsque vous avez besoin d’une fidélité supérieure, passer à une résolution 2K ou 4K ajoute de la latence, mais produit des résultats qui tiennent pour l’impression ou l’affichage grand format numérique.
Sa place dans la gamme d’images de Google
Google propose plusieurs modèles texte vers image. Nano Banana 2 se situe entre le nano-banana d’origine et le nano-banana-pro haut de gamme. Pour comparer :
Pour la plupart des scénarios de développement d’applications, nano-banana-2 trouve le juste équilibre.
Configurer l’accès à l’API
Obtenir vos identifiants
L’accès à l’API Nano Banana 2 nécessite un token API. Vous l’obtenez via la plateforme Replicate, qui héberge le modèle sous la propriété de Google. Après avoir créé un compte et généré un token, stockez-le dans une variable d’environnement :
export REPLICATE_API_TOKEN="your_token_here"
Ne codez jamais les tokens en dur dans les fichiers source. Si vous déployez sur une plateforme cloud, utilisez le service de gestion des secrets de votre fournisseur plutôt que des fichiers .env.
Comprendre l’URL de base
L’API suit les conventions REST standard. Toutes les requêtes passent par le point de terminaison Replicate, avec l’identifiant du modèle dans le chemin. Le schéma général :
POST https://api.replicate.com/v1/models/{owner}/{model}/predictions
Pour nano-banana-2, cela donne :
POST https://api.replicate.com/v1/models/google/nano-banana-2/predictions
Chaque requête doit inclure deux en-têtes : Authorization: Bearer {token} et Content-Type: application/json.
L’anatomie d’une requête
Paramètres obligatoires
Un seul paramètre est obligatoire pour générer une image :
Paramètre
Type
Description
prompt
string
Description textuelle de l’image souhaitée
Cette simplicité est voulue. Une requête fonctionnelle peut tenir en cinq lignes de JSON :
{
"input": {
"prompt": "A modern studio apartment at golden hour, warm light from west-facing windows, wooden floors, minimal furniture"
}
}
Paramètres facultatifs qui modifient le résultat
C’est dans les paramètres facultatifs que se trouve le véritable contrôle :
Paramètre
Type
Par défaut
Remarques
resolution
string
1K
Options : 1K, 2K, 4K
aspect_ratio
string
match_input_image
15 préréglages, par ex. 16:9, 9:16, 1:1
image_input
array
[]
Jusqu’à 14 URL d’images de référence
image_search
boolean
false
Active l’ancrage via Google Image Search
google_search
boolean
false
Active l’ancrage via la recherche web en temps réel
output_format
string
jpg
jpg ou png
💡 Régler aspect_ratio sur 16:9 et resolution sur 2K couvre la majorité des cas d’usage pour le contenu web : pages de destination, en-têtes d’articles de blog et bannières de réseaux sociaux.
Lire la réponse JSON
Une prédiction réussie renvoie le code HTTP 201. Le corps de la réponse comprend un identifiant de prédiction et un champ d’état :
La génération est asynchrone. Vous interrogez l’URL get jusqu’à ce que status passe à succeeded, moment où output contient l’URL de l’image ou les données encodées en base64, selon votre configuration.
Du code qui fonctionne dès maintenant
Python en moins de 20 lignes
Le client Python replicate gère la boucle d’interrogation à votre place. Installez-le avec pip install replicate, puis :
import replicate
import os
client = replicate.Client(api_token=os.environ["REPLICATE_API_TOKEN"])
output = client.run(
"google/nano-banana-2",
input={
"prompt": "A professional product photo of a ceramic coffee mug on a marble surface, soft studio lighting, 4K, photorealistic",
"resolution": "2K",
"aspect_ratio": "1:1",
"output_format": "jpg"
}
)
# output is a list of FileOutput objects
image_url = str(output[0])
print(image_url)
La méthode client.run() attend jusqu’à la fin de la prédiction et renvoie directement le résultat. Pour les pipelines de production, passez à client.predictions.create() et gérez l’interrogation vous-même, afin de pouvoir traiter d’autres tâches pendant que les images sont générées.
Le schéma asynchrone en Node.js
Pour les développeurs JavaScript, le paquet npm Replicate propose la même abstraction :
import Replicate from "replicate";
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
async function generateImage(prompt, resolution = "1K") {
const output = await replicate.run("google/nano-banana-2", {
input: {
prompt,
resolution,
aspect_ratio: "16:9",
output_format: "jpg",
},
});
return output[0]; // URL to the generated image
}
generateImage("A minimalist home office setup, morning light, wooden desk, single plant")
.then(url => console.log("Generated:", url))
.catch(err => console.error("Failed:", err.message));
Pour les pipelines à fort volume, utilisez Promise.all() pour lancer plusieurs requêtes simultanément au lieu d’attendre chacune à la suite. Nano Banana 2 gère bien les requêtes concurrentes à la résolution 1K par défaut.
Utiliser Nano Banana 2 sur PicassoIA
Si vous préférez une approche sans code ou à faible code pour tester avant de construire votre intégration, PicassoIA vous donne un accès direct à nano-banana-2 via une interface de navigateur épurée. C’est aussi un moyen rapide de valider vos prompts avant de les intégrer à votre base de code.
Étape 1 : ouvrir la page du modèle
Rendez-vous sur la page nano-banana-2 de PicassoIA. Vous verrez le champ du prompt et toutes les options de configuration facultatives, présentées directement sur la page.
Étape 2 : rédiger un prompt efficace
Le prompt est le seul champ obligatoire. Rédigez en anglais simple et descriptif. Soyez précis sur l’éclairage, le décor, l’ambiance et le sujet. Les prompts vagues donnent des résultats génériques. Comparez ces deux exemples :
Faible : « A woman in a city »
Efficace : « A woman in her 30s with dark hair wearing a tan trench coat, walking through a rainy Paris street at dusk, wet cobblestones reflecting shop lights, shallow depth of field »
La version la plus forte donne des repères au modèle : une personne aux traits précis, un décor, un moment de la journée, des conditions météo et une caractéristique photographique. Nano Banana 2 répond bien à ce niveau de détail.
Étape 3 : régler la résolution et le format
Sélectionnez votre résolution dans la liste déroulante resolution :
1K pour les publications sur les réseaux sociaux, les miniatures ou les itérations rapides
2K pour les pages de destination, les en-têtes d’articles de blog et les pages produit
4K pour les supports imprimés, l’affichage grand format ou lorsque vous devez recadrer fortement
Choisissez le format parmi les 15 préréglages disponibles. Pour les bannières web, utilisez 16:9. Pour les contenus sociaux en orientation portrait, utilisez 9:16. Pour les publications carrées, utilisez 1:1.
💡 Si vous travaillez avec des images de référence, importez-les dans le champ Image Input. Le modèle en lit jusqu’à 14 à la fois et les utilise comme contexte visuel. C’est particulièrement efficace pour maintenir la cohérence de marque sur un ensemble d’images générées.
Étape 4 : activer l’ancrage web lorsque c’est pertinent
Activez Google Search si votre prompt concerne l’actualité, des lieux réels ou un contexte visuel sensible au temps. Activez Image Search si vous voulez que le modèle récupère de vraies images du web comme référence visuelle pour votre sujet. Les deux options ajoutent un peu de latence, mais améliorent nettement la pertinence des prompts contextuels.
Étape 5 : générer et télécharger
Cliquez sur le bouton de génération. Nano Banana 2 est rapide en 1K et renvoie généralement les résultats en quelques secondes. En 4K, comptez 15 à 30 secondes selon la charge du serveur. Téléchargez votre résultat directement depuis le panneau de résultats.
Les erreurs que vous rencontrerez
Codes d’état HTTP courants
La plupart des problèmes d’intégration viennent de l’un de ces quatre points : l’authentification, des corps de requête mal formés, les limites de débit ou des échecs de validation propres au modèle.
Code d’état
Signification
Solution
401
Token API invalide ou absent
Vérifiez votre en-tête Authorization et la valeur du token
422
Erreur de validation des données
Lisez le message d’erreur ; il s’agit généralement d’un champ obligatoire manquant ou d’un mauvais type de données
429
Limite de débit dépassée
Mettez en place un backoff exponentiel ; vérifiez la limite RPM de votre offre
500
Erreur serveur
Réessayez une fois ; si le problème persiste, consultez la page d’état de Replicate
L’erreur 422 est la plus fréquente pour les nouvelles intégrations. Le corps de la réponse contiendra un champ detail qui décrit précisément le paramètre en échec de validation et la raison.
Limites de débit et comment les respecter
Les comptes gratuits sur Replicate ont un plafond de requêtes par minute. Pour les charges de production, passez à une offre payante ou mettez en place une file d’attente locale qui regroupe les requêtes au lieu de toutes les envoyer d’un coup.
Un simple algorithme token bucket en Python :
import time
from collections import deque
class RateLimiter:
def __init__(self, max_per_minute):
self.max_per_minute = max_per_minute
self.requests = deque()
def wait_if_needed(self):
now = time.time()
while self.requests and self.requests[0] < now - 60:
self.requests.popleft()
if len(self.requests) >= self.max_per_minute:
sleep_time = 60 - (now - self.requests[0])
time.sleep(sleep_time)
self.requests.append(time.time())
Entourez chaque appel API avec rate_limiter.wait_if_needed() avant d’envoyer la requête, et vous ne rencontrerez jamais de 429 dans un pipeline de production.
Ce que vous pouvez créer avec cette API
Maquettes de produits pour le e-commerce
Plutôt que de planifier une séance photo produit à chaque ajout d’une référence, vous pouvez générer à la demande des photos de produits contextualisées. Transmettez votre image de produit via image_input, décrivez le décor souhaité (un plan de travail de cuisine, une table de bistrot, une scène de vie en extérieur), et nano-banana-2 intègre le produit dans un environnement photoréaliste. Pour les gammes de produits déclinées en plusieurs coloris, générez une scène de base et utilisez la fonction d’édition conversationnelle pour changer les couleurs dans des demandes de suivi, sans relancer une génération complète à chaque fois.
Pipelines de marketing de contenu
Les flux de travail de publication d’articles qui nécessitaient autrefois un graphiste peuvent passer par l’API. Au moment de la publication, votre CMS envoie le titre et le sujet de l’article à l’API, reçoit une image et l’attache automatiquement à l’article. Pour les campagnes liées à des sujets tendance, activez l’ancrage google_search afin que les images reflètent ce qui se passe réellement plutôt que ce que le modèle a appris pendant l’entraînement.
Prototypage d’applications avec de vraies images
Les images de remplacement ralentissent les revues de design. Lorsque vous intégrez nano-banana-2 à votre flux de prototypage, chaque écran de votre maquette affiche une image générée et contextuelle au lieu de blocs gris. Décrivez le contenu de la section et laissez l’API la remplir. Les parties prenantes voient des mises en page réalistes et donnent des retours plus exploitables.
Flux multi-modèles
Nano Banana 2 n’a pas à fonctionner seul. Une architecture courante l’associe à d’autres modèles pour un traitement séquentiel : utilisez nano-banana-2 pour générer rapidement un brouillon, puis transmettez le résultat à un modèle de super-résolution pour l’upscaler en vue de l’impression. Ou générez une image avec nano-banana-2, puis utilisez un modèle d’inpainting pour affiner des zones précises sans régénérer toute la composition.
PicassoIA vous donne accès à tous ces modèles au même endroit, y compris gpt-image-1.5 pour les tâches qui exigent de suivre des instructions et flux-2-pro pour une sortie photoréaliste très fidèle lorsque la qualité maximale est requise.
Les bons paramètres selon vos projets
Chaque type de projet appelle des configurations différentes. Voici un tableau de référence :
Type de projet
Résolution
Format
Ancrage web
Publication sur les réseaux sociaux
1K
1:1 ou 9:16
Désactivé
En-tête d’article de blog
2K
16:9
Désactivé
Maquette de produit
2K
1:1 ou 4:3
Désactivé
Contenu lié à un événement
1K
16:9
Activé (Google Search)
Travail sur la cohérence de marque
2K
Le format de votre marque
Désactivé + image_input
Supports imprimés
4K
4:3 ou personnalisé
Désactivé
Lorsque vous travaillez avec des images de référence via image_input, incluez au moins deux images si vous voulez que le modèle repère un style visuel. Une seule image de référence aboutit souvent à une imitation directe plutôt qu’à une adoption du style. Plusieurs références poussent le modèle à identifier le fil visuel commun entre elles.
Commencez à générer sur PicassoIA dès aujourd’hui
La façon la plus rapide de voir ce que nano-banana-2 peut faire pour votre cas d’usage précis consiste à tester quelques prompts avant d’écrire le moindre code d’intégration. PicassoIA vous donne un accès immédiat au modèle via ce lien, avec tous les paramètres visibles et réglables dans une seule interface.
Testez un prompt qui correspond à votre cas d’usage réel en production. Vérifiez d’abord le résultat en 1K pour la rapidité, puis passez en 2K ou 4K une fois que vous avez un prompt qui produit le style visuel souhaité. Une fois que vous avez trouvé une configuration qui fonctionne, reproduisez-la exactement dans vos appels API et vous obtiendrez des résultats constants à grande échelle.
Si vous avez besoin d’une sortie plus fidèle pour un travail commercial, comparez nano-banana-pro avec nano-banana-2 en utilisant les mêmes prompts et examinez les résultats côte à côte. La différence de qualité se voit en 4K et compte pour l’impression ou l’affichage grand format.
Au-delà de la génération d’images, PicassoIA propose aussi plus de 87 modèles de génération de vidéos, des outils de super-résolution pour upscaler vos sorties et la suppression d’arrière-plan pour les flux e-commerce. Tout fonctionne via la même interface ou via l’API.