Инструкция по работе с нодой SNTZbase_GEMv1.0

Что делает нода

SNTZbase_GEMv1.0 — кастомная нода ComfyUI для генерации изображений по текстовому описанию и по комбинации текст + входные картинки через модели Gemini (gemini‑2.5, gemini‑3.1, gemini‑3‑pro). Все тяжёлые вычисления выполняются на стороне сервиса, на вашем компьютере считается только упаковка/распаковка картинок.

Важно: нода работает без VPN. Для максимальной скорости и уменьшения количества ошибок рекомендуется отключить VPN перед использованием.

Рекомендованный алгоритм использования моделей

Модели отличаются ценой и качеством. Чтобы экономно расходовать кредиты и не переплачивать, придерживайтесь простого алгоритма:

  1. Начинайте с gemini-2.5 — это самая дешёвая и быстрая модель. Во многих задачах (референсы, эскизы, «черновые» варианты) её качества более чем достаточно.
  2. Если после 2–3 попыток на gemini-2.5 результат всё ещё слабый (сложные сцены, нестандартный стиль), переходите на gemini-3.1.
  3. gemini-3-pro используйте только для самых требовательных задач: максимальная детализация, ответственная коммерческая картинка и т.п. Старайтесь запускать её реже, чтобы не прожигать кредиты.
  4. Если более дорогая модель начала выдавать 402‑ошибки или тормозить, временно вернитесь на gemini-2.5 и продолжайте работать на ней, пока ситуация не стабилизируется.

Установка

  1. Скопируйте папку sntz-imagen в ComfyUI/custom_nodes/.
  2. Перезапустите ComfyUI.
  3. В интерфейсе нода появится:
    • в категории sntz-image как SNTZbase_GEMv1.0;
    • внутренний класс — SNTZImagen.

Правило по API‑ключам и Telegram‑нику

  • Каждому пользователю выдаётся свой API‑ключ, привязанный к его нику в Telegram.
  • Пример имени файла с ключом: @your_nickname_API.txt.

Обязательное правило:

  • вы можете использовать только тот API‑ключ, который соответствует вашему Telegram‑нику;
  • не используйте чужие ключи и не делитесь своим.

Файл с ключом кладётся в одну из папок:

  • custom_nodes/sntz-imagen/ — рядом с нодой;
  • ComfyUI/input/ — опционально, для удобства.

Внутри файла — первая непустая строка с ключом, например:

llmgtwy_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Где найти ноду в интерфейсе

  1. Убедитесь, что папка sntz-imagen лежит в ComfyUI/custom_nodes/.
  2. Перезапустите ComfyUI.
  3. В интерфейсе:
    • откройте меню добавления нод (правый клик по пустому месту на графе);
    • найдите категорию sntz-image;
    • внутри будет нода SNTZbase_GEMv1.0.

Настройка api_key_file

Внутри ноды есть поле api_key_file:

  • это выпадающий список с файлами ключей;
  • он показывает:
    • файлы в папке ноды (.api_key, *.txt, *.key);
    • файлы в ComfyUI/input/ — они отображаются как [input] filename.txt.

Как выбрать свой ключ:

  1. Поместите файл @your_nickname_API.txt в одну из разрешённых папок.
  2. В ноде SNTZbase_GEMv1.0 кликните по полю api_key_file.
  3. Выберите свой файл:
    • @your_nickname_API.txt, или
    • [input] @your_nickname_API.txt (если файл лежит в ComfyUI/input/).

Если api_key_file пустой или файл не найден, нода попытается использовать переменную окружения LLM_GATEWAY_API_KEY. Если и её нет, вы увидите ошибку с просьбой указать ключ.

Параметры ноды

Основные

  • model — модель генерации:
    • gemini-2.5 — дёшево и быстро, до 3 входных изображений (слоты 1_GEM_2_5 … 3_GEM_2_5), ориентировочно ~7 ₽ за картинку.
    • gemini-3.1 — выше качество, до 5 входных (слоты 1–5), ориентировочно ~12 ₽ за картинку.
    • gemini-3-pro — максимальное качество, до 7 входных (слоты 1–7), ориентировочно ~22 ₽ за картинку.
  • prompt — текстовое описание того, что нужно получить (сцена, стиль, надписи и т.п.).
    По умолчанию используется промпт:
    Дачный деревянный дом в стиле архитектонов Казимира Малевича... На доме, на одной из стен, написано в стиле граффити SNTZbase_GEMv1.
  • aspect_ratio — соотношение сторон (1:1, 16:9, 4:3, 5:4 и др.).
  • resolution — в UI доступны 1K / 2K / 4K; в текущей версии запрос всегда идёт как 1K.
  • seed:
    • 0 — случайная генерация каждый раз;
    • любое другое число — фиксированный сид (повторяемый результат при тех же входных).
  • debug — режим отладки:
    • по умолчанию включён;
    • при true в консоль ComfyUI выводится подробная информация о запросе и ответе.

Входы изображений (слева)

1_GEM_2_5 … 7_GEM_Pro — опциональные входы картинок:

  • для gemini-2.5 используются только слоты 1–3;
  • для gemini-3.1 — слоты 1–5 (включая 1–3);
  • для gemini-3-pro — слоты 1–7 (включая 1–5).

Каждый вход — это один IMAGE‑тензор ComfyUI (как из LoadImage, ImageBatch и т.п.).

Как нода считает входные картинки и в какой очередности

Внутри ноды входы изображений заданы фиксированным списком:

1_GEM_2_5 → 2_GEM_2_5 → 3_GEM_2_5 → 4_GEM_3_1 → 5_GEM_3_1 → 6_GEM_Pro → 7_GEM_Pro

Алгоритм просто идёт по этому списку слева направо и собирает подключённые картинки:

  1. Сначала нода смотрит на вход 1_GEM_2_5. Если туда подключено изображение, оно становится первым в последовательности.
  2. Потом проверяется 2_GEM_2_5 — если есть картинка, она идёт второй, и так далее до 7_GEM_Pro.
  3. Пустые входы нода пропускает — они никак не учитываются.
  4. В результате формируется список [первая подключённая картинка, вторая, третья, …] именно в порядке слотов.

Перед отправкой в модель нода формирует content: сначала идёт текстовый prompt, затем картинки добавляются по одной в том порядке, в котором они были собраны. Модель видит их как «первое изображение», «второе изображение» и т.д. внутри одного запроса.

Как работать с порядком картинок:

  • самую важную картинку (базовую сцену/референс) подключайте в 1_GEM_2_5;
  • второй по важности референс — во вход 2_GEM_2_5, третий — в 3_GEM_2_5 и т.д.;
  • роли можно описывать в prompt, например:
    Use the first image as the base scene, apply the color palette from the second image, and the logo from the third image in the bottom-right corner.
  • нода сама не «понимает» содержимое картинок — она просто передаёт их в API; что именно взять с какой картинки, решает ваш текстовый промпт;
  • если нужна всего одна картинка — подключите её в 1_GEM_2_5 и оставьте остальные входы пустыми.

Базовый сценарий: Text‑to‑Image

  1. Добавьте на граф ноду SNTZbase_GEMv1.0.
  2. Настройте api_key_file на ваш файл с ключом.
  3. Убедитесь, что model установлена как вам нужно (по умолчанию gemini-2.5).
  4. Оставьте все входы изображений пустыми.
  5. В поле prompt:
    • используйте дефолтный промпт с домом в стиле архитектонов Малевича, или
    • задайте свой текст (желательно по‑английски для более предсказуемого поведения).
  6. Нажмите Queue Prompt / запустите выполнение.
  7. Нода вернёт одно изображение на выход images.

Базовый апскейл на CPU без нагрузки на компьютер

Для простого и быстрого апскейла без диффузионных моделей удобно собрать отдельный маленький граф — он работает на CPU и почти не нагружает систему.

  1. Добавьте ноду Load Image и выберите исходную картинку.
  2. Подключите после неё ноду масштабирования, например Image Resize / ImageScale (названия зависят от сборки).
  3. В настройках ресайза:
    • Scale — поставьте 2.0x (для 2× апскейла; для 4× можно сделать два раза по 2×);
    • Method / Mode — выберите Lanczos (или Bicubic, если Lanczos нет).
  4. После ресайза добавьте ноду Save Image и сохраните результат.

Такой апскейл:

  • работает очень быстро даже на слабом CPU;
  • не требует GPU и большого объёма памяти;
  • даёт аккуратное увеличение картинки (особенно с Lanczos/Bicubic).

Этот блок можно использовать:

  • до ноды SNTZbase_GEMv1.0 — чтобы увеличить референсы, которые вы подаёте в модель;
  • после выхода images — чтобы классически увеличить уже сгенерированное изображение.

Лимиты и 402‑ошибки

Лимиты изображений на вход (по моделям)

Суммарные лимиты по документации Google / Vertex AI:

Модель Макс. изображений на запрос
gemini-2.5-flash-image 3
gemini-3.1-flash-image-preview 5
gemini-3-pro-image-preview 14

В ноде используются слоты 1_GEM_2_5 … 7_GEM_Pro (всего 7). Для текущих пресетов: gemini-2.5 — до 3, gemini-3.1 — до 5, gemini-3-pro — до 7 входных изображений.

402 при части моделей (с картинками на входе)

Если с gemini-2.5 запрос с картинками проходит (код ответа 200), а с gemini-3.1 или gemini-3-pro при тех же данных приходит 402, для конечного пользователя это чаще всего означает:

  • временное ограничение или сбой со стороны сервиса для конкретной модели (лимит по ней исчерпан, сеть лагает и т.п.);
  • у вас как у пользователя нет прямого доступа к биллингу и управлению лимитами — настройками ключа занимается владелец сервиса.

Что можно сделать в этом случае:

  • сначала просто повторить тот же запрос ещё раз спустя немного времени — иногда это чисто сетевой глюк;
  • если 402 повторяется, переключиться на другую модель:
    • например, временно перейти с gemini-3.1 или gemini-3-pro обратно на gemini-2.5 и продолжать работу на ней;
  • использовать более дорогие модели (3.1 / 3‑pro) реже: для точечных задач, где действительно нужна максимальная детализация.

Если gemini-2.5 стабильно работает, а старшие модели иногда дают 402 — это нормальный сценарий. В таком случае держитесь рекомендованного алгоритма: по умолчанию 2.5, при необходимости — временный переход на 3.1 или 3‑pro и возврат назад.