Tarification de l’API image Gemini : limites de débit, résolution et Python
Un décryptage concret de ce que coûte l’API image Gemini en pratique : prix par image en 1K, 2K et 4K, remises sur les lots, limites de débit selon le palier d’utilisation, et code Python pour la génération, les nouvelles tentatives et le suivi des coûts, avec des factures mensuelles calculées pour les petits et les grands volumes.
Une image Gemini coûte entre environ trois centimes et vingt-quatre centimes, et c’est dans l’écart entre ces deux chiffres que la plupart des budgets dérapent. Choisissez le mauvais modèle, demandez de la 4K alors que la 1K suffirait, ou renoncez au mode lot pour une tâche nocturne, et les mêmes 10 000 images peuvent vous coûter 336 $ ou 2 400 $. Cet article reprend les chiffres réels des pages de tarification et de limites de débit de Google, les transforme en factures mensuelles, et se termine par du Python que vous pouvez coller dans un script dès aujourd’hui.
💡 Source et date : tous les prix ci-dessous ont été relevés sur la page de tarification publiée de l’API Gemini de Google en octobre 2026. Google ajuste ces tarifs, alors vérifiez la page en ligne avant de figer un budget.
Quatre modèles, quatre niveaux de prix
Google commercialise sa génération d’images native sous le nom Nano Banana, et l’API expose quatre modèles. Trois sont actuels et un est ancien. Aucun des modèles actuels n’a de palier gratuit, donc même le tout premier appel de test est facturé. Chaque image produite porte aussi un filigrane SynthID.
Nano Banana 2 Lite est l’option pour les gros volumes. Miniatures, déclinaisons de produits et premières passes de brouillon à environ 3,4 centimes chacune, avec un bémol : il ne produit qu’en 1K.
Nano Banana 2 est le choix par défaut pour la production. Il couvre de 0,5K à 4K, prend en charge l’ancrage sur Google Search (y compris l’ancrage sur la recherche d’images pour ce modèle) et coûte 6,7 centimes pour une image en 1K.
Nano Banana Pro est l’option haut de gamme, que Google positionne pour les tâches visuelles complexes. Il coûte 13,4 centimes en 1K ou en 2K, donc utilisez-le là où une seule nouvelle tentative sur un modèle moins cher vous coûterait plus de temps que l’écart de prix ne vous coûte d’argent.
Tous acceptent des images de référence, jusqu’à 14 selon le modèle, afin que vous puissiez transmettre une photo de produit ou un échantillon de style avec le prompt.
Quitter le modèle ancien
La documentation de Google désigne gemini-2.5-flash-image comme le pionnier de la série et recommande de passer à Nano Banana 2 Lite pour une meilleure qualité, une génération plus rapide et une tarification API plus basse. Si vous l’appelez encore en production, commencez par remplacer l’ID du modèle et revérifiez quelques-uns de vos propres prompts. Vous pouvez aussi comparer les résultats côte à côte sur PicassoIA, où Gemini 2.5 Flash Image figure toujours, avant de modifier la moindre ligne de code.
Prix par image selon la résolution
Google facture la sortie d’image en tokens, mais publie aussi un prix forfaitaire par image pour chaque résolution, et c’est ce chiffre que vous utilisez réellement pour budgétiser.
Deux tendances se dégagent. Nano Banana 2 coûte 1,5 fois plus en 2K et 2,25 fois plus en 4K qu’en 1K. Nano Banana Pro garde le même prix en 1K et en 2K, ce qui fait du 2K le réglage par défaut le plus judicieux, puis le prix grimpe d’environ 79 % en 4K.
Les entrées sont facturées aussi : 0,50 $ par million de tokens sur Nano Banana 2, 0,25 $ sur Lite et 2,00 $ sur Pro. Un prompt de quelques centaines de tokens ajoute une fraction de centime, donc la sortie d’image domine la facture, sauf si vous joignez de nombreuses images de référence.
Le mode lot divise la facture par deux
Le tarif lot représente la moitié du tarif standard sur tous les modèles. Nano Banana 2 descend à 0,034 $ en 1K, 0,050 $ en 2K et 0,076 $ en 4K. Nano Banana Pro bénéficie de la même réduction de 50 %. Le tarif de sortie de Nano Banana 2 Lite passe de 30 $ à 15 $ par million de tokens, soit environ 1,7 centime par image.
Les tâches par lot sont asynchrones : elles conviennent donc aux rendus nocturnes de catalogue, aux rafraîchissements en masse de miniatures et à tout ce pour quoi personne n’attend. Elles ne conviennent pas à un bouton qu’un utilisateur vient de cliquer.
Le calcul des tokens derrière le prix
En divisant chaque prix par image par le tarif de sortie, on obtient le nombre de tokens par image. Nano Banana 2 à 0,067 $ et 60 $ par million donne environ 1 120 tokens pour une image en 1K, environ 1 680 en 2K et environ 2 520 en 4K. Ces chiffres sont déduits de la grille tarifaire de Google, et non cités tels quels, mais ils expliquent la structure de la tarification.
Nano Banana Pro à 0,134 $ et 120 $ par million donne lui aussi environ 1 120 tokens en 1K, tandis que son prix de 0,24 $ en 4K implique environ 2 000 tokens. La prime du haut de gamme diminue donc en 4K : 0,24 $ contre 0,151 $ représente 1,6 fois, contre exactement 2 fois en 1K.
Une règle pratique en découle. Les nouvelles tentatives sont de vraies dépenses, et un prompt qui nécessite trois essais coûte trois images.
Limites de débit sans deviner
Les limites de débit déterminent si votre pipeline tourne sans heurts ou s’arrête à 2 h du matin derrière un mur d’erreurs. L’API Gemini les applique par projet, et quelques détails sont faciles à manquer.
RPM, IPM et RPD expliqués
Google évalue l’usage selon trois axes : les requêtes par minute (RPM), les tokens par minute (TPM) et les requêtes par jour (RPD). Pour les modèles d’image, la documentation remplace le TPM par les images par minute (IPM). Si vous dépassez une seule de ces limites, la requête échoue, même si les deux autres restent très en dessous de leur plafond.
Trois détails piègent souvent :
Les limites s’appliquent par projet, et non par identifiant. Un second jeton d’accès dans le même projet ne vous offre aucune marge supplémentaire.
Le compteur quotidien se réinitialise à minuit, heure du Pacifique. Ni UTC, ni minuit de votre fuseau local.
Les valeurs exactes dépendent du modèle. Google ne les imprime pas dans le tableau de la documentation. Elles figurent sur votre propre page de limites de débit dans AI Studio (aistudio.google.com/rate-limit) et varient selon votre palier, donc cet article ne cite aucun chiffre qui risquerait de devenir obsolète.
Paliers d’utilisation et plafonds de dépense
Votre palier dépend de ce que vous avez dépensé :
Palier
Conditions d’accès
Plafond de dépense
Plafond par 10 minutes
Gratuit
Projet actif ou essai gratuit
n.d.
Non indiqué
Palier 1
Compte de facturation actif
250 $
10 $
Palier 2
100 $+ dépensés et 3 jours écoulés
2 000 $
50 $
Palier 3
1 000 $+ dépensés et 30 jours écoulés
20 000 $ à 100 000 $+
200 $
Au-delà des RPM et des IPM, Google applique des plafonds de dépense sur une fenêtre glissante de 10 minutes. Si vous en franchissez un, vous obtenez une erreur 429 RESOURCE_EXHAUSTED. Pour les images, ce plafond est souvent atteint avant les RPM, car chaque appel coûte cher. Appliqué aux prix des images, cela donne à peu près ceci :
Nano Banana 2 en 1K (0,067 $) : environ 149 images par fenêtre sur le palier 1, 746 sur le palier 2 et 2 985 sur le palier 3.
Nano Banana Pro en 4K (0,24 $) : seulement environ 41 images par fenêtre sur le palier 1.
Ce sont mes calculs à partir des plafonds publiés, donc considérez-les comme une estimation de planification et confirmez vos limites réelles dans AI Studio.
Gérer les erreurs 429
Traitez une erreur 429 comme un événement normal, pas comme une exception. Trois habitudes gardent un pipeline en bonne santé :
Relancez avec un backoff exponentiel et une gigue, en partant d’environ une seconde et en doublant jusqu’à un plafond.
Limitez le débit de votre côté. Dimensionnez un seau à jetons en dessous du plafond de dépense sur 10 minutes de votre palier pour ne jamais le déclencher.
Basculez les tâches non urgentes en mode lot, qui divise le prix par deux et sort les longs traitements du chemin interactif.
L’assistant de la section Python ci-dessous met en œuvre la première habitude.
Choix de la résolution et du format
Les modèles d’image Gemini 3 génèrent en 1K par défaut. Les tailles prises en charge sont 512 px (0,5K), 1K, 2K et 4K, et Nano Banana 2 Lite s’arrête à 1K. La grille de Google que j’ai consultée n’affichait aucun prix pour le palier 0,5K sur Nano Banana 2, et des outils de suivi tiers indiquent environ 0,045 $, donc vérifiez ce point sur la page en ligne avant de vous y fier.
Adaptez la taille à la destination :
Miniatures de blog, publications sur les réseaux sociaux, fiches produits : 1K.
Bannières principales et écrans à forte densité de pixels : 2K.
Impression et grands recadrages : 4K, et seulement pour les sélections finales.
Une voie moins coûteuse vers les grands fichiers consiste à générer en 1K puis à passer le meilleur résultat dans un modèle de super-résolution. Sur PicassoIA, Real ESRGAN et Google's Upscaler agrandissent tous deux les photos par 4, et Clarity Pro Upscaler vise des résultats photoréalistes. Les upscalers ajoutent de la netteté plutôt que du contenu nouveau, donc testez-en un face à un rendu 4K natif de vos propres images avant de vous engager.
Le format mérite la même attention. Dix sont disponibles : 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9 et 21:9. Choisissez avant de générer. Un rendu 16:9 recadré en publication de flux 4:5 jette plus de la moitié du cadre, et chaque nouvelle tentative est une image facturée de plus.
Du code Python qui fonctionne
Installez le SDK avec pip install google-genai et définissez votre identifiant Gemini comme variable d’environnement. Le client le lit automatiquement, donc aucun secret n’apparaît dans votre code source.
L’appel de base Interactions
La documentation actuelle de Google génère les images via l’API Interactions. Voici la version minimale, adaptée de leur exemple :
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.1-flash-image",
input="A ceramic mug of black coffee on an oak desk, morning window light, 35mm photo",
)
with open("generated_image.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))
L’image revient en base64 dans interaction.output_image.data, c’est pourquoi elle est décodée avant d’être écrite. Vous obtenez une image en 1K par défaut, et le niveau de réflexion vaut minimal par défaut.
Définir la taille et le format
L’argument response_format contrôle le type de sortie, le ratio et la taille :
interaction = client.interactions.create(
model="gemini-3.1-flash-image",
input="Overhead photo of a croissant on a linen placemat, soft window light",
response_format={
"type": "image",
"mime_type": "image/jpeg",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
Pour les modifications successives, transmettez previous_interaction_id=interaction.id avec un nouveau input et le modèle modifie le résultat précédent. Sur un prompt difficile, vous pouvez augmenter le raisonnement avec generation_config={"thinking_level": "high"}. Vérifiez votre tableau de bord de facturation après un petit test avant de l’activer partout.
Nouvelles tentatives et suivi des coûts
Le code de production a besoin de deux choses que l’exemple n’a pas : un backoff sur les erreurs 429 et un compteur de coûts cumulés.
import base64
import random
import time
from google import genai
client = genai.Client()
PRICE = {
("gemini-3.1-flash-lite-image", "1K"): 0.0336,
("gemini-3.1-flash-image", "1K"): 0.067,
("gemini-3.1-flash-image", "2K"): 0.101,
("gemini-3.1-flash-image", "4K"): 0.151,
("gemini-3-pro-image", "1K"): 0.134,
("gemini-3-pro-image", "2K"): 0.134,
("gemini-3-pro-image", "4K"): 0.24,
}
total = 0.0
def generate(prompt, model="gemini-3.1-flash-image", size="1K", ratio="16:9", retries=5):
global total
for attempt in range(retries):
try:
interaction = client.interactions.create(
model=model,
input=prompt,
response_format={
"type": "image",
"mime_type": "image/jpeg",
"aspect_ratio": ratio,
"image_size": size,
},
)
total += PRICE[(model, size)]
return base64.b64decode(interaction.output_image.data)
except Exception as err:
if getattr(err, "code", None) != 429 or attempt == retries - 1:
raise
time.sleep(2 ** attempt + random.random())
image = generate("Overhead photo of a croissant on a linen placemat, soft window light")
with open("croissant.jpg", "wb") as f:
f.write(image)
print(f"Spent so far: ${total:.3f}")
Les prix du dictionnaire proviennent directement des tableaux ci-dessus, donc mettez-les à jour dès que Google modifie ses tarifs. Consignez total après chaque exécution et vous verrez la facture avant la facture elle-même.
Exemples réels de coûts mensuels
Les chiffres valent mieux que les adjectifs, voici donc les factures mensuelles pour deux volumes. Chaque montant correspond au nombre d’images multiplié par le prix par image publié, sans les tokens d’entrée ni les images de référence en supplément.
Un petit catalogue ou un blog actif se situe ici. Même la ligne la plus chère reste à 240 $, donc à ce volume le choix du modèle relève de la qualité, pas du coût. Un mois de Nano Banana 2 en 2K atteint 101 $, juste au-delà du seuil de 100 $ du palier 2.
À cette échelle, les choix se cumulent. L’écart entre Lite en lot (840 $) et Pro au tarif standard (6 700 $) représente 5 860 $ par mois, soit près de huit fois plus. Dépenser 3 350 $ par mois franchit le seuil de 1 000 $ du palier 3 en neuf jours environ, mais l’attente de 30 jours s’applique toujours, donc prévoyez votre premier mois selon les limites du palier 2. Une charge stable d’environ 1 700 images par jour reste très loin du plafond de 50 $ sur 10 minutes. Ce sont les rafales qui le déclenchent.
Utiliser Nano Banana 2 Lite sur PicassoIA
Avant de dépenser du budget API pour tester des prompts, essayez-les là où les itérations coûtent peu. Nano Banana 2 Lite est disponible sur PicassoIA comme modèle de texte vers image rapide et peu coûteux, avec édition d’image intégrée.
Rédigez le prompt. Indiquez le sujet, la direction de la lumière, l’objectif et les textures des surfaces.
Ajoutez des images de référence si nécessaire. L’entrée d’image accepte jusqu’à 14 images à mélanger ou à restyler.
Choisissez un format. Le format par défaut est match_input_image. Les préréglages vont de 1:1 à 21:9, plus des extrêmes verticaux et horizontaux comme 1:4, 4:1, 1:8 et 8:1.
Sélectionnez jpg ou png comme format de sortie.
Générez, comparez et conservez la formulation du prompt gagnant pour votre script Python.
💡 Astuce : les prompts qui fonctionnent bien sur le modèle hébergé devraient se transposer assez fidèlement à l’API, même si les résultats ne sont jamais identiques d’une plateforme à l’autre. Faites quelques comparaisons côte à côte avant de passer à grande échelle.
Si vous rédigez des prompts en série, Gemini 3.5 Flash sur PicassoIA est un modèle de texte rapide pour écrire des variantes de prompts. Tester là-bas ne touche ni à votre quota Gemini ni à votre facture Google.
Essayez vos propres prompts sur Picasso IA
Les tableaux de tarifs ont leurs limites. Le moyen le plus rapide de savoir quel modèle, quelle taille et quel format conviennent à votre projet est de générer quelques images et de les regarder. Ouvrez Picasso IA, essayez Nano Banana 2 Lite avec un prompt tiré de votre propre catalogue, puis comparez le résultat à Nano Banana 2 et Nano Banana Pro. Parcourez la liste complète des modèles sur picassoia.com/en/all-models, choisissez le résultat qui vous plaît, et reportez ce choix dans votre budget API avec de vrais chiffres à l’appui.