> ## 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: генерация и редактирование, цена $0.055

> Вызов gemini-3.1-flash-image с API-ключом LaoZhang API без аккаунта Google: от 512px до 4K по одной цене, 14 соотношений сторон, привязка к поиску и готовый код.

Nano Banana 2 надёжно отрисовывает текст, хорошо справляется с композициями из нескольких референсов и остаётся единственной моделью Nano Banana с размером превью 512px.

## Что поддерживает Nano Banana 2

| Параметр | Значение |
| - | - |
| ID модели | `gemini-3.1-flash-image` (стабильная), Google Gemini 3.1 Flash Image |
| Цена | **\$0.055 за вызов** от 512px до 4K, для генерации и редактирования |
| Аккаунт | Аккаунт Google не нужен, только API-ключ LaoZhang API |
| Эндпоинты | Нативный `generateContent` позволяет задать соотношение сторон и размер; у OpenAI-совместимого chat completions таких настроек нет |
| Параллельность и лимиты | Нет лимита параллельности и троттлинга на платформе; `429` возникает из-за ёмкости апстрима, см. [Параллельность и 429](https://docs.laozhang.ai/ru/faq/api-concurrency.md) |
| Оплата | Каждый ответ HTTP 200 тарифицируется как один вызов, даже без изображения; ответы не 200 не тарифицируются. См. [правила оплаты](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md) |

Публичные цены указаны на 24 сентября 2026 года; актуальный список — в разделе [Цены на API моделей ИИ](https://docs.laozhang.ai/ru/models.md). Модель приходит по официальному каналу Google, и изображения от 1K до 4K стоят дешевле стандартной цены Google (\$0.067 при 1K, \$0.101 при 2K, \$0.151 при 4K). Если нужны только размеры от 1K до 4K, [Nano Banana 2.1](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-2-1-image.md) стоит \$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` | 14, в нативном маршруте Gemini: `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) | Минимальное (по умолчанию) или высокое: модель продумывает промпт перед отрисовкой |
| Привязка к поиску Google | Веб-поиск и поиск изображений |

Google отключил `gemini-3.1-flash-image-preview` 25 июня 2026 года, согласно своей [странице об устаревших моделях](https://ai.google.dev/gemini-api/docs/deprecations). В LaoZhang API ID с суффиксом `-preview` сопоставлены соответствующим стабильным ID, но лучше сразу указывать стабильный ID `gemini-3.1-flash-image`. Чтобы сравнить все пять моделей Nano Banana, откройте [обзор Nano Banana](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md).

## Подготовка к вызову

**1. Создайте API-ключ**

В разделе [Управление токенами](https://api.laozhang.ai/token) откройте диалог создания токена (创建令牌), в поле **Режим оплаты** (计费模式) выберите **«сначала по использованию»** (按量优先, рекомендуется) или **«оплата за вызов»** (按次计费) и нажмите **Создать** (创建). У Nano Banana 2 есть только цена за вызов, поэтому ключ с режимом «оплата по использованию» (按量计费) её вызвать не может; когда запрос тарифицируется, описано в [правилах оплаты](https://docs.laozhang.ai/ru/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-..."  # замените на свой API-ключ LaoZhang API
python -m pip install openai requests
```

**3. Добавьте функцию сохранения для cURL**

Для примеров с cURL нужен `jq`. Определите эту shell-функцию: она сохраняет последнее изображение из нативного ответа 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"
}
```

Если в ответе нет изображения, функция выводит поля `error`, `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="до 14 референсных изображений PNG, JPEG или WebP")
> 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
> ```

Изображение приходит в Base64 в `candidates[0].content.parts[].inlineData.data`, а формат указывает `mimeType`. Оба примера декодируют его и сохраняют соответствующий файл PNG, JPEG или WebP.

Крупные размеры рендерятся дольше, поэтому оставьте в клиенте большой таймаут; в примерах он равен 300 секундам.

### Размеры вывода

`imageSize` принимает четыре значения от `512` до `4K`, с заглавной 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` квадратное изображение имеет размер 512×512; остальные размеры 512px приведены в [руководстве Google по генерации изображений](https://ai.google.dev/gemini-api/docs/image-generation).

## Редактирование изображений

Сначала отправьте инструкцию, затем референсные изображения частями `inlineData`, а в промпте ссылайтесь на изображения по порядку («первое изображение», «второе изображение»). Nano Banana 2 принимает до 14 референсов: не больше 10 изображений объектов и 4 изображений персонажей.

> [tab] cURL
>
> Этот запрос объединяет два локальных файла. Собирайте тело через `jq`, чтобы большие изображения не превысили лимиты аргументов shell, и следите, чтобы `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: "Помести изделие с первого изображения на стол со второго изображения. Согласуй освещение со сценой и оставь этикетку изделия читаемой."},
>       {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}
> # Правка одного изображения
> python nano_banana_2.py "Преврати эту дневную уличную фотографию в дождливую ночь с неоновыми отражениями. Здания не меняй." street.jpg --ratio 3:2 --size 2K --out nb2-street
>
> # Объединение трёх референсов: изделие, сцена и третье изображение для стиля
> python nano_banana_2.py "Помести изделие с первого изображения на стол со второго изображения и нарисуй всё в стиле третьего изображения." product.png scene.jpg style.jpg --ratio 3:2 --size 2K --out nb2-composite
> ```

Напишите, что должно остаться без изменений, а для точного контроля описывайте одно изменение за запрос. Чтобы сохранить внешность людей в серии, передавайте их фотографии как референсы персонажей (до 4).

Весь запрос, включая изображения в Base64, должен занимать меньше 20 МБ. Если референс крупный или уже лежит на CDN, замените его часть `inlineData` частью `fileData` с URL изображения:

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

Изображение скачивает сервер, поэтому URL должен открываться без входа в систему; полные условия описаны в [обзоре Nano Banana](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md) в разделе «Большие изображения и URL».

## Привязка изображения к поиску Google

Добавьте инструмент `googleSearch`, чтобы изображение опиралось на актуальные данные, например прогноз погоды или свежие результаты. Разрешите `TEXT` в `responseModalities`, чтобы вместе с изображением вернулся и текст, который напишет модель:

```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": "Создай инфографику с текущим прогнозом погоды в Токио на пять дней."}]}],
    "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
```

Nano Banana 2 и Nano Banana 2.1 — единственные модели Nano Banana, которые могут использовать результаты поиска изображений Google как визуальные референсы; как это включить, описано в разделе «Частые вопросы». Если вы показываете результаты с привязкой конечным пользователям, показывайте поисковые подсказки так, как требует [руководство Google по привязке](https://ai.google.dev/gemini-api/docs/google-search).

## OpenAI-совместимый маршрут

Если приложение уже использует OpenAI SDK, вызывайте Nano Banana 2 через chat completions. На этом маршруте нет настроек соотношения сторон и размера, поэтому промпт без изображений возвращает квадратное изображение 1K. Изображение приходит как data URL в Base64 внутри `message.content`. Сохраните скрипт как `nano_banana_2_chat.py`:

```python theme={null}
"""Генерация и редактирование изображения через Nano Banana 2 по OpenAI-совместимому маршруту."""
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:  # правка: отправляем инструкцию и локальные изображения как data 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.
* Размеры в нижнем регистре, например `2k`, Google отклоняет.
* Запрос может вернуть HTTP 200 без изображения, например если промпт не просит изображение или проверка безопасности блокирует результат. Он тарифицируется как один вызов. Проверьте `finishReason` (и `promptFeedback`, если он есть), затем измените промпт или референсы, прежде чем отправлять снова; см. раздел «Как не платить за пустые ответы» в [обзоре Nano Banana](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md).
* HTTP 401 означает неверный ключ или заголовок `Authorization: Bearer`. Ответы 429 и 5xx повторяйте с нарастающей задержкой, а перед повторной отправкой запроса с таймаутом сверьтесь с журналом вызовов.

[Правила оплаты](https://docs.laozhang.ai/ru/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`, чтобы выбирать между скоростью и качеством, и LaoZhang API передаёт эту настройку без изменений. В нативном маршруте Gemini задайте её в `generationConfig.thinkingConfig.thinkingLevel`, например `"thinkingConfig": {"thinkingLevel": "high"}`.

Уровень не влияет на цену: LaoZhang API тарифицирует только за вызов, поэтому запрос с `high` стоит столько же, сколько обычный вызов Nano Banana 2 (сам Google тарифицирует токены рассуждения дополнительно). Nano Banana Pro рассуждает всегда, и её уровень изменить нельзя.

### Как включить привязку к поиску изображений и какие у неё ограничения?

Добавьте `searchTypes` в инструмент Google Search из раздела «Привязка изображения к поиску Google» и перечислите в нём `webSearch` и `imageSearch`:

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

Согласно [справочнику generateContent](https://ai.google.dev/api/generate-content) от Google:

* Инструмент без `searchTypes` использует только веб-поиск, а один `imageSearch` — только поиск изображений.
* Если указаны оба типа, как в примере, допустим любой из них; выполнять ли поиск и какого типа, решает модель.
* `searchTypes` должен быть объектом, массив не действует. Если поиск изображений выполнялся, `groundingMetadata` в ответе содержит `imageSearchQueries`.

Google указывает такие ограничения:

* Привязку к поиску изображений поддерживают только Nano Banana 2 и Nano Banana 2.1.
* Поиск изображений пока не может использовать найденные в интернете реальные изображения людей.
* Если вы показываете результаты с привязкой конечным пользователям, нужно показывать и поисковые подсказки.

Запросы с привязкой стоят \$0.014 за каждый поиск сверх цены за вызов. Сколько поисков выполнить, решает модель, а их число видно в журнале вызовов; см. [правила оплаты Nano Banana](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md).

## Связанные материалы и источники

* [Обзор Nano Banana](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-image.md) — сравнение пяти моделей, двух протоколов и оплаты
* [Nano Banana 2.1](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-2-1-image.md) — новая версия: от 1K до 4K по более низкой цене за вызов
* [Nano Banana 2 Lite](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-2-lite-api.md) — недорогие изображения 1K
* [Nano Banana Pro](https://docs.laozhang.ai/ru/api-capabilities/nano-banana-pro-image.md) — сложные макеты и ассеты, критичные для бренда
* [Редактирование Standard](https://docs.laozhang.ai/ru/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](https://ai.google.dev/api/generate-content) — поля `imageConfig`, `thinkingConfig` и инструмента Google Search
* [Google: устаревшие модели Gemini API](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.