比較

GPT Image 2 vs Nano Banana Pro:料金、機能、コード

OpenAIのGPT Image 2とGoogleのNano Banana Proは、広告クリエイティブ、商品の編集、文字入りの画像で、最もよく比較される2つの画像モデルです。ここでは、料金、サイズ、入力の違いと、同じリクエストで両方をテストする方法を紹介します。

結論

GPT Image 2(OpenAI)とNano Banana Pro(Google)は、画像に読みやすい文字を入れたい場合、長い指示に従わせたい場合、実際の商品写真を編集したい場合に、ほとんどのチームが候補に挙げる2つの画像モデルです。どちらもプロンプトから画像を作成し、送信した画像を編集でき、どちらも4Kまで対応し、Revanaでは同じリクエストボディを受け付けます。違いは次のとおりです:

  • 料金。GPT Image 2は、全サイズで1枚あたり$0.03です。Nano Banana Proは、全サイズで1枚あたり$0.04です。
  • 参照画像。GPT Image 2は1回のリクエストで最大16枚、Nano Banana Proは最大14枚です。
  • 形状。GPT Image 2は5:2のパノラマに対応し、Nano Banana Proは、フィードや印刷で一般的な5:4と4:5に対応しています。
  • ルート。GPT Image 2には2つのルートがあり、Nano Banana Proには1つのルートがあります。

品質スコアは公開していません。どちらのモデルにも支持される理由があり、重要なのは自分のプロンプトで試すことだけです。model フィールド以外はリクエストが同一なので、同じ10個のプロンプトを両方で実行するのは数行のコードで済みます。

機能の比較

GPT Image 2とNano Banana Proの比較
GPT Image 2Nano Banana Pro
開発元OpenAIGoogle
モデルIDgpt-image-2nano-banana-pro
タスクテキストから画像、画像編集テキストから画像、画像編集
サイズ1K, 2K, 4K1K, 2K, 4K
アスペクト比1: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
参照画像最大16枚最大14枚
1枚あたりの料金全サイズで$0.03全サイズで$0.04
ルート2ルート1ルート

バッチの費用(2026年10月)

どちらのモデルも、画像1枚ごとに課金され、1K、2K、4Kで同じ料金なので、指定するサイズによって請求額は変わりません。そのため、後でトリミングや印刷をする可能性があるなら、4Kを標準にするのが賢明です。

GPT Image 2とNano Banana Proのバッチの費用
枚数GPT 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

1枚あたりの料金を最優先するなら、どちらの開発元にも、カタログにより安い兄弟モデルがあります。OpenAIのGPT Image 2.5 FlareとGPT Image 2.5 Sunburstは、1Kと2Kで$0.02、GoogleのNano Banana 2は、1Kと2Kで$0.03です。Google側については、Nano Banana Pro vs Nano Banana 2のガイドで詳しく解説しています。

用途別、どちらを選ぶか

ベンチマークの結果ではなく、2つのモデルの使われ方に基づく出発点です:

用途別の出発点
用途最初に試す次に比較する
画像内に見出しを入れる広告クリエイティブGPT Image 2Nano Banana Pro
商品を正確に保つ必要がある商品写真の編集Nano Banana ProGPT Image 2
多数の参照(キャラクター、商品、背景)の組み合わせGPT Image 2(入力16枚)Nano Banana Pro(入力14枚)
パノラマのヘッダーGPT Image 2(5:2)Nano Banana Pro(21:9)
フィードと印刷向けの形状(4:5、5:4)Nano Banana ProGPT Image 2(3:4、4:3)

おすすめの習慣は、プロンプトと参照画像を自分のコードに持たせ、モデルを設定として扱うことです。特定のプロンプトで一方のモデルが苦戦したら、プロンプトを1時間かけて書き直す代わりに、同じボディをもう一方に送ります。

同じプロンプトを両方で実行する

このサンプルは、1つのプロンプトをGPT Image 2に送信します。model を nano-banana-pro に変えればGoogleのモデルで実行でき、ほかは何も変わりません。4Kの画像1枚は、GPT Image 2で$0.03、Nano Banana Proで$0.08です。

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);

1つのスクリプトで両方のモデルを比較する

2つのジョブを同時に送信してまとめてポーリングするのが、2つを並べて評価する最も手早い方法です。月ごとの上限はないため、このような比較の実行は、残高によってのみ制限されます。

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"))

どちらのモデルも、実在の人物の肖像や商標登録されたキャラクターなど、一部のプロンプトを拒否します。拒否された場合は、error.code content_policy と reason を伴う失敗したジョブとして返され、課金はされません。

両方をモデルページで確認し、ドキュメントでリクエストのリファレンスを読み、料金ページでクレジットパックを比較するか、APIキーを取得してください。

よくある質問

GPT Image 2は、Nano Banana Proより優れていますか?

どちらがすべての用途で勝るわけではありません。GPT Image 2は、より多くの参照画像(16枚)と5:2のパノラマに対応し、Nano Banana Proは、正確な文字と忠実な編集で知られ、4:5と5:4に対応しています。自分のプロンプトを両方で試してください。Revanaでは、変わるのは model フィールドだけです。

GPT Image 2とNano Banana Proでは、どちらが安いですか?

2026年10月時点で、GPT Image 2は1枚あたり$0.03、Nano Banana Proは1枚あたり$0.04で、どちらも1K、2K、4Kで同じ料金です。

1つのAPIキーで両方使えますか?

はい。どちらも同じカタログにあり、同じリクエストボディを受け付けます。model フィールドを gpt-image-2 から nano-banana-pro に変えれば切り替えられます。

どちらのモデルも4Kに対応していますか?

はい。どちらも1K、2K、4Kに対応し、どのサイズでも同じ料金です。

参照画像は何枚送れますか?

image_urls フィールドで、GPT Image 2は最大16枚、Nano Banana Proは最大14枚です。

1つのキーで両方のモデルを試す

GPT Image 2、Nano Banana Pro、そのほかのすべての画像・動画モデルを、1つのAPIキーで利用できます。前払いクレジットは$10から、納品された画像にのみ課金されます。