Skip to main content
Glama

NanoBridge

Генерация изображений Gemini Nano Banana, подключённая к агентам как MCP-сервер и CLI — используя тот план Gemini, который уже есть на аккаунте, а не счёт за каждое изображение.

nanobridge sprite "a small knight with a blue shield and a silver sword" --size 160

Оба этих изображения получены командами из этого README — спрайт уже обрезан и прозрачен, анимация уже нарезана из листа и собрана в зацикленный GIF.

Зачем не просто вызывать API

Ключ API AI Studio — очевидный путь, но он не работает на бесплатном плане: каждая модель изображений отвечает 429 RESOURCE_EXHAUSTED, потому что бесплатный тариф даёт нулевую квоту на изображения. Включение биллинга это исправляет, но начинает списывать за каждое изображение, в то время как подписка Gemini, уже привязанная к тому же аккаунту, остаётся неиспользованной.

NanoBridge идёт другой дверью: он аутентифицируется так же, как браузер, с помощью cookie __Secure-1PSID, уже находящейся в Chrome, и тратит квоту подписки. Ничего вставлять, ничего покупать.

Бэкенд

Аутентификация

Стоимость

web (по умолчанию)

Cookie Gemini, прочитанные из браузера

план, за который уже заплачено

api (запасной)

GEMINI_API_KEY

за изображение, и нужен активный биллинг

nanobridge doctor сообщает, какой из них активен и сколько квоты осталось.

Related MCP server: Nano Banana Pro MCP

Установка

git clone https://github.com/NspxMiguel/NanoBridge.git
cd NanoBridge && ./install.sh

Установщик создаёт virtualenv, помещает nanobridge в PATH, регистрирует MCP-сервер в Claude Code и устанавливает навык агента. Homebrew:

brew install --cask nspxmiguel/tap/nanobridge

Требования: Python 3.11+ и браузер, в котором выполнен вход на https://gemini.google.com.

Использование из оболочки

nanobridge doctor                        # backends, quota, config path
nanobridge sprite "a green slime" --style pixel --size 128
nanobridge icon "a compass rose" --style flat
nanobridge gen "a seamless stone wall texture, top-down, tileable"
nanobridge edit hero.png "make the sky stormy, keep everything else"

nanobridge sheet "a green slime" --grid 4x2 \
  --action "squash down and stretch back up, a bouncy idle loop" --fps 10

Листы генерируются, нарезаются на кадры и собираются в зацикленный GIF с сохранением прозрачности — в GIF нет альфа-канала, поэтому для пустых пикселей резервируется индекс палитры.

Две команды не обращаются к сети, поэтому не тратят квоту и работают с изображениями откуда угодно:

nanobridge cut photo.jpg --transparent --trim --size 256
nanobridge slice sheet.png --grid 6x1 --size 96

Использование из агента

MCP-сервер предоставляет generate_image, generate_sprite, generate_sprite_sheet, generate_icon, edit_image, cut_image, slice_sheet и nanobridge_status.

Каждый генерирующий инструмент возвращает изображение обратно модели, уменьшенное до превью 512px, вместе с путями на диске. В этом суть: агент, который не видит, что нарисовал, не отличит хороший спрайт от сломанного и будет итеративно работать вслепую.

Регистрация вручную:

claude mcp add nanobridge --scope user -- /path/to/.venv/bin/nanobridge mcp

Что делает пост-обработка

Модель возвращает большой JPEG на плоском фоне. Спрайтам нужно противоположное, поэтому конвейер встроен в инструмент, а не является запоздалой мыслью:

  • Удаление фона основано на связности с границей, а не на совпадении цвета. Белый глаз внутри спрайта имеет тот же цвет, что и белый фон позади; стирается только область, достигающая границы изображения.

  • Обрезка убирает поля до рисунка.

  • Масштабирование — методом ближайшего соседа. Пиксель-арт, пересэмплированный сглаживающим фильтром, перестаёт выглядеть как пиксель-арт.

  • Нарезка геометрическая. Сетка, запрошенная в промпте, — это сетка, по которой режут, и отдельные кадры записываются — именно здесь видно, послушалась ли модель на самом деле.

Языки

Тексты на экране — на португальском и английском. Системная локаль выбирает язык по умолчанию, nanobridge lang pt|en сохраняет выбор, а NANOBRIDGE_LANG=pt переопределяет оба для одного запуска.

Ограничения, о которых стоит знать

  • Веб-бэкенд зависит от сессии браузера. Когда она истекает, войдите снова на https://gemini.google.com; nanobridge doctor явно об этом сообщает.

  • Он общается с интерфейсом, который Google не документирует, поэтому изменение на их стороне может его сломать. Бэкенд api — это запасной вариант, который остаётся на месте.

  • Сгенерированные изображения несут водяной знак SynthID от Google.

Лицензия

MIT.

Related MCP Connectors

Related MCP Servers