> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Nano Banana 2 APIの使い方：画像の生成と編集

> gemini-3.1-flash-imageをGoogleアカウントなしでLaoZhang APIのキーから呼び出せます。512pxから4Kまで1回$0.055、14種のアスペクト比に対応し、実行できるコードも載せています。

Nano Banana 2は画像内の文字を安定して描け、複数の参照画像の合成も得意です。512pxのプレビューサイズを出せるNano Bananaモデルは、Nano Banana 2だけです。

## Nano Banana 2の対応内容

| 項目 | 内容 |
| - | - |
| モデルID | `gemini-3.1-flash-image`（安定版）。Google Gemini 3.1 Flash Image |
| 料金 | 512pxから4Kまで**1回\$0.055**。生成も編集も同じ |
| アカウント | Googleアカウントは不要。LaoZhang APIのキーだけ |
| エンドポイント | アスペクト比と出力サイズを指定できるのはGeminiネイティブの `generateContent`。OpenAI互換のchat completionsには比率とサイズの設定がない |
| 同時実行とレート制限 | プラットフォーム側の同時実行数の上限や速度制限はありません。`429` は上流の処理能力に由来します。詳しくは[同時リクエストと429](https://docs.laozhang.ai/ja/faq/api-concurrency.md) |
| 課金 | HTTP 200の応答は、画像がなくても1回分が課金されます。200以外は課金されません。詳しくは[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「課金」 |

価格は2026年9月24日時点の公開価格です。最新の価格は[AIモデルのAPI料金一覧](https://docs.laozhang.ai/ja/models.md)を参照してください。

モデルはGoogleの公式チャネルのもので、1Kから4Kの画像はGoogleの標準価格（1Kで\$0.067、2Kで\$0.101、4Kで\$0.151）より低くなります。1Kから4Kだけで足りる場合は、同じリクエストで使える[Nano Banana 2.1](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-2-1-image.md)が1回\$0.045です。

![ランタンの灯りの下、手描きの「NOODLES」の看板を掲げた夜市の屋台。Nano Banana 2で生成](https://mintcdn.com/laozhangai-edd05f2c/YuJHjB7ivlJQODe0/images/samples/nb2-en-generate.jpg?fit=max\&auto=format\&n=YuJHjB7ivlJQODe0\&q=85\&s=7d354f14a97893f8b3386acd4203cf74)

下の生成例の出力：2K、16:9。プロンプト：Generate an image of a night market food stall with a hand-painted sign that reads "NOODLES", warm lantern light.

### パラメーターと制限

| パラメーター | 値 |
| - | - |
| 出力サイズ `imageSize` | `512`、`1K`（既定）、`2K`、`4K` |
| アスペクト比 `aspectRatio` | Geminiネイティブのルートで14種：`1:1`、`1:4`、`1:8`、`2:3`、`3:2`、`3:4`、`4:1`、`4:3`、`4:5`、`5:4`、`8:1`、`9:16`、`16:9`、`21:9` |
| 参照画像 | 最大14枚。内訳は、オブジェクト画像が最大10枚、人物を一貫させるための人物画像が最大4枚 |
| 思考（Thinking） | minimal（既定）またはhigh。モデルは描画の前にプロンプトを検討する |
| Google検索グラウンディング | ウェブ検索と画像検索 |

Googleの[非推奨モデルのページ](https://ai.google.dev/gemini-api/docs/deprecations)によると、`gemini-3.1-flash-image-preview` は2026年6月25日に提供を終了しました。LaoZhang APIでは `-preview` のIDを対応する安定版のIDに振り替えていますが、安定版の `gemini-3.1-flash-image` を直接指定してください。5つのNano Bananaモデルの比較は、[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)を参照してください。

## 呼び出す前に

**1. APIキーを作成する**

[トークン管理](https://api.laozhang.ai/token)でトークン作成のダイアログ（创建令牌）を開き、**課金方式**（计费模式）を**従量優先**（按量优先、推奨）または**回数課金**（按次计费）にして、**作成**（创建）をクリックします。

Nano Banana 2には回数課金の料金しかないため、**従量課金**（按量计费）のキーでは呼び出せません。リクエストが課金される条件は、[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「課金」で説明しています。

![LaoZhang APIコンソールのトークン作成ダイアログ。課金方式で回数課金（按次计费）を選んでいる](https://mintcdn.com/laozhangai-edd05f2c/_loZ0Jy0ZI__xJ9z/images/token-create-per-request.png?fit=max\&auto=format\&n=_loZ0Jy0ZI__xJ9z\&q=85\&s=1fdceb804bb3ad50f83a21ec65b4d807)

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

```bash theme={null}
export LAOZHANG_API_KEY="sk-..."  # 自分のLaoZhang APIキーに置き換える
python -m pip install openai requests
```

**3. cURL用の保存関数を追加する**

cURLの例には `jq` が必要です。次のシェル関数は、Geminiネイティブのレスポンスにある最後の画像を、`mimeType` に合った拡張子で保存します。途中経過の画像が一緒に返った場合も、最後の画像が最終結果です。

```bash theme={null}
save_image() {
  local image='[.candidates[]?.content.parts[]? | select(.inlineData and (.thought | not))][-1].inlineData'
  local ext
  case "$(jq -r "$image.mimeType" "$1")" in
    image/png) ext=png ;;
    image/jpeg) ext=jpg ;;
    image/webp) ext=webp ;;
    *) jq '{error, promptFeedback, finishReasons: [.candidates[]?.finishReason]}' "$1"; return 1 ;;
  esac
  jq -r "$image.data" "$1" | base64 --decode > "$2.$ext" && echo "保存しました: $2.$ext"
}
```

レスポンスに画像がないときは、代わりに、エラー、`promptFeedback`、`finishReason` の各フィールドが出力されます。

## 画像を生成する

> [tab] cURL
>
> ```bash theme={null}
> curl --fail-with-body --max-time 300 \
>   "https://api.laozhang.ai/v1beta/models/gemini-3.1-flash-image:generateContent" \
>   -H "Authorization: Bearer $LAOZHANG_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{
>     "contents": [{
>       "role": "user",
>       "parts": [{"text": "Generate an image of a night market food stall with a hand-painted sign that reads \"NOODLES\", warm lantern light."}]
>     }],
>     "generationConfig": {
>       "responseModalities": ["IMAGE"],
>       "imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
>     }
>   }' \
>   -o nb2-response.json
>
> save_image nb2-response.json nb2-night-market
> ```

> [tab] Python
>
> 次のスクリプトを `nano_banana_2.py` として保存します。プロンプトから画像を生成するか、プロンプトの後ろに指定した画像を編集します。
>
> ```python theme={null}
> """Nano Banana 2（gemini-3.1-flash-image）で画像を生成または編集する。"""
> import argparse
> import base64
> import os
> import sys
> from pathlib import Path
>
> import requests
>
> URL = "https://api.laozhang.ai/v1beta/models/gemini-3.1-flash-image:generateContent"
> RATIOS = ["1:1", "1:4", "1:8", "2:3", "3:2", "3:4", "4:1", "4:3", "4:5", "5:4", "8:1", "9:16", "16:9", "21:9"]
> SIZES = ["512", "1K", "2K", "4K"]
> MIME_TYPES = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".webp": "image/webp"}
> EXTENSIONS = {"image/png": "png", "image/jpeg": "jpg", "image/webp": "webp"}
>
> parser = argparse.ArgumentParser(description="画像を生成する。画像ファイルを渡した場合はそれを編集する。")
> parser.add_argument("prompt")
> parser.add_argument("images", nargs="*", help="参照画像（PNG、JPEG、WebP、最大14枚）")
> parser.add_argument("--ratio", choices=RATIOS, help="アスペクト比。省略すると1:1、または入力画像に合わせる")
> parser.add_argument("--size", default="1K", choices=SIZES)
> parser.add_argument("--out", default="nano-banana-2", help="拡張子を除いた出力ファイル名")
> args = parser.parse_args()
> if len(args.images) > 14:
>     sys.exit("参照画像は最大14枚までです。")
>
> parts = [{"text": args.prompt}]
> for path in args.images:
>     mime = MIME_TYPES.get(Path(path).suffix.lower())
>     if mime is None:
>         sys.exit(f"PNG、JPEG、WebPのいずれかのファイルを指定してください: {path}")
>     data = base64.b64encode(Path(path).read_bytes()).decode("ascii")
>     parts.append({"inlineData": {"mimeType": mime, "data": data}})
>
> image_config = {"imageSize": args.size}
> if args.ratio:
>     image_config["aspectRatio"] = args.ratio
>
> response = requests.post(
>     URL,
>     headers={"Authorization": f"Bearer {os.environ['LAOZHANG_API_KEY']}"},
>     json={
>         "contents": [{"role": "user", "parts": parts}],
>         "generationConfig": {"responseModalities": ["IMAGE"], "imageConfig": image_config},
>     },
>     timeout=300,
> )
> if response.status_code != 200:
>     sys.exit(f"HTTP {response.status_code}: {response.text[:500]}")
>
> result = response.json()
> images = [
>     part["inlineData"]
>     for candidate in result.get("candidates") or []
>     for part in (candidate.get("content") or {}).get("parts") or []
>     if "inlineData" in part and not part.get("thought")
> ]
> if not images:
>     reasons = [candidate.get("finishReason") for candidate in result.get("candidates") or []]
>     sys.exit(f"画像が返されませんでした: {result.get('promptFeedback') or reasons}")
> for number, image in enumerate(images, start=1):
>     suffix = "" if number == 1 else f"-{number}"
>     output = Path(f"{args.out}{suffix}.{EXTENSIONS.get(image['mimeType'], 'bin')}")
>     output.write_bytes(base64.b64decode(image["data"]))
>     print("保存しました", output)
> ```
>
> 4K、16:9の画像を生成します。
>
> ```bash theme={null}
> python nano_banana_2.py "Generate an image of a night market food stall with a hand-painted sign that reads \"NOODLES\", warm lantern light." --ratio 16:9 --size 4K --out nb2-night-market
> ```

画像は、`candidates[0].content.parts[].inlineData.data` にBase64で入って返り、形式は `mimeType` でわかります。どちらの例も、デコードして、形式に合ったPNG、JPEG、WebPのファイルとして保存します。

サイズが大きいほど描画に時間がかかるため、クライアントのタイムアウトには余裕を持たせてください。例では300秒を許容しています。

### 出力サイズ

`imageSize` には `512` から `4K` までの4つの値を、Kを大文字にして指定します。既定は `1K` です。GoogleはNano Banana 2の出力ピクセル数を次のように公開しています。

| アスペクト比 | 1K | 2K | 4K |
| - | - | - | - |
| 1:1 | 1024×1024 | 2048×2048 | 4096×4096 |
| 1:4 | 512×2048 | 1024×4096 | 2048×8192 |
| 1:8 | 384×3072 | 768×6144 | 1536×12288 |
| 2:3 | 848×1264 | 1696×2528 | 3392×5056 |
| 3:2 | 1264×848 | 2528×1696 | 5056×3392 |
| 3:4 | 896×1200 | 1792×2400 | 3584×4800 |
| 4:1 | 2048×512 | 4096×1024 | 8192×2048 |
| 4:3 | 1200×896 | 2400×1792 | 4800×3584 |
| 4:5 | 928×1152 | 1856×2304 | 3712×4608 |
| 5:4 | 1152×928 | 2304×1856 | 4608×3712 |
| 8:1 | 3072×384 | 6144×768 | 12288×1536 |
| 9:16 | 768×1376 | 1536×2752 | 3072×5504 |
| 16:9 | 1376×768 | 2752×1536 | 5504×3072 |
| 21:9 | 1584×672 | 3168×1344 | 6336×2688 |

`512` では、1:1の画像は512×512です。ほかの比率の512pxのサイズは、Googleの[画像生成ガイド](https://ai.google.dev/gemini-api/docs/image-generation)を参照してください。

## 画像を編集する

最初に指示、そのあとに参照画像を `inlineData` パートとして送ります。プロンプトでは、画像を順番で指します（「1枚目の画像」「2枚目の画像」）。Nano Banana 2は最大14枚の参照画像に対応し、内訳はオブジェクト画像が最大10枚、人物画像が最大4枚です。

> [tab] cURL
>
> このリクエストは、2つのローカルファイルを組み合わせます。大きな画像でもシェルの引数の上限を超えないよう、リクエスト本文は `jq` で組み立てます。それぞれの `mimeType` は、ファイルの形式と一致させてください。
>
> ```bash theme={null}
> base64 < product.png | tr -d '\n' > product.b64
> base64 < scene.jpg | tr -d '\n' > scene.b64
> jq -n --rawfile product product.b64 --rawfile scene scene.b64 '{
>   contents: [{
>     role: "user",
>     parts: [
>       {text: "1枚目の画像の商品を、2枚目の画像のテーブルの上に置いてください。シーンの照明に合わせ、商品のラベルの文字は読める状態を保ってください。"},
>       {inlineData: {mimeType: "image/png", data: $product}},
>       {inlineData: {mimeType: "image/jpeg", data: $scene}}
>     ]
>   }],
>   generationConfig: {
>     responseModalities: ["IMAGE"],
>     imageConfig: {aspectRatio: "3:2", imageSize: "2K"}
>   }
> }' > nb2-edit-request.json
>
> curl --fail-with-body --max-time 300 \
>   "https://api.laozhang.ai/v1beta/models/gemini-3.1-flash-image:generateContent" \
>   -H "Authorization: Bearer $LAOZHANG_API_KEY" \
>   -H "Content-Type: application/json" \
>   --data-binary @nb2-edit-request.json \
>   -o nb2-edit-response.json
>
> save_image nb2-edit-response.json nb2-product-scene
> ```

> [tab] Python
>
> 前述の「画像を生成する」の `nano_banana_2.py` を使い、プロンプトの後ろにファイルを並べます。
>
> ```bash theme={null}
> # 画像を1枚編集する
> python nano_banana_2.py "この昼間の街の写真を、ネオンが映り込む雨の夜の風景に変えてください。建物はそのままにしてください。" street.jpg --ratio 3:2 --size 2K --out nb2-street
>
> # 3枚の参照画像を組み合わせる：商品、シーン、雰囲気を決める3枚目の画像
> python nano_banana_2.py "1枚目の画像の商品を2枚目の画像のテーブルの上に置き、3枚目の画像のスタイルで描いてください。" product.png scene.jpg style.jpg --ratio 3:2 --size 2K --out nb2-composite
> ```

変えてはいけない部分を明示し、細かく制御したいときは、1回のリクエストでは1つの変更だけを指示します。シリーズを通して人物を一貫させたいときは、その人物の写真を人物の参照画像（最大4枚）として渡します。

Base64にした画像を含め、リクエスト本文全体は20 MB以内に収めてください。参照画像が大きい場合や、すでにCDNにある場合は、その画像の `inlineData` パートを、URLを持つ `fileData` パートに置き換えます。

```json theme={null}
{"fileData": {"mimeType": "image/jpeg", "fileUri": "https://cdn.example.com/your-photo.jpg"}}
```

サーバーが画像をダウンロードするため、URLはログインなしでアクセスできる必要があります。詳しい条件は、[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「大きな画像と画像URL」を参照してください。

## Google検索で画像を裏付ける

天気予報や最新の結果など、現在の情報に基づく画像には `googleSearch` ツールを追加します。モデルが画像と一緒に書いたテキストも返るよう、`responseModalities` で `TEXT` を許可します。

```bash theme={null}
curl --fail-with-body --max-time 300 \
  "https://api.laozhang.ai/v1beta/models/gemini-3.1-flash-image:generateContent" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"role": "user", "parts": [{"text": "東京の現在の5日間の天気予報をインフォグラフィックにしてください。"}]}],
    "tools": [{"googleSearch": {}}],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
    }
  }' \
  -o nb2-grounded-response.json

save_image nb2-grounded-response.json nb2-tokyo-weather
jq -r '.candidates[0].content.parts[] | select(.text) | .text' nb2-grounded-response.json
```

Google画像検索の結果を視覚的な参照としても使えるNano Bananaモデルは、Nano Banana 2とNano Banana 2.1だけです。有効にする方法は、後述の「よくある質問」にあります。裏付けのある結果をエンドユーザーに表示する場合は、Googleの[グラウンディングガイド](https://ai.google.dev/gemini-api/docs/google-search)に従って検索候補を表示してください。

## OpenAI互換ルートを使う

すでにOpenAI SDKを使っているアプリでは、chat completionsでNano Banana 2を呼び出せます。このルートには比率とサイズの設定がないため、テキストだけのプロンプトでは1:1の1K画像が返ります。画像は、`message.content` の中のBase64のデータURLとして返ります。次のスクリプトを `nano_banana_2_chat.py` として保存します。

```python theme={null}
"""OpenAI互換ルートで、Nano Banana 2を使って画像を生成または編集する。"""
import argparse
import base64
import os
import re
import sys
from pathlib import Path

from openai import OpenAI

MIME_TYPES = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".webp": "image/webp"}
EXTENSIONS = {"png": "png", "jpeg": "jpg", "jpg": "jpg", "webp": "webp"}

parser = argparse.ArgumentParser(description="画像を生成する。画像ファイルを渡した場合はそれを編集する。")
parser.add_argument("prompt")
parser.add_argument("images", nargs="*", help="編集する画像（PNG、JPEG、WebP）")
parser.add_argument("--out", default="nano-banana-2-chat", help="拡張子を除いた出力ファイル名")
args = parser.parse_args()

content = args.prompt
if args.images:  # 編集：指示とローカルの画像をデータURLとして送る
    content = [{"type": "text", "text": args.prompt}]
    for path in args.images:
        mime = MIME_TYPES.get(Path(path).suffix.lower())
        if mime is None:
            sys.exit(f"PNG、JPEG、WebPのいずれかのファイルを指定してください: {path}")
        encoded = base64.b64encode(Path(path).read_bytes()).decode("ascii")
        content.append({"type": "image_url", "image_url": {"url": f"data:{mime};base64,{encoded}"}})

# max_retries=0：タイムアウト後の自動リトライで画像が二重に生成・課金されるのを防ぐ
client = OpenAI(api_key=os.environ["LAOZHANG_API_KEY"], base_url="https://api.laozhang.ai/v1", timeout=300, max_retries=0)
reply = client.chat.completions.create(
    model="gemini-3.1-flash-image",
    messages=[{"role": "user", "content": content}],
)
text = reply.choices[0].message.content or ""

found = re.findall(r"data:image/(png|jpe?g|webp);base64,([A-Za-z0-9+/=]+)", text)
if not found:
    sys.exit(f"画像が返されませんでした: {text[:300]}")
for number, (kind, encoded) in enumerate(found, start=1):
    suffix = "" if number == 1 else f"-{number}"
    output = Path(f"{args.out}{suffix}.{EXTENSIONS[kind]}")
    output.write_bytes(base64.b64decode(encoded + "=" * (-len(encoded) % 4)))
    print("保存しました", output)
```

画像を生成してから、ローカルのファイルを編集します。

```bash theme={null}
python nano_banana_2_chat.py "雨の通りに浮かぶ紙の船の画像を生成してください。やわらかな映り込みを入れてください。" --out nb2-chat-boat
python nano_banana_2_chat.py "この写真をゴッホ風の油絵に変換してください。構図はそのままにしてください。" photo.jpg --out nb2-chat-painting
```

## エラーと課金

次の値の中から送ってください。

| フィールド | 使える値 |
| - | - |
| `aspectRatio` | 14種の比率のいずれか |
| `imageSize` | `512`、`1K`、`2K`、`4K` |

* 比率の `1:4`、`4:1`、`1:8`、`8:1` は、Nano Banana 2とNano Banana 2.1でしか使えません。
* Googleは、`2k` のような小文字のサイズを受け付けません。
* リクエストがHTTP 200で画像を返さないことがあります。たとえば、プロンプトが画像を求めていない場合や、安全チェックで出力がブロックされた場合です。
  * この場合も1回分が課金されます。
  * `finishReason`（あれば `promptFeedback` も）を確認し、プロンプトや参照画像を変えてから再送してください。
  * 詳しくは、[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「空のレスポンスで課金されないようにする」を参照してください。
* HTTP 401は、キーか `Authorization: Bearer` ヘッダーが間違っていることを示します。
* 429と5xxのレスポンスは、バックオフを入れて再試行します。タイムアウトしたリクエストは、再送する前に呼び出しログを確認してください。

[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「課金」のルールは、すべてのNano Bananaモデルに適用されます。

## よくある質問

### 512pxで出力するには？

Geminiネイティブのルートで、`generationConfig.imageConfig.imageSize` に文字列の `512` を指定します。これを受け付けるのはNano Banana 2だけです。ほかの値は、前述の「出力サイズ」を参照してください。

### 思考レベルの変更と料金への影響は？

Nano Banana 2とNano Banana 2 Liteには、`minimal`（既定）と `high` の2つの思考レベルがあり、速度と品質のどちらを優先するかを選べます。LaoZhang APIはこの設定をそのまま渡します。Geminiネイティブのルートでは、`generationConfig.thinkingConfig.thinkingLevel` に指定します。

```json theme={null}
"thinkingConfig": {"thinkingLevel": "high"}
```

レベルを変えても料金は変わりません。LaoZhang APIは1回ごとに課金するだけなので、`high` のリクエストもNano Banana 2の1回の料金のままです（Google自身は、思考トークンを別に課金します）。Nano Banana Proは常に思考し、レベルは変更できません。

### 画像検索グラウンディングの使い方と制限は？

前述の「Google検索で画像を裏付ける」のGoogle検索ツールに `searchTypes` を加え、`webSearch` と `imageSearch` の両方を並べます。

```json theme={null}
"tools": [{"googleSearch": {"searchTypes": {"webSearch": {}, "imageSearch": {}}}}]
```

Googleの[generateContentリファレンス](https://ai.google.dev/api/generate-content)によると、次のとおりです。

* `searchTypes` のないツールはウェブ検索だけを使い、`imageSearch` だけを指定すると画像検索だけを使います。
* 上の例のように両方を指定すると、どちらも使えます。検索するかどうかと、どちらを使うかはモデルが決めます。
* `searchTypes` はオブジェクトにする必要があり、配列では効果がありません。画像検索を使った場合、レスポンスの `groundingMetadata` に `imageSearchQueries` が入ります。

Googleは次の制限を挙げています。

* 画像検索グラウンディングに対応するのは、Nano Banana 2とNano Banana 2.1だけです。
* 現時点では、ウェブ検索で見つかった実在の人物の画像は使えません。
* 裏付けのある結果をエンドユーザーに表示する場合は、検索候補を表示する必要があります。

グラウンディングを使うリクエストは、1回の料金に加えて、検索1回あたり\$0.014がかかります。検索の回数はモデルが決め、呼び出しログで確認できます。詳しくは、[Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md)の「課金」を参照してください。

## 関連ページと参考資料

* [Nano Bananaの概要](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image.md) — 5モデル、2つのプロトコル、課金の比較
* [Nano Banana 2.1](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-2-1-image.md) — 新しいバージョン。1Kから4Kで、1回あたりの料金が低い
* [Nano Banana 2 Lite](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-2-lite-api.md) — 低コストの1K画像
* [Nano Banana Pro](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-pro-image.md) — 複雑なレイアウトとブランド要件の厳しい素材
* [Standardの編集](https://docs.laozhang.ai/ja/api-capabilities/nano-banana-image-edit.md) — `gemini-2.5-flash-image` の編集をNano Banana 2に移行する
* [Google: Nano Banana image generation](https://ai.google.dev/gemini-api/docs/image-generation) — サイズ、アスペクト比、参照画像の上限、思考、グラウンディング
* [Google: generateContent reference](https://ai.google.dev/api/generate-content) — `imageConfig`、`thinkingConfig`、Google検索ツールのフィールド
* [Google: Gemini API deprecations](https://ai.google.dev/gemini-api/docs/deprecations) — 上流モデルの提供終了日
* [呼び出しログ](https://docs.laozhang.ai/en/faq/call-logs.md) — リクエストのステータスと課金額の確認


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.