Негативные промпты для Stable Diffusion: как убрать дефекты генерации

Если Stable Diffusion выдаёт картинки с лишними пальцами, размытыми лицами и «пластиковой» кожей, первое, что стоит проверить, — поле Negative prompt в интерфейсе генерации: пустое оно или заполнено случайным набором слов. Именно негативный промпт сообщает модели, каких элементов, стилей и дефектов быть на изображении не должно, и без него даже качественная модель вроде SDXL или SD 1.5 регулярно выдаёт артефакты.

В этой статье разберём, как работает негативный промпт на уровне механики модели, какие слова реально влияют на результат, а какие — бесполезный мусор. Вы получите готовые наборы для разных задач и поймёте, почему копирование чужих «магических» строк длиной в сто слов часто вредит генерации.

Как негативный промпт работает изнутри

Stable Diffusion строит изображение, двигаясь от шума к картинке, и на каждом шаге ориентируется на текстовое описание. Негативный промпт создаёт второй «вектор направления»: модель отталкивается от концепций, перечисленных в нём. Технически это реализовано через механизм classifier-free guidance — генерация считается дважды, с условием и без, а негативный текст подменяет «пустое» условие.

Из этого следует важный практический вывод: негативный промпт не «удаляет» объекты с готовой картинки, а смещает вероятности ещё на этапе сэмплирования. Поэтому слово blurry в негативе не исправит размытое фото — оно лишь снижает шанс, что модель вообще пойдёт в сторону размытости.

Ещё одно следствие: параметр CFG Scale влияет и на силу негатива. При очень высоких значениях модель слишком рьяно избегает негативных концепций, что иногда даёт пересвеченные, «пережжённые» цвета. Если картинка выглядит неестественно контрастной, попробуйте снизить CFG до умеренных значений, прежде чем переписывать промпт.

Базовый универсальный набор

Существует набор слов, который сообщество использует как отправную точку почти для любой генерации. Он не гарантирует идеал, но отсекает самые частые дефекты: низкое качество, водяные знаки, деформированные конечности.

low quality, worst quality, blurry, watermark, signature, text, bad anatomy, deformed, extra limbs, mutated hands, poorly drawn face, out of frame, cropped

Разберём логику этого набора по группам:

  • 🎯 Качество: low quality, worst quality, blurry, jpeg artifacts — отсекают общую «грязь» генерации.
  • Анатомия: bad anatomy, deformed, extra limbs, mutated hands — борются с лишними пальцами и кривыми телами.
  • 🖼️ Композиция: out of frame, cropped, bad proportions — снижают шанс обрезанных голов и съехавшего кадра.
  • 🔤 Мусор: watermark, signature, text, logo — убирают надписи, которые модель подхватила из обучающих данных.
⚠️ Внимание: не копируйте негативные промпты длиной в 50–100 слов с чужих примеров без разбора. Каждое слово занимает токены и «вес» внимания модели — избыточный негатив размывает собственный эффект и может конфликтовать с позитивным промптом.

Негативы под конкретные задачи

Универсальный набор — это фундамент, но разные жанры требуют разных запретов. То, что полезно для фотореализма, может навредить аниме-стилю, и наоборот.

Для реалистичных портретов добавьте к базе слова против «пластиковости»: plastic skin, airbrushed, oversaturated, 3d render, cgi, doll. Для аниме-моделей (например, чекпоинтов на базе Anything или Counterfeit) логика обратная: там в негатив отправляют realistic, photorealistic, 3d, чтобы модель не «съезжала» в реализм.

📊 Для какого стиля вы чаще всего настраиваете негативные промпты?
Фотореализм и портреты
Аниме и иллюстрации
Архитектура и интерьеры
Всё подряд, один универсальный набор

Для пейзажей и архитектуры полезны people, person, human, text, signature — если не хотите случайных фигур на заднем плане. А вот для генераций с текстом (вывески, постеры) слово text из негатива нужно убрать, иначе модель будет активно сопротивляться любым буквам.

ЗадачаЧто добавить в негативЧто убрать из базового набора
Реалистичный портретplastic skin, 3d render, cartoon
Аниме-иллюстрацияrealistic, photorealistic, 3dcartoon, sketch (если были)
Пейзаж без людейpeople, person, crowd
Картинка с надписямиmisspelled texttext, watermark
Руки крупным планомextra fingers, fused fingers, missing fingers

Пошаговая настройка в интерфейсе

В AUTOMATIC1111 WebUI и ComfyUI поле для негатива есть по умолчанию, но работают они по-разному. В WebUI это отдельное текстовое поле под основным промптом — просто вставьте туда набор через запятую. В ComfyUI негатив подключается к отдельному входу negative ноды CLIP Text Encode, которая затем соединяется с соответствующим входом сэмплера.

Порядок действий для выстраивания собственного негативного промпта:

☑️ Настройка негативного промпта с нуля

Выполнено: 0 / 5

Ключевой приём — фиксация seed. Меняя промпт при одном и том же seed, вы видите чистый эффект каждого слова, а не случайные колебания генерации. Без этого сравнение превращается в гадание.

Веса, синтаксис и частые ошибки

Как и в позитивном промпте, в негативе работают веса через скобки: (blurry:1.3) усиливает запрет, (blurry:0.7) — ослабляет. Но с весами в негативе нужна осторожность: слишком сильный запрет концепции может парадоксальным образом исказить изображение, потому что модель начинает «переусердствовать» в избегании.

Типичные ошибки при работе с негативами:

  • 🚫 Противоречие позитиву: в позитиве detailed skin, в негативе skin details — модель получает конфликтующие сигналы.
  • 📦 Дублирование синонимов: bad quality, low quality, worst quality, poor quality подряд почти не дают выигрыша, но съедают токены.
  • 🔢 Завышенные веса: конструкции вида (((((ugly))))) — наследие старых гайдов; современные модели от них скорее страдают.
  • 🧩 Негатив не под модель: набор для SD 1.5 может мешать SDXL или Pony-чекпоинтам, у которых свои «вредные привычки».
⚠️ Внимание: некоторые чекпоинты обучены с собственными триггерными словами качества (например, Pony-модели используют особые теги в позитиве и негативе). Перед применением чужого набора сверьтесь с описанием конкретной модели на странице её автора — универсальных рецептов здесь нет.
Почему «embedding»-негативы удобнее длинных списков

Для популярных моделей существуют обученные текстуальные инверсии (embeddings) — например, файлы вроде negative-embedding, которые одним словом заменяют целый набор негативов. Их помещают в папку embeddings и вызывают по имени файла в поле негативного промпта. Это экономит токены и часто работает стабильнее, но результат зависит от того, под какую модель обучался конкретный embedding.

Когда негативный промпт не помогает

Не каждая проблема решается словами в негативном поле. Если руки стабильно ломаются при любом промпте, возможная причина — слишком низкое разрешение генерации: на маленьком холсте модели физически не хватает «места» для корректной анатомии. Попробуйте генерировать в более высоком разрешении с последующим Hires. fix или используйте ADetailer-подобные расширения для доработки лиц и кистей.

Также негатив бессилен против особенностей самого чекпоинта: если модель дообучена на специфическом датасете, дефекты могут быть «вшиты» в её веса. В таком случае честное решение — сменить модель или использовать LoRA, корректирующие анатомию, а не наращивать негативный промпт до бесконечности.

FAQ: частые вопросы

Обязательно ли заполнять поле Negative prompt?

Нет, генерация работает и без него. Но пустое поле означает, что модель не получает никаких «запретов», и частота дефектов — размытость, лишние конечности, водяные знаки — обычно заметно выше. Даже короткий базовый набор улучшает средний результат.

Работают ли негативные промпты в SDXL и SD 1.5 одинаково?

Механизм одинаковый, но эффект отдельных слов различается. SDXL обучен на более качественных данных, поэтому тяжёлые наборы вроде worst quality дают там меньший эффект, чем в SD 1.5. Наборы стоит подбирать под конкретную модель и тестировать с фиксированным seed.

Сколько слов оптимально в негативном промпте?

Точной нормы нет, но практика показывает: 10–20 осмысленных слов обычно достаточно. Списки из сотни терминов размывают внимание модели и увеличивают шанс конфликта с позитивным промптом. Лучше короткий релевантный набор, чем «простыня» из чужого примера.

Можно ли через негатив убрать конкретный объект, например очки?

Да, если модель стабильно добавляет нежелательный элемент, слово в негативе (например, glasses) снижает его вероятность. Но гарантии нет: если объект сильно связан с позитивным описанием, надёжнее переписать сам позитивный промпт.

Что делать, если негатив портит картинку?

Убирайте слова по одному при фиксированном seed и смотрите, после какого изменения картинка улучшается. Частые виновники — слишком сильные веса в скобках и слова, противоречащие позитивному описанию. Иногда достаточно сократить набор вдвое, чтобы генерация «выдохнула».