- import base64 from google import genai client = genai.Client() response = client.interactions.create( model="gemini-nano-banana-2.1", input="Realistic photograph of a blue ceramic cup o…
- curl -X POST \ "https://generativelanguage.googleapis.com/v1beta/interactions" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gemini-nano…
- В октябре 2026 года ориентировочная стоимость изображения Nano Banana 2.1 составляет примерно $0.0336 (1K), $0.0504 (2K) и $0.113 (4K).
- Допустим, сайт должен получить 500 одобренных картинок в разрешении 1K, а из двух запросов проходит проверку один.
- Как понять, что пример работает: после успешного запроса файл cup.png должен открываться обычным просмотрщиком.
Если изображения должны создаваться прямо на сайте или в приложении, Nano Banana можно подключить через Gemini API. Для первого запуска понадобятся API-ключ и запрос на Python либо через REST. В статье есть примеры обоих вариантов, расчёт стоимости и советы, как избежать лишних расходов и ошибок при интеграции.
Что нужно для первого запроса
- Сначала проверьте, доступны ли Google AI Studio и Gemini API в вашей стране.
- Создайте проект и API-ключ в Google AI Studio.
- Подключите платный биллинг для модели Nano Banana 2.1. Для неё Google не указывает бесплатный API-тариф.
- Установите Python SDK
pip install -U google-genai. - Сохраните ключ как переменную окружения
GEMINI_API_KEY. Не вставляйте ключ в код сайта, доступный браузеру.
Минимальный пример на Python
import base64
from google import genai
client = genai.Client()
response = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Realistic photograph of a blue ceramic cup on a wooden table, soft daylight, no text",
response_format={
"type": "image",
"aspect_ratio": "1:1",
"image_size": "1K",
},
)
image = response.output_image
if image is None:
raise RuntimeError("Model returned no image")
with open("cup.png", "wb") as file:
file.write(base64.b64decode(image.data))
В примере используется Interactions API. Если SDK возвращает несколько блоков контента, разбирайте полный список шагов; удобное свойство output_image возвращает последнее изображение.
Эквивалентный REST-запрос
curl -X POST \
"https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": [
{"type": "text", "text": "Create a realistic photo of a blue cup on a desk"}
]
}'
Ответ содержит данные результата. Для рабочего приложения понадобится обработка ошибок, журналирование без секретов, ограничение числа запросов и безопасное сохранение файла.
Цена 1K, 2K и 4K
В октябре 2026 года ориентировочная стоимость изображения Nano Banana 2.1 составляет примерно $0.0336 (1K), $0.0504 (2K) и $0.113 (4K). Дополнительно учитываются входные данные и некоторые инструменты.
Расчёт бюджета интеграции: пример на 500 изображений
Допустим, сайт должен получить 500 одобренных картинок в разрешении 1K, а из двух запросов проходит проверку один. Потребуются примерно 1000 генераций. При базовой ставке $0.0336 за изображение расходы только на изображение составят около $33.60. Прибавьте входные данные, повторные вызовы, проверку готового контента и хранение файлов.
Что должна делать серверная интеграция
- Получить задание от пользователя и проверить размер загружаемого фото, формат и разрешения.
- Проверить право на генерацию и собственный лимит пользователя до обращения к Google.
- Вызвать API только с сервера, не показывая ключ в HTML или браузерном JavaScript.
- Разобрать ответ: изображение может отсутствовать, а ошибки 429 требуют задержки, а не немедленного бесконечного повтора.
- Сохранить результат и технический ID задания; не записывать клиентские фото или ключ в открытые логи.
Как понять, что пример работает: после успешного запроса файл cup.png должен открываться обычным просмотрщиком. Если ответ не содержит картинки, сохраните безопасную диагностику без ключей и проверьте структуру ответа и сообщения об ошибке. Пример кода не запускался на сайте VirtRe; перед использованием проверьте ответ в своей среде.
Как защититься от перерасхода
- В тестовом режиме используйте 1K и заранее ограничьте число запросов на пользователя.
- Сохраняйте промпт и успешный результат, чтобы не генерировать одинаковую картинку повторно.
- Считайте стоимость всех попыток, включая брак.
- Настройте уведомления о расходах в биллинге и отдельные лимиты на уровне приложения.
- Не отправляйте в общий журнал личные фотографии и секреты.
Если API возвращает ошибку
- 400: проверьте ID модели, структуру данных и формат изображения.
- 401/403: ключ, доступность проекта, регион и биллинг.
- 429: уменьшите частоту запросов и используйте повторы с увеличивающейся задержкой.
- Результат без изображения: проверьте весь ответ и сообщения об отказе.
Когда нужен API, а когда достаточно Gemini
Перед внедрением сравните Nano Banana 2.1 и Pro на тестовых изображениях, а для организации работы с товарами изучите процесс коммерческого производства визуалов.
Для нескольких личных иллюстраций обычно проще чат. Для массовой подготовки изображений и интеграции в интерфейс сайта полезнее API, если затраты окупаются. Работа в Gemini и написание промптов разобраны отдельно. Не используйте один и тот же API-ключ у всех клиентов.
