結論から言うと、Nano Banana 2.1(モデル ID gemini-nano-banana-2.1)が HopBase で利用可能になりました。Google の最新の高効率な画像生成・編集モデルで、Google は画質、タイポグラフィ、マルチターンの一貫性の向上を強調しています。組み込む側にとって重要な変更は 2 つです。画像 1 枚あたりのコストが Nano Banana 2 の約半分になったこと(1K 画像 1 枚 $0.0336、2K で $0.0504)。これは画像出力の単価が 100 万トークンあたり $60 から $30 に下がったためです。そして、ネイティブ 4K 出力が新たに 1 枚 $0.113 で使えるようになったことです。入力単価は 100 万トークンあたり $1.50 に上がったため、参照画像を多く使う編集では、純粋なテキストからの画像生成ほどは安くなりません。/v1/images/generations と /v1/chat/completions で、同じベース URL https://api.hop-base.com から利用でき、10 種類の公式アスペクト比に対応します。2K / 4K では Prefer: respond-async ヘッダーを付けるとタイムアウトを回避できます。生成に失敗した場合は課金されず、usage.cost_usd で実際の請求額が返されます。有料リクエストを送る前に、お使いのキーで GET /v1/models にこのモデルが表示されることを確認してください。
Nano Banana 2 からの変更点
| 項目 | Nano Banana 2gemini-3.1-flash-image | Nano Banana 2.1gemini-nano-banana-2.1 |
|---|---|---|
| 1K 1 枚あたり | $0.0672 | $0.0336(半額) |
| 2K 1 枚あたり | $0.0672 | $0.0504 |
| 4K | 非対応(最大 2K) | 1 枚 $0.113 |
| 画像出力 | $60 / 1M tokens | $30 / 1M tokens |
| 入力 | $0.50 / 1M tokens | $1.50 / 1M tokens |
値下げは画像出力の単価が半分になったことによるものです。入力単価はむしろ上がっているため、参照画像を多く使う編集では、純粋なテキストからの画像生成ほどは安くなりません。参照画像の枚数が多く、サイズが大きいほど、入力の占める割合が大きくなります。テキストからの画像生成や、参照画像が少ない編集であれば、「1 枚あたり約半額」という見積もりで問題ありません。
料金(公式定価)
| 項目 | 定価 |
|---|---|
| 入力(テキスト/画像) | $1.50 / 1M tokens |
| テキストおよび思考の出力 | $7.50 / 1M tokens |
| 画像出力 | $30 / 1M tokens |
| キャッシュ読み取り | $0.075 / 1M tokens |
| 1 枚あたり 1K / 2K / 4K | $0.0336 / $0.0504 / $0.113 |
これらは Google の定価です。実際の料金はご利用のグループによって異なり、サインイン後にモデルプラザで確認できます。コンソールの使用記録には、リクエストごとの請求額が表示されます。
サイズ、アスペクト比、速度
- 3 段階の解像度:1K、2K、4K。16:9 の画像を 4K で生成すると、実測で 5504 × 3072 でした。
- 10 種類の公式アスペクト比:
1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。 - 一般的なレイテンシ(サーバー側での実測):1K で約 10–15 秒、2K で約 20 秒、4K で約 30–57 秒。
2K / 4K の画像では、ヘッダー Prefer: respond-async の追加をおすすめします。すぐに task_id が返り、GET /v1/images/tasks?task_id=… でポーリングできるため、長いリクエストがクライアントやネットワークのタイムアウトで切断されることがありません。
3 分で始める
1. curl:アスペクト比と解像度を指定したテキストからの画像生成
curl https://api.hop-base.com/v1/images/generations \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"prompt": "Coffee shop poster for a new drink, headline text \"Autumn Latte\", warm tones, magazine layout",
"google": {
"image_config": { "aspect_ratio": "3:4", "image_size": "2K" }
}
}' \
| jq -r '.data[0].b64_json' | base64 --decode > result.png
"aspect_ratio" / "image_size" はトップレベルのフラットなフィールドとして渡しても同じ効果があります。size(例:"2048x1152")だけを送った場合、ゲートウェイは最も近い公式アスペクト比に対応付け、長辺から解像度を判定します。
2. OpenAI Python SDK
import base64
from openai import OpenAI
client = OpenAI(
base_url="https://api.hop-base.com/v1",
api_key="sk-your-key",
)
resp = client.images.generate(
model="gemini-nano-banana-2.1",
prompt="A convenience store on a rainy neon street corner, sign reads OPEN 24H, cinematic",
extra_body={
"google": {
"image_config": {"aspect_ratio": "16:9", "image_size": "4K"}
}
},
)
item = resp.data[0]
# The result may be JPEG; pick the extension from mime_type
ext = "jpg" if getattr(item, "mime_type", "") == "image/jpeg" else "png"
with open(f"result.{ext}", "wb") as f:
f.write(base64.b64decode(item.b64_json))
3. Chat Completions から画像を生成する
Cherry Studio のようにチャット API しか扱えないクライアントでは、gemini-nano-banana-2.1 を選ぶだけで使えます。画像は markdown に埋め込まれた data URL として返されます:
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"messages": [
{"role": "user", "content": "A shiba inu wearing a scarf, watercolor style"}
]
}'
アスペクト比と解像度を細かく制御したい場合は、上記の Images API を使ってください。
参照画像を使った編集
どちらのグループも、/v1/images/generations の image / images フィールドで参照画像(URL または data URL)を受け付けます。「Gemini 全モデル(画像含む)」グループでは OpenAI 互換の /v1/images/edits も利用できるため、ローカルファイルを直接アップロードできます:
curl https://api.hop-base.com/v1/images/edits \
-H "Authorization: Bearer sk-your-key" \
-F "model=gemini-nano-banana-2.1" \
-F "prompt=Recolor the cup using the palette from the second image, keep everything else unchanged" \
-F "image[]=@cup.png" \
-F "image[]=@palette.png" \
-F "aspect_ratio=1:1" \
-F "image_size=2K"
どのグループを使うか
| グループ | エンドポイント |
|---|---|
| Gemini 全モデル(画像含む) | /v1/images/generations、/v1/images/edits、/v1/chat/completions |
| Gemini 公式ダイレクト | /v1/images/generations、/v1/chat/completions(編集する場合は参照画像を generations に渡してください) |
どちらのグループも、公式価格 × グループの割引率で課金されます。各グループの割引率はコンソールのモデルプラザで確認できます。有料リクエストを送る前に、実際に使うキーで GET /v1/models を呼び出し、gemini-nano-banana-2.1 が表示されることを確認してください。
向いている用途
- 大量生成:EC の商品画像、SNS 用ビジュアル、A/B テスト用クリエイティブ。1 枚あたりのコストが半分になると、規模が大きいほど効果が積み上がります。
- 文字入りのデザイン:ポスター、表紙、情報カード。タイポグラフィはこの世代の目玉となる改善点ですが、描画された文字の校正は引き続きおすすめします。
- マルチターン編集:前回の結果をもとに細部を調整できます。Google はマルチターンの一貫性を強調しています。
- 高解像度での納品:印刷や大画面向けに 4K が必要な場合でも、より高価なモデルに切り替える必要はありません。
よくある質問
API は Nano Banana 2 と同じですか?
はい。リクエスト構造、パラメータ、レスポンス形式は変わりません。model を gemini-nano-banana-2.1 に設定するだけです。これまで 2K が上限だった場合は、image_size を 4K に設定できるようになりました。
1 回のリクエストで複数枚生成できますか?
はい、n を使ってください。ゲートウェイが並列で生成します。結果はオール・オア・ナッシングで、1 枚でも失敗するとリクエスト全体が失敗となり、課金されません。4K などの大きなサイズでは n の上限が低く、超えると 400 が返ります。
透過背景やマスクによるインペインティングには対応していますか?
いいえ。background: "transparent" と mask はどちらも 400 を返します。変更したい領域はプロンプトで記述してください。
失敗した場合も課金されますか?
いいえ。バリデーションエラーや生成の失敗は無料です。画像が返されたリクエストのみが課金され、同期レスポンスでは usage.cost_usd で実際の請求額が返されます。
結果はどの形式で返りますか?
Images API は同期で data[].b64_json を返し、JPEG の場合もあるため、保存前に data[].mime_type を確認してください。非同期タスクは完了時に画像 URL を返すので、速やかにご自身のストレージにダウンロードしてください。