Guide d'utilisation
Comment utiliser l'API Nano Banana Pro ? Générez votre première image en 5 minutes
4 étapes pour l'essayer en ligne, 4 étapes pour l'intégrer via l'API, avec des exemples curl et Python directement exécutables, la modification par image de référence et un mémo des erreurs courantes.
TL;DR
- C'est quoi : Gemini 3 Pro Image, édité par Google, le modèle phare de la série Nano Banana, qui utilise le même ID de modèle
nano-banana-propour la génération à partir de texte et la modification par image de référence. 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, soit de quoi produire 1 image 2K au tarif standard. - Combien ça coûte : facturation à l'image, 1K et 2K au même prix de 0,057 $, 4K à 0,1 $, calculé par image générée, soit environ 57 % à 58 % moins cher que le tarif standard officiel de Google, sans surcoût pour les images de référence.
- Comment appeler l'API :
POST https://api.hiapi.ai/v1/tasks, indiqueznano-banana-prodansmodel, récupérez letaskIdpuis interrogez le statut ou attendez le callback, et téléchargezdata.output[0].url.
Les frais de tokens d'entrée de Google sont facturés séparément ; la comparaison de prix ci-dessus porte sur le prix par image générée.
Que peut faire Nano Banana Pro ?
- 2K sans surcoût. 1K et 2K coûtent tous deux 0,057 $ l'image, vous générez directement en 2K ; le 4K à 0,1 $ l'image est réservé à l'impression et aux grands écrans.
- Écrire du texte dans l'image. Les phrases courtes en anglais comme les enseignes, les titres d'affiches ou les dates s'écrivent directement dans le prompt ; les deux lignes de l'enseigne en feuille d'or ci-dessous sont correctes du premier coup, sans aucune retouche.
- Jusqu'à 8 images de référence. Avec seulement un prompt, c'est de la génération à partir de texte ; ajoutez
image_inputet cela devient de la modification ou de la fusion multi-images, avec le même ID de modèle, sans deux jeux de code. - 10 formats plus auto. Les ratios courants 1:1, 4:5, 3:4, 9:16, 16:9, 21:9 sont tous disponibles. Pour des formats allongés comme 1:4 ou 8:1, ou pour envoyer plus de 8 images de référence en une fois, choisissez Nano Banana 2 (jusqu'à 14 images).

Image brute de Nano Banana Pro, sans retouche, sortie en 1536×2752.
A hand-painted gold-leaf sign in a modern specialty coffee shop window, elegant serif lettering reading 'MORNING BREW CO.' with a small script subtitle 'est. 2024' beneath it, warm natural daylight streaming through the glass, soft bokeh reflections of a city street, photorealistic commercial photography, crisp perfectly legible typography with correct spelling, shallow depth of field, editorial lighting
Générer avec ce prompt →, choisissez le format 9:16 et la résolution 2K.
Deux parcours : essai en ligne ou API ?
Pour d'abord voir le résultat, essayez en ligne ; pour intégrer dans un produit, passez par 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 Pro, ou cliquez directement sur le lien sous l'image de l'enseigne 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 standard 1K et 2K coûtent tous deux 114 crédits l'image.
- Cliquez sur exécuter, téléchargez si le résultat vous convient.
Intégration API (environ 5 minutes)
- Créez une clé API (
sk-...) dans la console HiAPI. POST /v1/taskspour créer une tâche, récupérezdata.taskIddans la réponse.- Interrogez avec
GET /v1/tasks/{id}, ou ajoutezcallback.urldans la requête et attendez la notification. - Une fois
data.statuspassé àsuccess, téléchargez l'image depuisdata.output[0].url.
2K à 0,057 $ l'image, 10 $ permettent d'en produire environ 175. Promotion limitée à 50 % de réduction pour la fête des programmeurs jusqu'au 9 novembre 2026 à 00:00 heure de Pékin, pendant laquelle 1K et 2K coûtent 0,0285 $ l'image, soit environ 350 images pour 10 $. Voir la documentation en chinois pour tous les paramètres.
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-pro",
"input": {
"prompt": "Minimalist studio product photography, matte-black earbuds case on a warm gradient backdrop, three-point studio lighting",
"aspect_ratio": "16:9",
"resolution": "2K",
"output_format": "png"
}
}'
L'ID de tâche renvoyé 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, avec jpg également possible. 1K et 2K étant au même prix, il est conseillé d'indiquer "resolution": "2K" dans chaque requête.
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, interroge le statut pendant au plus 10 minutes, puis télécharge l'image ; en cas de dépassement du délai, conservez le taskId pour continuer à interroger :
import os
import time
import requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
payload = {
"model": "nano-banana-pro",
"input": {
"prompt": "Minimalist studio product photography, matte-black earbuds case on a warm gradient backdrop, three-point studio lighting",
"aspect_ratio": "16:9",
"resolution": "2K",
"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-pro.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")
Modification par image de référence : un champ suffit
Ajoutez image_input dans input et la même requête devient une modification. Ci-dessous, on prend une affiche de planétarium générée par Nano Banana Pro comme image de référence, pour modifier uniquement la ligne de date :
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-pro",
"input": {
"prompt": "Keep this exact poster: layout, planet, observatory, visitor, colors and headline. Change only the date line to SAT 24 OCT in the same typography and color. No other words.",
"image_input": ["https://static.hiapi.ai/blog/gpt-image-2-vs-nano-banana-pro/0dba86ff979d-nano-pro-science.png"],
"aspect_ratio": "1:1",
"resolution": "2K"
}
}'
image_input accepte jusqu'à 8 URL publiques, aux formats JPEG, PNG et WebP. Dans le prompt, séparez ce qu'il faut « modifier » de ce qu'il faut « conserver » ; plus les éléments à conserver sont précis, plus l'image d'origine reste fidèle.
3 points à vérifier avant la mise en production
- Utilisez un callback côté serveur. Ajoutez au niveau racine du corps de la requête
"callback": {"url": "https://yourapp.com/webhook", "when": "final"}, la notification est envoyée automatiquement à la fin de la tâche, ce qui évite le polling ; un callback peut arriver plusieurs fois, dédupliquez partaskId. - En cas de timeout, ne renvoyez pas de POST. Chaque
POST /v1/taskscrée une nouvelle tâche et est facturé séparément. Enregistrez d'abord letaskId, et dédupliquez dans votre propre système avant de réessayer. - Indiquez explicitement
resolutiondans chaque requête. La valeur par défaut est 1K, et le 2K étant au même prix, vous pouvez choisir directement2Kpour la version finale ; le 4K est plus cher à l'unité, réservez-le à la livraison.
Erreurs courantes, une ligne chacune
- 400, champ non autorisé → nom de champ mal orthographié, ou champ d'un autre modèle utilisé (par exemple
image_urls) → remplacez parimage_input. - 400, valeur de
aspect_ratioincorrecte → format hors liste utilisé (comme8:1) → choisissez parmi les 10 formats etauto, et passez à Nano Banana 2 pour les formats allongés. - 401 → clé absente, erronée ou révoquée → vérifiez l'en-tête
Authorization: Bearer sk-..., et recréez la clé dans la console si nécessaire. - Création réussie mais tâche en
fail→ consultez l'erreur renvoyée par la tâche ; si l'image de référence est inaccessible ou dans un format non pris en charge, remplacez-la par un JPEG, PNG ou WebP accessible publiquement avant de soumettre à nouveau. - Lien d'image expiré, impossible à ouvrir → le lien de sortie a une durée de validité → téléchargez immédiatement après obtention du résultat et conservez le fichier lui-même.
Les tâches échouées ne sont pas facturées.
Questions fréquentes
Nano Banana Pro ou Nano Banana 2, comment choisir ? Pour du 2K, les deux sont au même prix, à 0,057 $ l'image. Pour des formats allongés ou plus de 8 images de référence, choisissez Nano Banana 2 ; pour produire une visuelle de marque avec le modèle phare de la série Nano Banana, choisissez Pro.
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 8 images de référence.
Peut-on passer directement de Nano Banana 2 ?
Oui. Les noms de champs sont identiques (prompt, image_input, aspect_ratio, resolution, output_format), il suffit de remplacer model par nano-banana-pro ; le format doit simplement faire partie des 10 pris en charge par Pro.
Combien d'images par requête ? Une tâche produit une image. Pour plusieurs images, créez plusieurs tâches en parallèle, facturées à l'image.
Articles de la série Nano Banana Pro
- Page du modèle Nano Banana Pro : génération en ligne, 200 crédits offerts à l'inscription
- Guide complet des prompts Nano Banana Pro : affiches, enseignes et visuels produit à copier-coller
- Tarifs de l'API Nano Banana Pro : combien coûte chaque image en 1K, 2K et 4K
- GPT Image 2.5 vs Nano Banana Pro : comparaison des résultats avec le même prompt
- GPT Image 2 vs Nano Banana Pro : comment choisir pour les affiches et les visuels produit
- Comment utiliser l'API Nano Banana 2.1 : l'alternative de la même série pour un budget plus serré
- Documentation d'intégration en chinois de Nano Banana Pro : tous les paramètres
Essayez maintenant : cliquez sur Générer avec ce prompt → sous l'image de l'enseigne ci-dessus, le prompt est déjà rempli, choisissez 9:16 et 2K, remplacez le texte entre guillemets par le nom de votre propre boutique puis exécutez.
Articles similaires
Voir tous les articles →-
Guide d'utilisation
Guide de démarrage pour seedream-5.0-pro/image-to-image : capacités, tarification et points d'intégration
Limites de capacité, mode de facturation et pratiques d'intégration technique du modèle d'édition d'image de ByteDance
-
Guide d'utilisation
Guide de prise en main de la génération d'images par texte avec seedream-5.0-pro : limites de capacités, intégration API et maîtrise des coûts
Point de vue pratique pour les développeurs : des points clés des paramètres à l'estimation du coût de 0,05 $ par image
-
Guide d'utilisation
Guide de prise en main de Hailuo 2.3 Fast image-to-video : limites de capacités, tarification et intégration pratique
Points clés pour les développeurs : choisir et intégrer le modèle image-to-video de MiniMax