Comparatif

GPT Image 2 vs Nano Banana Pro : prix, fonctionnalités et code

GPT Image 2 d'OpenAI et Nano Banana Pro de Google sont les deux modèles d'image les plus souvent comparés pour les créations publicitaires, les retouches de produits et les images avec du texte. Voici comment ils diffèrent sur le prix, les tailles et les entrées, et comment tester les deux avec la même requête.

La réponse courte

GPT Image 2 (OpenAI) et Nano Banana Pro (Google) sont les deux modèles d'image que la plupart des équipes présélectionnent quand l'image doit porter un texte lisible, suivre une longue instruction ou retoucher une vraie photo de produit. Les deux créent des images à partir d'un prompt et modifient les images que vous envoyez, les deux vont jusqu'à la 4K, et sur Revana les deux acceptent le même corps de requête. Où ils diffèrent :

  • Prix. GPT Image 2 affiche $0.03 par image à chaque taille. Nano Banana Pro affiche $0.04 par image à chaque taille.
  • Images de référence. GPT Image 2 en accepte jusqu'à 16 dans une requête ; Nano Banana Pro en accepte jusqu'à 14.
  • Formats. GPT Image 2 propose un panorama 5:2 ; Nano Banana Pro propose les formats 5:4 et 4:5, formats courants pour les fils d'actualité et l'impression.
  • Routes. GPT Image 2 a deux routes derrière lui ; Nano Banana Pro a une route.

Nous ne publions pas de scores de qualité. Chaque modèle a ses adeptes pour une raison, et le seul test qui compte, ce sont vos propres prompts. Comme la requête est identique à part le champ model, faire passer les mêmes dix prompts dans les deux ne demande que quelques lignes de code.

Comparatif des fonctionnalités

Comparatif de GPT Image 2 et Nano Banana Pro
GPT Image 2Nano Banana Pro
ÉditeurOpenAIGoogle
Identifiant du modèlegpt-image-2nano-banana-pro
Tâchestexte vers image, édition d'imagetexte vers image, édition d'image
Tailles1K, 2K, 4K1K, 2K, 4K
Formats d'image1:1, 3:4, 4:3, 2:3, 3:2, 9:16, 16:9, 21:9, 5:21:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9
Images de référencejusqu'à 16jusqu'à 14
Prix par image$0.03 à chaque taille$0.04 à chaque taille
Routesdeux routesune route

Ce que coûte un lot (octobre 2026)

Les deux modèles facturent une fois par image, au même prix en 1K, 2K et 4K : la taille demandée ne change donc pas la facture. La 4K est ainsi le choix par défaut raisonnable dès que vous pourriez recadrer ou imprimer plus tard.

Coûts de lots pour GPT Image 2 et Nano Banana Pro
ImagesGPT Image 2Nano Banana Pro
1$0.03$0.08
100$3.00$8.00
1,000$30.00$80.00
10,000$300.00$800.00

Si le prix par image compte avant tout, les deux éditeurs ont des modèles apparentés moins chers dans le catalogue : GPT Image 2.5 Flare et GPT Image 2.5 Sunburst d'OpenAI affichent $0.02 en 1K et 2K, et Nano Banana 2 de Google affiche $0.03 en 1K et 2K. Le guide Nano Banana Pro vs Nano Banana 2 détaille le côté Google.

Lequel pour quel travail

Ce sont des points de départ tirés de la façon dont les gens utilisent les deux modèles, non des résultats de benchmark :

Par où commencer selon le travail
TravailÀ essayer en premierPuis comparer avec
Création publicitaire avec un titre dans l'imageGPT Image 2Nano Banana Pro
Retouches de photos de produits qui doivent conserver le produit à l'identiqueNano Banana ProGPT Image 2
Combiner de nombreuses références (personnages, produits, un décor)GPT Image 2 (16 entrées)Nano Banana Pro (14 entrées)
En-têtes panoramiquesGPT Image 2 (5:2)Nano Banana Pro (21:9)
Formats pour fils d'actualité et impression (4:5, 5:4)Nano Banana ProGPT Image 2 (3:4, 4:3)

Une bonne habitude consiste à garder le prompt et les références dans votre propre code et à traiter le modèle comme un paramètre. Quand un modèle peine sur un prompt précis, envoyez le même corps à l'autre au lieu de réécrire le prompt pendant une heure.

Exécuter le même prompt sur les deux

Cet exemple soumet un prompt à GPT Image 2. Remplacez model par nano-banana-pro pour l'exécuter sur le modèle de Google ; rien d'autre ne change. Chaque image 4K coûte $0.03 sur GPT Image 2 et $0.08 sur Nano Banana Pro.

cURL
export REVANA_API_KEY="sr_live_..."

# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "input": {
      "prompt": "A minimalist poster for a jazz night. Large serif title BLUE HOUR, the line FRIDAY 9 PM below it, a single trumpet in silhouette against a deep blue gradient.",
      "resolution": "4K",
      "aspect_ratio": "2:3"
    },
    "max_cost_usd": 0.1
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

resp = requests.post(f"{API}/generations", headers=HEADERS, json={
    "model": "gpt-image-2",
    "input": {
        "prompt": "A minimalist poster for a jazz night. Large serif title BLUE HOUR, the line FRIDAY 9 PM below it, a single trumpet in silhouette against a deep blue gradient.",
        "resolution": "4K",
        "aspect_ratio": "2:3",
    },
    "max_cost_usd": 0.1,
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "gpt-image-2",
    input: {
      prompt: "A minimalist poster for a jazz night. Large serif title BLUE HOUR, the line FRIDAY 9 PM below it, a single trumpet in silhouette against a deep blue gradient.",
      resolution: "4K",
      aspect_ratio: "2:3",
    },
    max_cost_usd: 0.1,
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 5000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);

Comparer les deux modèles dans un seul script

Soumettre les deux tâches en même temps et les interroger ensemble est le moyen le plus rapide de juger les deux côte à côte. Il n'y a pas de quota mensuel : une comparaison comme celle-ci n'est donc limitée que par votre solde.

Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
PROMPT = "A paper coffee cup on a cafe table. The sleeve reads KEEP GOING in hand-lettered type."

jobs = {}
for model in ("gpt-image-2", "nano-banana-pro"):
    r = requests.post(f"{API}/generations", headers=HEADERS, json={
        "model": model,
        "input": {"prompt": PROMPT, "resolution": "2K", "aspect_ratio": "1:1"},
        "max_cost_usd": 0.1,
    })
    r.raise_for_status()
    jobs[model] = r.json()["id"]

for model, gen_id in jobs.items():
    while True:
        job = requests.get(f"{API}/generations/{gen_id}", headers=HEADERS).json()
        if job["status"] in ("succeeded", "failed"):
            break
        time.sleep(3)
    print(model, job["status"], job.get("output"), job.get("cost_usd"))

Les deux modèles refusent certains prompts, par exemple l'image d'une personne réelle ou un personnage de marque déposée. Un refus revient sous la forme d'une tâche en échec avec error.code content_policy et un reason, et n'est pas facturé.

Parcourez les deux sur la page des modèles, lisez la référence des requêtes dans la documentation, comparez les packs de crédits sur la page des tarifs, ou obtenez une clé API.

Questions fréquentes

GPT Image 2 est-il meilleur que Nano Banana Pro ?

Aucun ne l'emporte sur tous les travaux. GPT Image 2 accepte plus d'images de référence (16) et un panorama 5:2 ; Nano Banana Pro est réputé pour son texte précis et ses modifications fidèles, et propose les formats 4:5 et 5:4. Faites passer vos propres prompts dans les deux ; sur Revana, seul le champ du modèle change.

Lequel est le moins cher, GPT Image 2 ou Nano Banana Pro ?

En octobre 2026, GPT Image 2 coûte $0.03 par image et Nano Banana Pro $0.04 par image, chacun au même prix en 1K, 2K et 4K.

Puis-je utiliser les deux avec une seule clé API ?

Oui. Les deux sont dans le même catalogue et acceptent le même corps de requête. Changez le champ model de gpt-image-2 en nano-banana-pro pour basculer.

Les deux modèles prennent-ils en charge la 4K ?

Oui. Les deux listent la 1K, la 2K et la 4K, et facturent le même prix à chaque taille.

Combien d'images de référence puis-je envoyer ?

Jusqu'à 16 pour GPT Image 2 et jusqu'à 14 pour Nano Banana Pro, dans le champ image_urls.

Testez les deux modèles avec une seule clé

Une seule clé API pour GPT Image 2, Nano Banana Pro et tous les autres modèles d'image et de vidéo. Crédit prépayé à partir de $10, facturé uniquement pour les images livrées.