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

# Gemini Nano Banana 2.1 Генерация изображений

> Генерация изображений с Gemini Nano Banana 2.1 и VIP: до 14 референсных изображений, разрешения 1K, 2K и 4K.

> [!NOTE]
>
> **Для пользователей из материкового Китая:** используйте `https://toapis.cn` как Base URL. Замените `https://toapis.com` на `https://toapis.cn` в примерах ниже.

## Выбор модели

| Версия | Model ID |
| - | - |
| Стандартная | `gemini-nano-banana-2.1` |
| VIP | `gemini-nano-banana-2.1-vip` |

Обе модели используют один эндпоинт и одинаковые параметры запроса. Переключайте версии с помощью поля `model`. Поддерживаются генерация по тексту и редактирование изображений. Запросы выполняются асинхронно. Получайте результаты по ID задачи из ответа на отправку.

> [!WARNING]
>
> `image_urls` принимает только общедоступные URL изображений, а не данные base64. Сначала загрузите локальные изображения через [API загрузки изображений](https://docs.toapis.com/docs/ru/api-reference/uploads/images.md) и получите URL.

## Авторизация

**Authorization** `string` *required*

Все запросы требуют Bearer Token. Получите API Key на [странице управления API Key](https://toapis.com/console/token).

```text theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Параметры запроса

**model** `string` *required* (default: gemini-nano-banana-2.1)

Название модели. Используйте `gemini-nano-banana-2.1` или `gemini-nano-banana-2.1-vip`.

**prompt** `string` *required*

Текстовое описание для генерации или редактирования изображения.

**size** `string`

Соотношение сторон выходного изображения. Поддерживаемые значения:

* `1:1`
* `3:2`, `2:3`
* `4:3`, `3:4`
* `16:9`, `9:16`
* `5:4`, `4:5`
* `21:9`
* `1:4`, `4:1`
* `1:8`, `8:1`

**n** `integer` (default: 1)

Количество выходных изображений фиксировано: число `1`. Не используйте строку `"1"`.

**image\_urls** `string[]`

Массив строк URL референсных изображений для генерации или редактирования. Максимум 14 изображений. Каждый URL должен быть общедоступным. Количество референсных изображений не является количеством выходных изображений.

Максимум 10MB на изображение. Поддерживаемые форматы: .jpeg, .jpg, .png, .webp.

```json theme={null}
["https://example.com/photo.jpg"]
```

**metadata** `object`

Дополнительные параметры настройки.

**metadata**

**resolution** `string` (default: 1K)

Разрешение выходного изображения. Поддерживаемые значения: `1K`, `2K`, `4K`. По умолчанию: `1K`. Используйте заглавную `K`.

**grounding** `string` (default: none)

Grounding через поиск Google. При включении модель выполняет поиск перед генерацией, и результат может содержать источники в `grounding_metadata`.
Параметр поддерживается только в VIP-версии (`gemini-nano-banana-2.1-vip`).

Варианты:

* `none` - отключено (по умолчанию)
* `web` - поиск в интернете
* `image` - поиск по изображениям
* `web_image` - поиск в интернете и по изображениям

Оплачивается за каждый выполненный поисковый запрос: \$0.014 за запрос. При отправке запроса резервируется депозит до 4 запросов, неиспользованная часть возвращается при расчёте.

## Поля ответа

**id** `string`

ID задачи для запроса статуса и результатов.

**object** `string`

Всегда `generation.task`.

**model** `string`

ID модели, использованный в запросе.

**status** `string`

Статус задачи: `queued`, `in_progress`, `completed`, `failed`.

**progress** `integer`

Прогресс задачи в процентах от 0 до 100.

**created\_at** `integer`

Время создания задачи, Unix timestamp в секундах.

**metadata** `object`

Метаданные задачи.

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gemini-nano-banana-2.1",
  "prompt": "Ночной город в стиле киберпанк с мерцающими неоновыми огнями",
  "size": "16:9",
  "n": 1,
  "metadata": {
    "resolution": "2K"
  }
}'
```

```bash cURL (VIP Редактирование изображения) theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gemini-nano-banana-2.1-vip",
  "prompt": "Преобразуй эту фотографию в акварельную картину",
  "size": "1:1",
  "n": 1,
  "image_urls": [
    "https://example.com/photo.jpg"
  ],
  "metadata": {
    "resolution": "2K"
  }
}'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://toapis.com/v1/images/generations",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "model": "gemini-nano-banana-2.1",
        "prompt": "Ночной город в стиле киберпанк с мерцающими неоновыми огнями",
        "size": "16:9",
        "n": 1,
        "metadata": {
            "resolution": "2K"
        }
    }
)
response.raise_for_status()
task = response.json()
print(task["id"])
```

```javascript JavaScript theme={null}
const response = await fetch('https://toapis.com/v1/images/generations', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "model": "gemini-nano-banana-2.1",
    "prompt": "Ночной город в стиле киберпанк с мерцающими неоновыми огнями",
    "size": "16:9",
    "n": 1,
    "metadata": {
      "resolution": "2K"
    }
  })
});

if (!response.ok) {
  throw new Error(await response.text());
}
const task = await response.json();
console.log(task.id);
```

```json 200 theme={null}
{
  "id": "task_img_abc123def456",
  "object": "generation.task",
  "model": "gemini-nano-banana-2.1",
  "status": "queued",
  "progress": 0,
  "created_at": 1703884800,
  "metadata": {}
}
```

## Получение результатов

Поле `id` в ответе на отправку содержит ID задачи. Используйте [API статуса задачи изображения](https://docs.toapis.com/docs/ru/api-reference/tasks/image-status.md) для получения статуса и итоговых изображений. Асинхронные уведомления описаны в [Webhook задач](https://docs.toapis.com/docs/ru/api-reference/webhooks/task-webhooks.md).


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