gemini-2.5-flash-image)は、テキストの指示で画像を編集し、最大3枚の画像を1枚に合成できます。このページでは、編集リクエストの送り方、結果の保存、Nano Banana 2への移行を説明します。
Standardは最初のNano Bananaモデルで、このサイトではモデルファミリーと区別するためにStandardと呼んでいます。Nano Banana 2 Lite、Nano Banana 2、Nano Banana Proとの比較は、Nano Bananaの概要を参照してください。
始める前に
1
APIキーを作成する
トークン管理でトークン作成のダイアログ(创建令牌)を開き、課金方式(计费模式)を従量優先(按量优先、推奨)または回数課金(按次计费)にして、作成(创建)をクリックします。Nano Bananaのモデルには回数課金の料金しかありません。従量優先のキーは、これらのモデルも従量課金のモデルも呼び出せますが、回数課金のキーが呼び出せるのは回数課金のモデルだけです。
default グループには gemini-2.5-flash-image が含まれています。
2
キーを設定し、依存パッケージをインストールする
jq も必要です。たとえば brew install jq や sudo apt-get install jq でインストールします。3
レスポンスの保存ヘルパーを用意する
次のモジュールを
nano_banana_save.py として保存します。Pythonの例はこれをインポートし、cURLの場合は保存したレスポンスに対して実行します。chat completionsと generateContent のどちらのレスポンスからもすべての画像を見つけ、欠けたBase64のパディングを補い、実際の形式に合わせてファイル名を付けます。画像を編集する
同じユーザーメッセージの中に、最初に指示、そのあとに画像を入れます。ローカルのファイルは、data:image/jpeg;base64,... のように、MIMEタイプがファイルと一致するデータURLとして送ります。
- Python
- cURL
次のスクリプトを 商品写真の背景を差し替えます。
nano_banana_edit.py として保存します。指示と1〜3枚の画像(ローカルのファイルか、公開されたHTTPSのURL)を送り、結果を保存します。product-studio.png、.jpg、.webp のいずれかで保存されます。変更は指示の形で書いてください。質問のように読めるプロンプトでは、テキストだけの回答が返ることがあります。
2〜3枚の画像を合成する
指示の後ろに、プロンプトで参照する順にファイルを並べ、それぞれの画像の役割をプロンプトで示します。gemini-2.5-flash-image の入力画像は3枚までが最適です。もっと多くの参照画像を使いたい場合や、複数の人物を画像間で一貫させたい場合は、最大14枚に対応するNano Banana 2.1、Nano Banana 2、Nano Banana Proを使ってください。
画像をURLで送る
ローカルのファイルの代わりに、公開されたhttps:// のアドレスを渡せます。スクリプトはそれを image_url としてそのまま送ります。
アスペクト比を指定する
OpenAI互換のルートにはアスペクト比の設定がありません。結果の形を選ぶには、Geminiネイティブのエンドポイントを呼び出し、generationConfig.imageConfig.aspectRatio に次のいずれかの値を指定します。
- Standardはどの比率でも約1Kで出力するため、
imageSizeは省略します。 aspectRatioを省略した場合、Googleのドキュメント上の既定では、出力は入力画像のサイズに合わせられます。
- cURL
- Python
mimeType を合わせた inlineData パートとして送ります。キーは Authorization: Bearer と x-goog-api-key のどちらでも受け付けます。Google Gen AI SDKでのクライアントの設定は、Geminiプロトコルを参照してください。
レスポンスを処理する
nano_banana_save.py は両方のレスポンス形式に対応しています。自分でレスポンスを解析する場合は、次の点に注意してください。
- chat completions:画像は
choices[0].message.contentのテキストの中にあり、通常はのようなMarkdownの画像です。PNGと決めつけずにデータURLから形式を読み取り、デコードの前にdata:image/...;base64,の接頭辞を取り除き、長さが4の倍数でなければ=のパディングを補います。 - generateContent:各画像は
candidates[].content.parts[]の中のinlineDataパートで、mimeTypeとBase64のdataを持ちます。thought: trueが付いたパートは最終出力ではないため、読み飛ばします。
- 画像がない:返答がテキストだけか、どのパートにも
inlineDataがありません。- ネイティブのレスポンスでは、各候補の
finishReasonと、あればpromptFeedbackを確認します。 - 値の例は、
IMAGE_SAFETY、IMAGE_PROHIBITED_CONTENT、NO_IMAGEです。
- ネイティブのレスポンスでは、各候補の
わかりやすい編集指示を書く
- 変える部分と変えてはいけない部分を書きます。たとえば「青いソファだけを茶色の革のソファに変えてください。クッション、部屋のほかの部分、照明はそのままにしてください。」です。マスクのパラメーターはなく、Googleはこの方法をセマンティックマスキングと呼んでいます。
- 合成では、「1枚目の画像のドレス」「2枚目の画像の女性」のように、各画像を順番と役割で指します。
- 顔やロゴを守りたいときは、それを詳しく描写し、変えてはいけないと明記します。
- 「もっと良く」「きれいに」のような言葉ではなく、求めるスタイル、照明、配置を具体的に書きます。
- 精度が重要なときは、1回のリクエストで1つの変更だけにします。複数段階の編集では、保存した結果を次のリクエストの入力にします。
エラーと課金
画像のないHTTP 200のリクエストも含め、呼び出しごとに1回の料金が課金されます。たとえば、安全チェックで出力がブロックされた場合です。同じ内容のまま再送しないでください。詳しくはNano Bananaの概要の「空のレスポンスで課金されないようにする」を参照してください。 Nano Bananaの概要の「課金」のルールはすべてのNano Bananaモデルに適用され、各リクエストのステータスと課金額は呼び出しログで確認できます。- HTTP 401:APIキーと
Authorization: Bearerヘッダーを確認します。アカウントのAccessTokenではなく、トークン管理で作成したAPIキーを使ってください。 - HTTP 400:モデルID、JSONの本文、
aspectRatioの値を確認します。StandardにはimageSizeを送らないでください。 - HTTP 429、5xx、タイムアウト:指数バックオフで再試行します。タイムアウトのあとは、同じ編集に二重に支払わないよう、再送する前に呼び出しログでそのリクエストを確認してください。
- 大きな写真:Base64にするとファイルは約3分の1大きくなるため、非常に大きな画像はエンコードの前に縮小してください。
Nano Banana 2に移行する
Nano Banana 2(gemini-3.1-flash-image)は、Standardと同じchat completionsと generateContent のリクエストを受け付けます。そのため、編集の移行で変えるのは1つの値だけです。
https://api.laozhang.ai/v1beta/models/gemini-3.1-flash-image:generateContent。このページのスクリプトでは、model の引数かリクエストURLの gemini-2.5-flash-image を置き換えます。切り替えると、次のようになります。
- 1回の料金は$0.055です(2026年9月24日時点の公開価格)。
- 編集に使える参照画像は最大14枚で、内訳はオブジェクト画像が最大10枚、人物画像が最大4枚です。
- Geminiネイティブのルートでは、14種のアスペクト比から選べ、
imageSizeに次のいずれかの値を追加できます。512、1K、2K、4K
- 同じプロンプトでも結果が変わることがあるため、本番のトラフィックを移す前に、普段の編集をいくつか試してください。
gemini-3.1-flash-lite-image、1回$0.025)を勧めています。Liteは同じリクエスト形式で、1枚の画像を1Kで編集します。
ただしGoogleによると、Liteは複数の参照入力や、複数回にわたる連続編集には最適化されていません。合成はNano Banana 2.1かNano Banana 2で行ってください。Liteの編集例は、Nano Banana 2 Liteの「画像を編集する」にあります。
よくある質問
gemini-2.5-flash-imageは2026年10月2日以降も使える?
現時点では使えます。Googleの料金のページは2026年10月2日での提供終了を警告していましたが、非推奨モデルのページでは現在2027年3月15日になっています(2026年10月8日時点)。2026年10月5日時点で、LaoZhang APIはgemini-2.5-flash-image を同じ料金で提供しています。
- LaoZhang APIは、このモデルをいつまで提供するかを保証しておらず、いつ停止してもおかしくありません。
- 停止すると、リクエストは失敗します。
-previewのIDとは違い、ほかのモデルへの振り替えはないため、リクエストが自動で新しいモデルに移ることはありません。
Standardの編集で2Kや4Kは出せる?
出せません。Standardはどのアスペクト比でも約1Kで出力し、imageSize を受け付けません。選べるのは、前述の「アスペクト比を指定する」で示した比率だけです。2Kや4Kの編集が必要な場合は、前述の「Nano Banana 2に移行する」に従って移行するか、Nano Banana Proを使い、リクエストに imageSize を加えてください。
gemini-2.5-flash-image-previewはまだ使える?
使えません。Googleの非推奨モデルのページによると、2026年1月15日に提供を終了しており、LaoZhang APIのモデル一覧にもありません。gemini-2.5-flash-image も提供終了日を過ぎていつ停止してもおかしくないため、直接Nano Banana 2(gemini-3.1-flash-image)に移行してください。
関連ページと参考資料
- Nano Bananaの概要 — 5モデル、2つのリクエスト形式、課金ルールの比較
- Nano Banana 2 — 移行先。参照画像は最大14枚、512pxから4Kの出力
- Nano Banana 2 Lite — 低コストの1K生成と1枚の画像の編集
- Proの編集 — 最大14枚の参照画像と4K出力による複数画像の編集
- 呼び出しログ — リクエストのステータスと課金額の確認
- Google: Nano Banana image generation — 編集のプロンプト、入力の上限、モデルの選び方
- Google: Gemini API deprecations —
gemini-2.5-flash-imageの提供終了日 - Google: generateContent reference —
imageConfigのフィールド