Если Stable Diffusion выдаёт размытые лица, лишние конечности или картинку, не похожую на задуманное, причина почти всегда в самом запросе — промпт либо перегружен противоречиями, либо слишком размыт, либо не содержит указаний на качество и стиль. Нейросеть не «понимает» смысл фразы, как человек: она сопоставляет слова с визуальными паттернами из обучающей выборки, поэтому порядок слов, их вес и конкретность напрямую определяют результат.
В этом руководстве разберём, как устроены запросы (промпты) для Stable Diffusion, какие ключевые слова реально влияют на генерацию, как работают негативные промпты и веса токенов, а также приведём готовые шаблоны, которые можно адаптировать под свои задачи. Инструкция подходит для популярных интерфейсов — AUTOMATIC1111 WebUI, ComfyUI и Fooocus, — хотя расположение полей ввода в них отличается.
Как Stable Diffusion интерпретирует запрос
Модель разбивает текст на токены — фрагменты слов — и преобразует их в числовые векторы через текстовый кодировщик CLIP. Каждый токен «тянет» генерацию в сторону связанных с ним образов. Слова в начале запроса обычно имеют большее влияние, чем слова в конце: если главный объект описать в конце длинного промпта, он может «потеряться» среди деталей фона.
Важно понимать ограничение: классические версии Stable Diffusion 1.5 обрабатывают ограниченное число токенов за раз, поэтому чрезмерно длинные запросы из сотен слов не улучшают результат — хвост промпта просто теряет вес. Более поздние модели, такие как SDXL, лучше работают с естественными фразами, но принцип остаётся тем же: конкретика важнее объёма.
Ещё один практический момент — язык. Модели обучались преимущественно на англоязычных описаниях изображений, поэтому запросы на английском дают заметно более предсказуемый результат. Русский текст модель либо игнорирует частично, либо интерпретирует искажённо.
Структура правильного промпта
Рабочий запрос строится по логике «от главного к второстепенному». Вам нужно последовательно указать: тип изображения, главный объект, его характеристики, окружение, освещение, стиль и маркеры качества. Такая иерархия помогает модели распределить внимание корректно.
Типовая схема выглядит так:
- 🎯 Тип снимка: portrait, landscape, close-up, full body shot
- 🧍 Главный объект: кто или что изображено, с ключевыми атрибутами
- 🌆 Окружение: фон, время суток, погода, локация
- 💡 Освещение: soft lighting, golden hour, neon lights, dramatic shadows
- 🎨 Стиль: photorealistic, oil painting, anime style, cyberpunk
- ✨ Качество: highly detailed, sharp focus, 8k
Пример собранного по этой схеме запроса:
portrait of an elderly fisherman, weathered face, grey beard, sitting in a wooden boat, misty lake at dawn, soft warm lighting, photorealistic, highly detailed, sharp focus
Проверить качество структуры просто: прочитайте промпт и уберите любое одно слово. Если картинка от этого не изменится — слово лишнее. Хороший запрос обычно умещается в 15–40 слов, а не в абзац текста.
Негативные промпты: что исключать из генерации
Негативный промпт — это отдельное поле, где перечисляется то, чего на изображении быть не должно. Модель при генерации активно отталкивается от этих концептов. Поле называется Negative prompt и присутствует во всех основных интерфейсах.
Базовый набор для фотореалистичных людей обычно включает типичные артефакты генерации:
deformed hands, extra fingers, missing fingers, bad anatomy, blurry, low quality, watermark, text, cropped, worst quality
⚠️ Внимание: перегруженный негативный промпт способен навредить. Если перечислить слишком много исключений, модель начнёт «вырезать» полезные элементы — например, слово blurry в сочетании с художественным стилем может убить намеренное размытие фона (боке). Добавляйте негативы точечно, под конкретную проблему, которую видите в результатах.
Для аниме-стилистики набор негативов будет другим — там чаще исключают 3d, realistic, photo, чтобы модель не смешивала стили. Универсального списка не существует: формируйте его под конкретную модель и жанр.
Веса и синтаксис усиления слов
Когда одно слово в запросе важнее остальных, его вес можно повысить синтаксисом. В AUTOMATIC1111 и большинстве интерфейсов используются круглые скобки и числовые коэффициенты: (word) усиливает токен, (word:1.3) задаёт точный вес, а [word] — ослабляет. Формально скобки без числа соответствуют множителю 1.1, хотя поведение может отличаться в зависимости от интерфейса.
Пример: a (red:1.4) dress on a mannequin — модель сделает красный цвет доминирующим. Значения выше 1.5 применять стоит осторожно: слишком сильный вес ломает композицию и порождает артефакты, потому что токен начинает подавлять всё остальное.
Есть и обратная задача — когда слово мешает, но удалять его нельзя. Например, glasses в описании персонажа провоцирует очки на всех лицах в кадре; ослабление до (glasses:0.7) часто решает проблему без переписывания всего запроса.
Продвинутый синтаксис
чередование и расписание:В AUTOMATIC1111 доступны конструкции [word1|word2] — чередование токенов между шагами сэмплирования, и [from:to:step] — подмена одного слова другим на заданном шаге генерации. Это позволяет, например, начать картинку как «лес» и на середине шагов превратить в «город», получая гибридные сцены. Точное поведение зависит от версии интерфейса — проверяйте в документации вашей сборки.
Параметры генерации, влияющие на запрос
Запрос не работает в вакууме — результат зависит от связки промпта с настройками сэмплера. Три параметра влияют сильнее всего.
CFG Scale (Classifier-Free Guidance) определяет, насколько строго модель следует тексту. Низкие значения дают свободную интерпретацию и более «живые» картинки, высокие — точное следование запросу, но с риском пересыщенных цветов и артефактов. Средний диапазон 6–9 считается рабочей стартовой точкой для большинства моделей, однако оптимум зависит от конкретного чекпоинта.
Steps — число шагов сэмплирования. Меньше шагов — быстрее, но грубее; после определённого порога качество перестаёт заметно расти, а время увеличивается. Seed фиксирует стартовый шум: один и тот же seed с одинаковым промптом и настройками воспроизводит результат, что критично для итеративной доработки.
| Параметр | Что делает | Типичный старт |
|---|---|---|
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |