HiAPI
Blog

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.

Oct 12, 2026
Comment utiliser l'API Nano Banana Pro ? Générez votre première image en 5 minutes

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-pro pour 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, indiquez nano-banana-pro dans model, récupérez le taskId puis interrogez le statut ou attendez le callback, et téléchargez data.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_input et 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)

  1. 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.
  2. Inscrivez-vous ou connectez-vous, un nouveau compte dispose de 200 crédits.
  3. Choisissez le format et la résolution, au tarif standard 1K et 2K coûtent tous deux 114 crédits l'image.
  4. Cliquez sur exécuter, téléchargez si le résultat vous convient.

Intégration API (environ 5 minutes)

  1. Créez une clé API (sk-...) dans la console HiAPI.
  2. POST /v1/tasks pour créer une tâche, récupérez data.taskId dans la réponse.
  3. Interrogez avec GET /v1/tasks/{id}, ou ajoutez callback.url dans la requête et attendez la notification.
  4. Une fois data.status passé à success, téléchargez l'image depuis data.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

  1. 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 par taskId.
  2. En cas de timeout, ne renvoyez pas de POST. Chaque POST /v1/tasks crée une nouvelle tâche et est facturé séparément. Enregistrez d'abord le taskId, et dédupliquez dans votre propre système avant de réessayer.
  3. Indiquez explicitement resolution dans chaque requête. La valeur par défaut est 1K, et le 2K étant au même prix, vous pouvez choisir directement 2K pour 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 par image_input.
  • 400, valeur de aspect_ratio incorrecte → format hors liste utilisé (comme 8:1) → choisissez parmi les 10 formats et auto, 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

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 →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API