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 | |
|---|---|---|
| 開発元 | OpenAI | |
| モデルID | gpt-image-2 | nano-banana-pro |
| タスク | テキストから画像、画像編集 | テキストから画像、画像編集 |
| サイズ | 1K, 2K, 4K | 1K, 2K, 4K |
| アスペクト比 | 1:1, 3:4, 4:3, 2:3, 3:2, 9:16, 16:9, 21:9, 5:2 | 1: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 |
|---|---|---|
| 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 2 | Nano Banana Pro |
| 商品を正確に保つ必要がある商品写真の編集 | Nano Banana Pro | GPT 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 Pro | GPT 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です。
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"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 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つを並べて評価する最も手早い方法です。月ごとの上限はないため、このような比較の実行は、残高によってのみ制限されます。
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枚です。