Nano Banana в ComfyUI через API429: установка и workflow
Nano Banana, FLUX.2 Pro и GPT Image в ComfyUI: готовые workflow, редактирование референса, очередь промптов и расчёт стоимости через API429.

Nano Banana можно подключить к ComfyUI через API429: узел принимает текст, отправляет запрос в API и возвращает изображение в стандартном формате ComfyUI. Скачивать веса Nano Banana на компьютер не требуется. Готовый workflow соединяет API429 · Generate Image с Save Image; его можно использовать как начало собственного графа обработки.
Скачать узел и workflow на GitHub. Код интеграции открыт под лицензией MIT. Генерации оплачиваются с баланса API429; бесплатный код узла не означает бесплатные запросы к модели.
Что уже проверено
11 сентября 2026 года мы запустили интеграцию на Mac в ComfyUI 0.35.0, с Python 3.12 и PyTorch 2.14. Через модель gemini-3.1-flash-image был выполнен один реальный запрос, после которого штатный узел Save Image сохранил PNG размером 1024×1024. Фотография чашки в начале статьи — результат этого запуска, а не отдельно подготовленная иллюстрация.
Промпт теста: A ceramic mug on a light studio table, no text. В запросе были указаны n: 1, size: 1024x1024 и response_format: b64_json. Этот тест подтверждает создание изображения по тексту для указанной модели и ключа. В версии 0.2.0 добавлены редактирование референса, очередь и пресеты FLUX.2 Pro и GPT Image. Для новых сценариев выполнены локальные тесты; платные проверки этих сценариев не проводились. Видео в пакет не входит.
Готовые сценарии: от карточки товара до серии изображений
В версии 0.2.0 четыре узла API429 и шесть готовых workflow. Импортируйте нужный JSON из папки example_workflows после установки пакета.
| Workflow | Сценарий |
|---|---|
nano-banana.json |
Генерация Nano Banana 2 по тексту |
flux-2-pro.json |
Генерация через FLUX.2-pro |
gpt-image.json |
Генерация через gpt-image-2 с выбором качества |
edit-reference.json |
Загрузка одного референса и редактирование по инструкции |
image-queue.json |
Последовательная обработка списка промптов |
current-prices.json |
Оценка стоимости выходных изображений по публичному каталогу |
Для карточки товара начните с референса и попросите изменить сцену или фон. Проверяйте форму товара, надписи и детали перед публикацией: генеративное редактирование может их изменить. Для рекламных концепций подготовьте по одному описанию на строку и используйте очередь. Все шаблоны поставляются с отключённым разрешением платной генерации.
Редактирование фотографии по референсу
В edit-reference.json загрузите фотографию в Load Image. Узел API429 · Edit Reference Image отправляет один референс и вашу инструкцию в API429, а результат передаёт в Save Image. Например: «Сохрани форму чашки, замени фон на синюю студийную сцену».
Референс передаётся в API вместе с промптом. В этой версии нет масок и нескольких референсов за один запрос. Выберите поддерживаемую модель и новый run_id для новой операции; для восстановления оставьте прежние параметры и изображение.
Как посмотреть стоимость до генерации
Импортируйте current-prices.json, укажите точный ID модели и количество изображений. Узел API429 · Current Image Prices читает публичный каталог без ключа; результат показывает штатный узел Preview as Text в актуальном ComfyUI. Чтобы обновить данные, увеличьте refresh_id.
Расчёт показывает ставки для всех доступных условий: выберите строку с нужным размером, качеством и количеством референсов. Это оценка стоимости выходных изображений: входные токены и дополнительные операции могут оплачиваться отдельно. Расчёт не фиксирует тариф и не ограничивает списания.
Что понадобится
- Работающий ComfyUI на вашем компьютере или сервере.
- Ключ API429 и баланс для генерации. Начать подключение можно на сайте API429.
- Доступ к Python, которым запускается именно ваш ComfyUI.
- Узел из репозитория comfyui-api429.
Цены и список моделей смотрите в каталоге API429. Для конкретного ключа доступ проверяется через GET /v1/models: публичный каталог не гарантирует доступность каждого маршрута для любого аккаунта. Подробнее о моделях изображений — на странице Nano Banana API.
Установка узла в ComfyUI
Остановите ComfyUI и откройте терминал в его папке. Если установлен Git, выполните:
git clone https://github.com/veresk06/comfyui-api429.git custom_nodes/comfyui-api429
python -m pip install -r custom_nodes/comfyui-api429/requirements.txt
Здесь python должен указывать на интерпретатор ComfyUI. Если ComfyUI работает в виртуальном окружении, сначала активируйте его. В portable-установке Windows используйте встроенный Python этой установки. Не устанавливайте зависимости вслепую в системный Python: приложение может запускаться совершенно другим интерпретатором.
Без Git можно скачать архив релиза на GitHub, распаковать его и поместить папку пакета в custom_nodes/comfyui-api429. Внутри должны находиться __init__.py, nodes.py и client.py, без лишней вложенной папки.
Как передать ключ
Узел читает API429_API_KEY из окружения серверного процесса ComfyUI. Ключа нет среди полей workflow: JSON можно передавать коллегам без копирования учётных данных.
Для ручного запуска на macOS или Linux этот пример запрашивает ключ скрыто и передаёт его только дочернему процессу:
import getpass
import os
import subprocess
import sys
env = os.environ.copy()
env["API429_API_KEY"] = getpass.getpass("API429 key: ")
subprocess.run([sys.executable, "main.py"], env=env, check=True)
Сохраните код как локальный файл запуска в папке ComfyUI и выполните его тем же Python. Если используете Desktop или собственный launcher, задайте переменную окружения для его серверного процесса. Запись переменной в другом терминале не меняет окружение уже работающего ComfyUI: после настройки нужен перезапуск.
Промпт отправляется в API429 для генерации. Используйте ключ с подходящими правами и не вставляйте его в текст запроса, заметки графа или скриншоты. Запускайте только проверенные workflow: файл графа может содержать включённое разрешение на платные операции.
Первый workflow
В библиотеке шаблонов ComfyUI выберите категорию comfyui-api429, затем generate-image. Шаблон поставляется вместе с узлом; также его можно импортировать из example_workflows/generate-image.json.
Проверьте пять полей:
| Поле | Значение для первого теста |
|---|---|
| model | gemini-3.1-flash-image |
| prompt | Описание нужного изображения |
| size | 1024x1024 |
| run_id | Уникальное имя, например my-image-001 |
| allow_paid_generation | Включить непосредственно перед запуском |
Убедитесь, что выход IMAGE соединён со входом images узла Save Image. Нажмите Run один раз. После успеха изображение появится в выходной папке ComfyUI и станет доступно дальнейшим узлам. Локальная видеокарта для генерации этой удалённой моделью не требуется; последующая обработка в других узлах может иметь собственные требования к памяти и GPU.
Для чего нужен run_id
run_id — идентификатор операции, а не seed. Для нового изображения выберите новое имя. Если хотите восстановить прежний запуск, оставьте тот же идентификатор и те же параметры.
Узел сохраняет запись операции перед отправкой запроса. При успешном ответе он сохраняет результат; повторное выполнение с тем же ID использует сохранённые данные. Если API вернул идентификатор фоновой задачи, узел может продолжить проверку её состояния без нового запроса генерации.
Хранилище находится в ~/.api429-comfyui; путь можно изменить через API429_STATE_DIR. В нём есть ответы и изображения, поэтому сохраняйте его между запусками и ограничивайте доступ. Ключ туда не записывается. Защита действует в пределах этого хранилища: другой компьютер или удалённая папка состояния не обеспечивают ту же защиту от повторной отправки.
Если изображение не появилось
Сообщение Set API429_API_KEY: ключ не попал в серверный процесс. Перезапустите ComfyUI из окружения, где он задан.
Нет узла API429: проверьте расположение папки, интерпретатор Python и журнал запуска. Шаблон сам по себе не устанавливает Python-код узла.
HTTP-ошибка или неизвестный результат после таймаута: сначала проверьте историю API429. Не создавайте новый run_id только ради повторной попытки: первоначальная генерация могла завершиться. При неизвестном исходе узел останавливает автоматическую повторную отправку.
Фоновая задача ещё выполняется: запустите тот же ID с прежними параметрами, чтобы продолжить ожидание. Если процесс аварийно завершился и остался файл .lock, сначала выясните результат операции, затем разблокируйте её вручную.
Ответ содержит только URL: текущая версия ждёт изображение в b64_json. Ответ сохраняется для разбора; новый платный запрос автоматически не отправляется. Для диагностики укажите модель и обезличенный текст ошибки в issues репозитория, не прикладывая ключ.
Как перейти к серии изображений
Импортируйте image-queue.json: одна непустая строка — один промпт. Задайте модель, размер, общий run_id партии и max_images. Очередь выполняет запросы последовательно, присваивая каждому собственный ID. Ограничение до 100 изображений контролирует количество, а не сумму списаний.
Ответ сохраняется после каждого запроса. Если поздний запрос завершился ошибкой, сохраняйте ID партии и весь исходный список промптов: уже завершённые результаты будут использованы повторно. Save Image получает изображения после завершения всей очереди; до этого частичные результаты находятся в хранилище узла. Для новой партии задавайте новый ID намеренно.
Начните с небольшой партии и оцените качество, фактические списания и время ожидания.
Для автоматизированных партий используйте гайд по массовой генерации изображений: там разобраны бюджет, очередь и сохранение результатов. Для выбора режима по цене есть сравнение API для изображений. Стоимость сравнивайте при одинаковой модели, размере и качестве, с учётом дополнительных операций и повторов.
Узел можно включить в собственный граф после проверки первого результата. Перед расширением на другую модель сверяйте её контракт: одинаковый endpoint не означает одинаковый набор разрешений, параметров качества или поддержку редактирования.
Источники и документация
Следующий шаг — на практике.
Перед интеграцией проверьте ID модели, актуальную цену и формат запроса. Доступность зависит от модели и маршрута провайдера.


