はじめに
Nano Banana Pro テキストから画像は、2025 年 11 月 20 日に公開された Google の Gemini 3 Pro Image で、文章のプロンプトから画像を生成します。描く前にリクエストを考えるため、密な文字、図解、複数パートのレイアウトに強く、10 種類の比率で 1k、2k、4k を生成し、料金は Google の定価を大きく下回る価格から始まります。
手元の素材でモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 文章のブリーフ | Nano Banana Pro テキストから画像 |
| 変更したい画像 | Nano Banana Pro 画像編集 |
主な機能とハイライト
エコノミールートと Official fallback
リクエストはまず、Google の定価を大きく下回るエコノミールートで実行されます。Official fallback(既定はオン)が有効なら、そこで完了できなかったリクエストは公式ルートで公式価格で実行し直されます。どちらでもモデルは推論ステップを備えた Google の Gemini 3 Pro Image です。
描く前に計画する
モデルはまずレイアウトを決めるため、各要素の位置を書いたり複数行の文字を引用したりしたプロンプトは、書いたとおりに配置されて返ります。私たちの表紙のテストでは、引用した各行がプロンプトで指定した位置に入りました。
1k と 2k は同じ料金
Google は 1K と 2K を同じ料金で課金するので、2k の解像度は実質無料で、4k は高くなります。私たちの 2k の生成の多くは 20〜45 秒で返りました。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 最大 5,000 文字です。被写体、場所、光、レンズを文章で書いてください。 1 文字以上 · 5000 文字以内 |
aspect_ratio | いいえ | 21:9 から 9:16 までの 10 種類から選びます。既定は 16:9 で、比率によって料金は変わりません。 |
resolution | いいえ | 1k(既定)、2k、4k のいずれかです。1k と 2k は同じ料金で、4k は高くなり長辺 4096 ピクセルで生成します。 |
official_fallback | いいえ | 既定でオンです。各リクエストはまず経済ルートで実行されます。 デフォルト値: |
料金
サイズ段階ごとの 1 枚単位の課金で、比率によって料金は変わりません。リクエストはまずエコノミールートにエコノミー価格で送られます。Official fallback(既定はオン)が有効なら、エコノミールートが拒否したリクエストや完了できなかったリクエストは公式ルート(公式価格)で実行し直されるため、見積もりには開始価格と上限額の両方が表示されます。オフにすればエコノミー価格だけで済みます。拒否されたリクエストは課金されません。
| 仕様 | 料金 |
|---|---|
| $0.0668 / 枚 (Official fallback 使用時:最大 $0.1072) |
| $0.0668 / 枚 (Official fallback 使用時:最大 $0.1072) |
| $0.118 / 枚 (Official fallback 使用時:最大 $0.192) |
ユースケース
エディトリアルとブランドのポートレート
名指ししたレンズ、絞り、光に従うポートレートで、ピッチ資料、ムードボード、キャンペーンのラフに。
文字の入ったレイアウト
ポスター、表紙、メニュー、サインなど、複数の文字が写真と画面を分け合い、どれも正しく綴られている必要があるもの。
図解とインフォグラフィック
ラベル付きの図、簡単なグラフ、手順のビジュアルなど、推論によって各ラベルを正しい部分に付けやすいもの。
プロンプトガイドと実践のヒント
ショットリストのように書く
被写体、服装、場所、レンズ、絞り、光の向き、色の仕上げを、この順で文章にしてください。
文字はすべて引用し、位置を書く
画像に入れる語句はすべて引用符で囲み、位置を添えてください。引用符のない語句は描写として読まれます。
2k から始める
このモデルでは 1k と同じ料金なので、既定で 2k で生成し、4k は印刷用に取っておいてください。
カメラは文字どおりに
右からの窓の光で 85mm、f/1.4 と書けば文字どおりに従います。シネマティックのような曖昧な言葉は判断をモデルに委ねます。
人物は服装と動作で描写する
各人のポーズ、服、表情、位置を書くと、計画のステップが全員を正しく配置するのに必要な情報がそろいます。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/nano-banana-pro/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k",
"aspect_ratio": "16:9"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。






