Tutoriel
Comment utiliser l'API Nano Banana 2 ? Réalisez votre première image en 5 minutes
4 étapes pour l'essai en ligne, 4 étapes pour l'intégration API, avec des exemples curl et Python directement exécutables, l'édition par image de référence et un aide-mémoire des erreurs courantes.
TL;DR
- De quoi s'agit-il : Nano Banana 2, développé par Google, utilise un seul ID de modèle
nano-banana-2pour la génération d'images à partir de texte et l'édition par image de référence, avec jusqu'à 14 images de référence par requête. Déjà disponible sur HiAPI, ouvrez la page du modèle et saisissez un prompt pour générer ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription. - Combien ça coûte : facturation à l'image, 1K $0.036, 2K $0.057, 4K $0.086, sans supplément pour les images de référence, remboursement automatique en cas d'échec.
- Comment appeler l'API :
POST https://api.hiapi.ai/v1/tasks, metteznano-banana-2dansmodel, récupérez letaskIdpuis interrogez ou attendez le callback, téléchargezdata.output[0].url.
Que peut faire Nano Banana 2 ?
- Un modèle, deux usages. Avec seulement un prompt, c'est de la génération à partir de texte ; ajoutez
image_inputet cela devient de l'édition par image de référence, sans changer d'endpoint ni de mode. - Jusqu'à 14 images de référence par requête. Envoyez ensemble des photos produit sous plusieurs angles, des photos de mannequin et des photos de décor, idéal pour recréer un même article dans un autre décor, changer de tenue ou réaliser des séries visuelles de marque.
- 14 formats fixes plus auto. Outre les classiques 1:1, 4:5, 16:9, 21:9, il y a aussi 1:4, 4:1, 1:8, 8:1 ; en cas de doute, utilisez la valeur par défaut
auto. - Trois niveaux : 1K, 2K, 4K. Le 1K sert à tester les prompts, le 2K et le 4K pour les rendus finaux ; sortie PNG par défaut.
Voici une image d'exemple de la page du modèle Nano Banana 2, générée en 4:3 et 1K :

A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography, 4:3
Deux parcours de prise en main : essai en ligne ou API ?
Pour voir d'abord le résultat, choisissez l'essai en ligne ; pour intégrer dans un produit, choisissez l'API. Les deux parcours utilisent le même modèle et la même grille tarifaire.
Essai en ligne (environ 1 minute)
- Ouvrez la page du modèle Nano Banana 2, ou cliquez directement sur le lien sous l'image ci-dessus, le prompt sera prérempli.
- Inscrivez-vous ou connectez-vous, un nouveau compte dispose de 200 crédits.
- Choisissez le format et la résolution ; au tarif normal, une image 1K coûte 72 crédits.
- Cliquez sur générer, téléchargez si le résultat vous convient.
Intégration API (environ 5 minutes)
- Créez une clé API dans la console HiAPI (
sk-...). POST /v1/taskspour créer une tâche, récupérezdata.taskIddans la réponse.- Interrogez avec
GET /v1/tasks/{id}, ou ajoutezcallback.urldans le corps de la requête pour attendre la notification. - Une fois
data.statuspassé àsuccess, téléchargez l'image depuisdata.output[0].url.
À $0.036 l'image 1K, $10 permettent d'en produire environ 277, de quoi ajuster sereinement vos prompts. Pour tous les paramètres, voir la documentation en chinois.
Première image : version curl
Créer une tâche :
curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
"aspect_ratio": "4:3",
"resolution": "1K",
"output_format": "png"
}
}'
L'ID de tâche retourné se trouve dans data.taskId :
{"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}
Interroger le résultat :
curl --fail-with-body -sS https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer sk-YOUR_KEY"
Seul prompt est obligatoire. aspect_ratio vaut auto par défaut, resolution vaut 1K par défaut, output_format vaut png par défaut (option jpg).
Première image : version Python
Installez d'abord requests (python3 -m pip install requests), et définissez HIAPI_API_KEY dans le terminal (export HIAPI_API_KEY="sk-YOUR_KEY"). L'exemple ci-dessous crée une tâche, effectue un polling pendant 10 minutes maximum, puis télécharge l'image ; en cas de timeout, conservez le taskId pour continuer à interroger :
import os
import time
import uuid
import requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
HEADERS["Idempotency-Key"] = str(uuid.uuid4()) # Save with this business task before submitting.
payload = {
"model": "nano-banana-2",
"input": {
"prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
"aspect_ratio": "4:3",
"resolution": "1K",
"output_format": "png",
},
}
def task_data(response):
response.raise_for_status()
body = response.json()
if body.get("code") != 200:
raise RuntimeError(f"HiAPI request failed: {body}")
return body["data"]
task_id = task_data(requests.post(API, headers=HEADERS, json=payload, timeout=30))["taskId"]
print(f"taskId: {task_id}", flush=True) # Save this ID for later queries.
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
task = task_data(requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30))
if task["status"] == "success":
image_url = task["output"][0]["url"]
image = requests.get(image_url, timeout=60)
image.raise_for_status()
with open("nano-banana-2.png", "wb") as f:
f.write(image.content)
break
if task["status"] == "fail":
raise RuntimeError(f"task {task_id} failed: {task}")
time.sleep(3)
else:
raise TimeoutError(f"task {task_id} is still pending; query this ID instead of submitting again")
Édition par image de référence : ajoutez simplement image_input
Ajoutez image_input dans input, et la même requête devient une édition. L'exemple ci-dessous place une photo produit d'un flacon de sérum sur fond blanc sur un comptoir de salle de bain :
curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "Place this exact serum bottle, unchanged, on a white marble bathroom counter next to a folded beige linen towel, soft warm morning window light",
"image_input": ["https://static.hiapi.ai/blog/nano-banana-ecommerce-product-images-hiapi/shot-1-listing.jpg"],
"aspect_ratio": "4:3",
"resolution": "1K"
}
}'
image_input est un tableau d'URL, jusqu'à 14, il doit s'agir de liens d'images directement accessibles publiquement, SVG non pris en charge. Indiquez clairement dans le prompt « ce qu'il faut conserver » (this exact serum bottle, unchanged), l'étiquette produit et la forme du flacon seront plus stables. Les prompts complets et les images finales de cette série de recréations dans un autre décor sont dans le guide complet des prompts Nano Banana 2.
3 points à vérifier avant la mise en production
- Utilisez les callbacks côté serveur. Ajoutez au niveau supérieur du corps de la requête
"callback": {"url": "https://yourapp.com/webhook", "when": "final"}, la notification est automatique à la fin de la tâche ; succès et échec déclenchent tous deux un callback, dédupliquez partaskId. - Joignez une clé d'idempotence aux nouvelles tentatives. Chaque
POST /v1/taskscrée par défaut une nouvelle tâche et facture séparément. Ajoutez l'en-têteIdempotency-Key, générez et conservez une clé pour la même tâche métier ; après un timeout réseau, réessayez avec le même compte, la même clé et un corps de requête strictement identique, une seule tâche sera créée. - Téléchargez dès que vous obtenez le résultat. Les liens de sortie ont une durée de validité, enregistrez d'abord l'image dans votre propre stockage avant tout traitement ultérieur.
Erreurs courantes, une par ligne
- 400
additional properties ... not allowed→ nom de champ mal orthographié, ou champ d'un autre modèle (par exempleimage_urlsde Nano Banana 2 Lite, ousize) → remplacez parimage_input,resolution. - 400, valeur de
aspect_ratioincorrecte → format hors liste → choisissez l'une des 15 valeurs valides. - 401
permission_denied→ clé absente, mal écrite ou révoquée → vérifiez l'en-têteAuthorization: Bearer sk-..., recréez-la dans la console si nécessaire. - 402 → solde insuffisant, la tâche n'est pas créée et aucun frais n'est prélevé → rechargez puis réessayez.
- Tâche avec
statusàfail→ corrigez la requête selon le champerrorretourné, ne réessayez pas à l'identique ; le montant prélevé est automatiquement remboursé en totalité.
Questions fréquentes
Comment écrire l'ID de modèle ?
Écrivez nano-banana-2. Les noms de paramètres sont strictement identiques à Nano Banana 2.1 ; remplacez par gemini-nano-banana-2.1 pour passer à la 2.1.
Les images de référence sont-elles facturées en supplément ? Non. Le prix dépend uniquement de la résolution de sortie, que vous envoyiez 1 ou 14 images de référence.
Combien d'images peut-on obtenir par requête ? Une tâche produit une image. Pour en obtenir plusieurs, créez plusieurs tâches en parallèle, facturées à l'image.
Comment bénéficier du tarif promotionnel à durée limitée ? Aucune modification de code nécessaire. -50 % pour la fête des programmeurs jusqu'au 2026-11-09 00:00 (heure de Pékin), l'API et l'essai en ligne appliquent automatiquement la réduction de 50 %, soit $0.018 l'image 1K.
Série d'articles sur Nano Banana 2
- Page du modèle Nano Banana 2 : génération en ligne, 200 crédits offerts à l'inscription
- Combien coûte l'API Nano Banana 2 : prix unitaires 1K/2K/4K et budget mensuel
- GPT Image 2.5 vs Nano Banana 2 : comparaison sur 9 images avec le même prompt
- Guide complet des prompts Nano Banana 2 : 5 scénarios à copier pour générer directement
- Prix de l'API Nano Banana 2.1 : combien moins cher que NB 2
- Prix de l'API Nano Banana Pro : combien par image
- Documentation d'intégration en chinois de Nano Banana 2 : tous les paramètres
Essayez maintenant : cliquez sur Générer avec ce prompt → sous l'image de la forêt tropicale ci-dessus, le prompt est déjà rempli, choisissez le format 4:3 et la résolution 1K, lancez puis téléchargez le résultat, au tarif normal de $0.036 par image.
Articles similaires
Voir tous les articles →-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat