Расширение Regional Prompter для Stable Diffusion WebUI (Automatic1111) решает конкретную задачу: когда в одном изображении нужно сгенерировать, например, девушку с рыжими волосами слева и мужчину в костюме справа, обычный промпт «смешивает» атрибуты персонажей — и цвет волос, и одежда расплываются по обоим. Regional Prompter делит холст на зоны и применяет к каждой свой отдельный промпт.
Инструмент работает как расширение (extension) для популярного интерфейса AUTOMATIC1111 Stable Diffusion WebUI и позволяет управлять композицией на уровне регионов: фон, персонажи, объекты получают независимые текстовые описания. Ниже разберём установку, синтаксис разделителей, режимы работы и типичные ошибки, из-за которых регионы «не срабатывают».
Что такое Regional Prompter и зачем он нужен
Regional Prompter — это расширение, которое разбивает изображение на секции (по сетке или по маске) и подаёт в модель отдельный промпт для каждой секции. Без него Stable Diffusion обрабатывает весь текст целиком, и токены вроде red hair и blue eyes влияют на всю картинку сразу.
Типичные сценарии, где расширение незаменимо:
- 🎭 Два и более персонажа с разной внешностью, одеждой и позами в одном кадре.
- 🌄 Раздельное описание фона и переднего плана без взаимного «загрязнения» стилей.
- 🎨 Разные художественные стили в разных частях изображения (например, акварель слева, реализм справа).
- 🧩 Точная компоновка сцены: объект строго в заданной части холста.
Стоит понимать ограничение: расширение управляет вниманием модели по регионам, но не создаёт жёстких границ. На стыках зон возможны плавные переходы — это нормальное поведение, а не ошибка.
Установка расширения в Automatic1111
Установка выполняется стандартным способом через вкладку расширений интерфейса. Откройте Extensions → Install from URL и вставьте ссылку на репозиторий расширения — точный адрес возьмите со страницы проекта на GitHub, так как форк и оригинал могут различаться. После установки нажмите Apply and restart UI.
Альтернативный вариант — ручная установка: склонируйте репозиторий в папку extensions внутри каталога WebUI и перезапустите интерфейс. После перезапуска в блоке txt2img и img2img появится сворачиваемая панель Regional Prompter.
☑️ Проверка после установки
⚠️ Внимание: если панель не появилась после перезапуска, проверьте консоль запуска WebUI — конфликты версий расширений и нехватка зависимостей видны именно там. Не устанавливайте одновременно несколько форков одного расширения.
Синтаксис: ключевые слова BASE, ADDBASE, ADDCOL, ADDROW
Ядро работы расширения — специальные разделители в тексте промпта. Они пишутся заглавными буквами прямо в поле промпта:
- 📌
BREAK— разделяет промпт на регионы последовательно (по колонкам или строкам в зависимости от настроек). - 📌
ADDBASE— помечает базовую часть промпта, которая применяется ко всему изображению. - 📌
ADDCOL— начинает описание новой колонки. - 📌
ADDROW— начинает описание новой строки. - 📌
ADDCOMM— общая часть, добавляемая к каждому региону.
Пример промпта для двух персонажей по колонкам:
masterpiece, best quality ADDBASE
a girl with red hair, white dress ADDCOL
a man in black suit, short hair
Здесь masterpiece, best quality применится ко всей картинке, а описания персонажей — к левой и правой половинам соответственно. Порядок регионов соответствует сетке, заданной в настройках расширения.
Режимы работы: Attention и Latent
Расширение предлагает два основных режима, и выбор между ними заметно влияет на результат.
Режим Attention разделяет промпты на уровне механизма внимания модели. Он работает быстро, совместим с большинством пайплайнов и хорошо справляется с разделением атрибутов персонажей. Однако границы регионов получаются мягкими — объекты могут частично «перетекать» в соседние зоны.
Режим Latent генерирует каждый регион как отдельное латентное представление и склеивает их. Границы получаются чётче, но режим требовательнее к ресурсам и может увеличивать время генерации. Для сложных композиций с несколькими персонажами Latent-режим часто даёт более предсказуемую компоновку.
| Критерий | Attention | Latent |
|---|---|---|
| Скорость генерации | Выше | Ниже |
| Чёткость границ регионов | Мягкие переходы | Более выраженные |
| Нагрузка на видеокарту | Умеренная | Повышенная |
| Подходит для | Разделения атрибутов, стилей | Компоновки нескольких персонажей |
Настройка сетки регионов
В панели расширения после активации чекбокса Active задаётся способ деления холста. Параметр Divide Ratio определяет пропорции: например, значение 1,1 делит изображение на две равные части, а 1,2 — на трети в пропорции один к двум. Направление деления переключается между вертикальным и горизонтальным.
Для сетки 2×2 сначала задайте деление на строки, затем используйте ADDROW и ADDCOL в промпте в том же порядке, в котором идут регионы. Несовпадение количества разделителей и числа регионов — самая частая причина того, что промпт обрабатывается некорректно.
Также доступен режим по маске (Mask), где регионы задаются загруженным изображением-маской, а не сеткой. Это полезно для непрямоугольных областей, но требует заранее подготовленной маски.
Тонкости деления на неравные регионы
Пропорции в Divide Ratio задаются через запятую, например 1,1,2 для трёх колонок. Сумма частей определяет относительные размеры: регион с числом 2 займёт половину ширины, а каждый из регионов с числом 1 — по четверти. Проверяйте, чтобы число разделителей в промпте совпадало с числом заданных частей.
Типичные ошибки и их решение
Если регионы игнорируются и картинка выглядит так, будто расширение не работает, проверьте базовые вещи в первую очередь. Убедитесь, что чекбокс Active включён — после обновления интерфейса или смены модели он может сбрасываться. Также проверьте, что разделители написаны заглавными буквами без опечаток: addcol строчными буквами не сработает.
⚠️ Внимание: некоторые другие расширения, модифицирующие обработку промптов (например, продвинутые скрипты подсветки весов или динамических промптов), могут конфликтовать с Regional Prompter. Если поведение нестабильно, временно отключите сторонние расширения и проверьте результат на чистой конфигурации.
Вторая частая ситуация — персонажи «сливаются» на границе регионов. Здесь помогает усиление разделения: переключение в Latent-режим, сокращение пересекающихся токенов в соседних промптах и добавление в общий блок ADDBASE только действительно глобальных описаний (качество, освещение, стиль), а не атрибутов персонажей.
Третья проблема — ошибки в консоли при генерации. Возможные причины: устаревшая версия расширения после обновления WebUI, несовместимость с выбранной моделью или нехватка видеопамяти в Latent-режиме. Обновите расширение через вкладку Extensions → Check for updates и при нехватке VRAM уменьшите разрешение изображения.
Практические рекомендации по промптам
Для стабильного результата держите региональные промпты сбалансированными по длине и детализации. Если один регион описан тремя токенами, а соседний — тридцатью, модель может «перетягивать» внимание в пользу детального описания, и композиция сместится.
Полезно явно указывать позицию в самом тексте: добавляйте в региональные промпты слова вроде on the left или on the right. Это дублирует геометрию сетки семантической подсказкой и снижает вероятность зеркального перепутывания персонажей.
⚠️ Внимание: негативный промпт в Regional Prompter обрабатывается иначе, чем позитивный: он, как правило, применяется глобально. Не рассчитывайте, что разделители в негативном промпте дадут региональный эффект, — проверяйте поведение на тестовых генерациях для вашей версии расширения.
Часто задаваемые вопросы
Работает ли Regional Prompter с моделями SDXL?
Совместимость зависит от версии расширения и WebUI. Часть функций изначально разрабатывалась под модели серии SD 1.x, поэтому перед работой с SDXL проверьте актуальную информацию в репозитории расширения и протестируйте на простой сетке из двух регионов.
Почему расширение не появляется в интерфейсе после установки?
Чаще всего помогает полный перезапуск WebUI (не просто Reload UI, а перезапуск процесса). Если не помогло — смотрите консоль запуска: там отображаются ошибки загрузки расширения, включая отсутствующие зависимости.
Можно ли делить изображение более чем на четыре региона?
Да, сетка может включать больше регионов через комбинацию строк и колонок. Однако с ростом числа зон каждому региону достаётся меньше «внимания» модели, и детализация может падать. Для многорегионных композиций лучше повышать разрешение генерации.
Чем Regional Prompter отличается от ControlNet?
Это инструменты разного назначения. Regional Prompter распределяет текстовые промпты по зонам холста, а ControlNet управляет композицией через референсные изображения (позы, глубину, контуры). Их можно использовать совместно: ControlNet задаёт геометрию сцены, Regional Prompter — раздельные описания персонажей.
Влияет ли расширение на скорость генерации?
В режиме Attention влияние на скорость обычно незначительное. Latent-режим требовательнее, поскольку регионы обрабатываются как отдельные латентные представления, — при нехватке видеопамяти уменьшайте разрешение или число регионов.