メインコンテンツへスキップ
gemini-2.5-flash-image はGoogleの提供終了日を過ぎています。LaoZhang APIでは現在も使えますが、いつ停止してもおかしくないため、早めに移行してください。
  • Googleの日付は食い違っています。2026年10月8日時点で、非推奨モデルのページは2027年3月15日としていますが、料金のページはまだ2026年10月2日と警告しています。2026年10月5日時点で、LaoZhang APIの料金は変わらず1回$0.02で、終了日の保証はありません。
  • 編集はNano Banana 2(gemini-3.1-flash-image)か、1回$0.045とより低い料金のNano Banana 2.1(gemini-nano-banana-2.1)に移してください。どちらも同じリクエストを受け付けるので、変えるのはモデルIDだけです。手順は後述の「Nano Banana 2に移行する」にあります。
Nano Banana Standard(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 が含まれています。LaoZhang APIコンソールのトークン作成ダイアログ。課金方式で回数課金(按次计费)を選んでいる
2

キーを設定し、依存パッケージをインストールする

cURLの例には 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として送ります。
次のスクリプトを nano_banana_edit.py として保存します。指示と1〜3枚の画像(ローカルのファイルか、公開されたHTTPSのURL)を送り、結果を保存します。
商品写真の背景を差し替えます。
編集した画像は、モデルが返した形式に応じて product-studio.png、.jpg、.webp のいずれかで保存されます。変更は指示の形で書いてください。質問のように読めるプロンプトでは、テキストだけの回答が返ることがあります。

2〜3枚の画像を合成する

指示の後ろに、プロンプトで参照する順にファイルを並べ、それぞれの画像の役割をプロンプトで示します。
Googleによると、gemini-2.5-flash-image の入力画像は3枚までが最適です。もっと多くの参照画像を使いたい場合や、複数の人物を画像間で一貫させたい場合は、最大14枚に対応するNano Banana 2.1、Nano Banana 2、Nano Banana Proを使ってください。

画像をURLで送る

ローカルのファイルの代わりに、公開された https:// のアドレスを渡せます。スクリプトはそれを image_url としてそのまま送ります。
画像はリクエストの処理中にそのアドレスから取得されるため、ログイン、Cookie、ボット対策なしで読み込める必要があります。取得できない場合は、ファイルをダウンロードしてローカルのコピーを渡してください。

アスペクト比を指定する

OpenAI互換のルートにはアスペクト比の設定がありません。結果の形を選ぶには、Geminiネイティブのエンドポイントを呼び出し、generationConfig.imageConfig.aspectRatio に次のいずれかの値を指定します。
  • Standardはどの比率でも約1Kで出力するため、imageSize は省略します。
  • aspectRatio を省略した場合、Googleのドキュメント上の既定では、出力は入力画像のサイズに合わせられます。
このルートでは、画像はファイルごとに mimeType を合わせた inlineData パートとして送ります。キーは Authorization: Bearer と x-goog-api-key のどちらでも受け付けます。Google Gen AI SDKでのクライアントの設定は、Geminiプロトコルを参照してください。

レスポンスを処理する

nano_banana_save.py は両方のレスポンス形式に対応しています。自分でレスポンスを解析する場合は、次の点に注意してください。
  • chat completions:画像は choices[0].message.content のテキストの中にあり、通常は ![image](data:image/png;base64,iVBORw0...) のような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つの値だけです。
Geminiネイティブのルートでは、モデルIDはURLの一部です: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
  • 同じプロンプトでも結果が変わることがあるため、本番のトラフィックを移す前に、普段の編集をいくつか試してください。
Googleの画像生成ガイドは、Standardから移行するユーザーにNano Banana 2 Lite(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とは違い、ほかのモデルへの振り替えはないため、リクエストが自動で新しいモデルに移ることはありません。
編集が途切れないよう、今のうちにリクエストをNano Banana 2.1かNano Banana 2に切り替えてください。1枚の画像を1Kで編集するだけなら、Nano Banana 2 Liteでもかまいません。

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)に移行してください。

関連ページと参考資料