Wildcards в Stable Diffusion не срабатывают чаще всего по одной причине: расширение Dynamic Prompts не установлено или отключено, и конструкция вида __color__ hair уходит в генерацию как обычный текст. Проверить это просто: если в интерфейсе Automatic1111 нет вкладки или блока Dynamic Prompts в секции Script, значит, подстановка значений из файлов-вариантов работать не будет, и вместо случайного цвета волос вы получите буквальный текст с подчёркиваниями.
Wildcards (вайлдкарды) — это текстовые файлы со списками вариантов, из которых генератор случайно выбирает одно значение при каждом запуске. Механизм экономит часы ручной работы: вместо того чтобы переписывать промпт под каждый вариант, вы один раз описываете шаблон, а система сама комбинирует причёски, одежду, фоны и стили. Ниже разберём установку, синтаксис, создание собственных файлов и типичные ошибки.
Что такое wildcards и зачем они нужны
Вайлдкард — это файл с расширением .txt, где каждая строка представляет один вариант подстановки. В промпте на такой файл ссылаются через двойные подчёркивания: __hair_colors__. При генерации расширение берёт случайную строку из файла и вставляет её в промпт до отправки в модель.
Технически подстановка происходит на этапе обработки промпта, то есть модель видит уже готовый текст, а не шаблон. Это важно понимать: качество результата зависит от того, насколько осмысленные варианты лежат в файле, а не от самой механики.
- 🎲 Случайная вариативность — каждая генерация даёт новую комбинацию без правки промпта
- 📦 Пакетные прогоны — в связке с Batch count можно получить десятки разных сцен одним запуском
- 🧩 Комбинаторика — несколько вайлдкардов в одном промпте перемножаются, давая сотни уникальных сочетаний
- 🗂 Переиспользование — один файл со стилями пригоден для любых проектов
Установка расширения Dynamic Prompts
Базовый Stable Diffusion webui от AUTOMATIC1111 не поддерживает вайлдкарды из коробки — нужен плагин. Наиболее распространён вариант sd-dynamic-prompts. Для установки откройте вкладку Extensions, перейдите в Install from URL и вставьте ссылку на репозиторий расширения, затем нажмите Install и перезапустите интерфейс через Apply and restart UI.
После перезапуска в блоке настроек генерации появится секция Dynamic Prompts с чекбоксом Enabled. Без активной галочки расширение установлено, но не участвует в обработке промпта — это вторая по частоте причина «неработающих» вайлдкардов.
☑️ Проверка после установки Dynamic Prompts
⚠️ Внимание: после установки любого расширения обязателен полный перезапуск webui, а не просто перезагрузка градио-интерфейса кнопкой Reload UI. Часть логики подгружается только при старте Python-процесса, и без рестарта вайлдкарды могут молча игнорироваться.
Синтаксис и базовые приёмы
Основная форма записи — имя файла в двойных подчёркиваниях: __art_styles__. Имя должно точно совпадать с названием файла без расширения .txt, включая регистр на чувствительных к регистру системах. Файл ищется в папке wildcards внутри каталога расширения.
Помимо простой подстановки, Dynamic Prompts поддерживает комбинаторный синтаксис фигурных скобок: {red|blue|green} выберет один из вариантов, а {2$$red|blue|green} — ровно два. Это удобно для мелких наборов, ради которых заводить отдельный файл излишне.
masterpiece, 1girl, __hair_colors__ hair, wearing __outfits__, __backgrounds__, {smile|laughing|serious}
Создание собственных файлов вайлдкардов
Собственный файл создаётся в любом текстовом редакторе: одна строка — один вариант, сохранение в кодировке UTF-8 с расширением .txt. Файл размещается в папке wildcards расширения; подпапки поддерживаются, тогда в промпте указывают путь через слэш, например __clothing/dresses__.
Строка может содержать не одно слово, а целый фрагмент промпта с весами и запятыми: (intricate lace dress:1.2), long sleeves, victorian style. Это позволяет упаковывать в вайлдкард готовые «сцены». Пустые строки и строки, начинающиеся с #, обычно игнорируются — их удобно использовать для комментариев.
- ✍️ Пишите варианты в едином стиле — не смешивайте в одном файле короткие теги и длинные описания
- ⚖️ Следите за весами — если часть строк содержит
(...:1.3), а часть нет, результаты будут непредсказуемо разниться по силе эффекта - 🧪 Тестируйте малыми батчами — прогоните 8–10 генераций, прежде чем запускать сотню
- 📁 Группируйте по смыслу — цвета отдельно, позы отдельно, освещение отдельно
Где брать готовые коллекции
Готовые наборы вайлдкардов распространяются через репозитории на GitHub и пользовательские подборки на тематических ресурсах. Установка сводится к копированию файлов в папку wildcards — перезапуск интерфейса при этом обычно не требуется, так как файлы читаются в момент генерации.
К чужим коллекциям стоит относиться критически. Файлы могут содержать теги, заточенные под конкретную модель (например, под Danbooru-разметку аниме-моделей), и давать слабый эффект на реалистичных чекпоинтах. Перед массовым использованием пролистайте содержимое и уберите строки, не подходящие вашей модели.
Как проверить, что именно подставилось в промпт
В расширении Dynamic Prompts есть опция отображения финального промпта после подстановки — включите её в настройках расширения. Также готовый текст виден в параметрах сгенерированного изображения (PNG info), куда записывается уже развёрнутый вариант без шаблонов.
Сравнение подходов к вариативности
Вайлдкарды — не единственный способ получить разнообразные результаты. Ниже сравнение основных методов по ключевым параметрам:
| Метод | Контроль вариантов | Подготовка | Повторяемость | Гибкость |
|---|---|---|---|---|
| Wildcards-файлы | Полный список вариантов | Нужно создать файлы | Через фиксированный seed | Высокая |
| Синтаксис {a|b|c} | Варианты прямо в промпте | Минимальная | Через seed | Средняя |
| Ручная правка промпта | Полный контроль | Каждый раз заново | Полная | Низкая скорость |
| XYZ plot | Перебор заданных значений | Настройка скрипта | Полная | Для сравнений, не для случайности |
Типичные ошибки и их решение
Наиболее частая жалоба — вайлдкард «не работает» и текст вида __colors__ попадает в картинку как есть. Возможные причины стоит проверять в порядке от простого к сложному: включён ли чекбокс Enabled, существует ли файл с точно таким именем, нет ли в имени кириллицы или пробелов, не перекрывает ли обработку другое расширение.
Вторая группа проблем — логические. Если все генерации выглядят одинаково, проверьте, не зафиксирован ли seed: при фиксированном seed и выключенной опции вариативности подстановка может давать одинаковый результат. Также убедитесь, что в файле больше одной непустой строки — с единственным вариантом «случайность» исчезает.
⚠️ Внимание: избегайте кириллицы, пробелов и спецсимволов в именах файлов вайлдкардов. На части систем такие файлы либо не находятся, либо вызывают ошибку парсера. Используйте латиницу, цифры и подчёркивания — это гарантированно совместимо.
Третья ситуация — конфликт с другими расширениями, модифицирующими промпт (некоторые скрипты перевода или автоформатирования). Если после установки нового плагина вайлдкарды перестали раскрываться, временно отключите остальные расширения и проверьте работу в чистой конфигурации.
Продвинутые приёмы
Комбинация вайлдкардов с фиксированным seed и изменением только одного шаблона позволяет изолированно тестировать влияние отдельных факторов: например, зафиксировать персонажа и перебирать только освещение. Для этого удобно держать «стабильную» часть промпта текстом, а исследуемую — в вайлдкарде.
Другой приём — взвешенный случайный выбор через дублирование строк: если один вариант должен выпадать чаще остальных, просто продублируйте его строку в файле несколько раз. Это грубый, но прозрачный способ управлять вероятностью без дополнительных настроек.
Наконец, вайлдкарды сочетаются с ControlNet и другими инструментами контроля композиции: структуру задаёт референс, а вариативность содержания — шаблоны. Такой тандем даёт управляемое разнообразие, которое сложно получить одним лишь перебором seed.
Часто задаваемые вопросы
Работают ли wildcards без расширения Dynamic Prompts?
Нет, базовый интерфейс Automatic1111 не обрабатывает синтаксис двойных подчёркиваний. Нужен плагин — чаще всего используют sd-dynamic-prompts. Некоторые альтернативные интерфейсы (например, ComfyUI) имеют собственные узлы для вайлдкардов с похожей логикой.
Почему в картинке появляется текст __имя__ вместо подстановки?
Проверьте три вещи: включён ли чекбокс Enabled в секции Dynamic Prompts, существует ли файл с точно таким именем в папке wildcards и был ли перезапущен webui после установки расширения. Чаще всего причина в одном из этих пунктов.
Можно ли использовать вайлдкарды в негативном промпте?
Да, расширение обрабатывает оба поля. Это полезно, например, для случайного исключения разных дефектов. Учитывайте, что содержимое негативного вайлдкарда должно быть совместимо с вашей моделью.
Сколько вариантов можно держать в одном файле?
Жёсткого практического лимита для обычных сценариев нет — файлы на сотни и тысячи строк работают. На практике удобнее держать тематически однородные файлы умеренного размера, чтобы проще было контролировать содержимое.
Сохраняется ли результат подстановки в метаданных изображения?
Да, в PNG info записывается финальный развёрнутый промпт после подстановки. Это позволяет узнать, какой именно вариант выпал в конкретной генерации, и воспроизвести результат при необходимости.