Negative prompt (негативный промпт) — это текстовое условие в генерации изображений, которое подсказывает модели, чего не должно быть в результате. В актуальной документации Hugging Face Diffusers и Stability AI он описан как способ направлять генерацию в сторону от нежелательных концептов; в рассмотренных пайплайнах Diffusers параметр игнорируется при guidance_scale < 1.
Важно: negative prompt — это не универсальный жёсткий запрет, а механизм steering, то есть смещения генерации. Этот разбор опирается только на официальные документы и статьи из набора источников, проверенные по состоянию на 2026-08-13.
Английский термин: negative prompt. Также встречается: negative prompting — когда речь о приёме в целом; в некоторых API и SDK сходный эффект задаётся не отдельной строкой, а отрицательными весами для частей промпта.
Простыми словами
Грубо говоря, negative prompt — это вторая часть задания для генератора: не только «что нарисовать», но и «чего избегать». Если основной промпт задаёт желаемый результат, негативный уточняет нежелательные признаки, стили или артефакты.
Это можно представить как бриф для дизайнера: «сделайте изображение, но без низкого разрешения и без низкого качества». Именно такой пример есть в официальной документации Diffusers для Stable Diffusion 3: lowres, low quality, worst quality.
Как это работает
Технически modern negative prompt обычно связан с classifier-free guidance (CFG). В статье Classifier-Free Diffusion Guidance описан базовый механизм смешивания условного и безусловного сигналов, а в статье Stay on topic with Classifier-Free Guidance negative prompting прямо описан как способ дать модели список того, чего пользователь не хочет видеть в результате.
В практических пайплайнах это выглядит так: основной промпт тянет генерацию к нужным признакам, а negative prompt помогает отталкиваться от нежелательных. Конкретная реализация зависит от библиотеки и модели, поэтому здесь важно не обобщать поведение всех систем под одну схему.
Упрощённая схема
[основной prompt] ---------> [условие: что включать]
[negative prompt] --------> [условие: чего избегать]
|
v
[classifier-free guidance / guidance]
|
v
[многократное уточнение изображения]
|
v
[итоговое изображение]
В официальной документации Hugging Face Diffusers для text-to-image и Stable Diffusion 3 есть важное практическое условие: negative_prompt игнорируется, если guidance_scale < 1. Поэтому negative prompt имеет смысл рассматривать не отдельно, а вместе с CFG-настройкой.
Что меняется в Stable Diffusion 3
Для Stable Diffusion 3 в Diffusers доступны не только negative_prompt, но и negative_prompt_2 и negative_prompt_3. Если второй и третий параметры не переданы, документация указывает, что для них повторно используется значение negative_prompt.
Практический вывод отсюда простой: в SD3 negative prompt — не всегда одна строка на весь пайплайн. В некоторых случаях система допускает несколько негативных текстовых входов, и это одна из причин, почему термин не стандартизован одинаково у всех вендоров.
Где применяется
- Локальные Python-пайплайны Diffusers. В документации Hugging Face для Stable Diffusion text-to-image
negative_prompt— это прямой параметр генерации изображения. - Stable Diffusion 3 в Diffusers. Здесь можно работать с
negative_prompt,negative_prompt_2иnegative_prompt_3, если сценарий требует отдельных негативных текстовых условий. - Hosted API Stability AI. В API reference для
POST /v2beta/stable-image/generate/sd3параметрnegative_promptдокументирован как текст с описанием того, чего вы не хотите видеть в выходном изображении; при этом он помечен как advanced feature. - Weighted / multi-prompt workflows. В документации Stability AI по multi-prompting сказано, что отрицательные веса можно использовать, чтобы побуждать модель избегать определённых концептов. Это близкая по смыслу, но не идентичная форма negative prompting.
Практический пример
Самый проверяемый сценарий в источниках — официальный пример Stable Diffusion 3 в Diffusers. В нём используется негативный промпт lowres, low quality, worst quality вместе с guidance_scale=5.0, а результат сохраняется в файл.
Схематично набор параметров выглядит так:
prompt = "...ваш основной запрос..." negative_prompt = "lowres, low quality, worst quality" guidance_scale = 5.0
- Сгенерируйте изображение только с основным промптом.
- Повторите генерацию с тем же основным промптом, но добавьте
negative_prompt. - Сохраните оба результата в файл и сравните их вручную.
- Если в вашей проверке
guidance_scale < 1, не ждите эффекта от negative prompt в тех пайплайнах Diffusers, где документация прямо говорит, что параметр игнорируется.
Это хороший способ верификации без догадок: вы сравниваете два прогона с одинаковым основным запросом и меняете только negative prompt. Отдельно отмечу ограничение: шаг «сравнить результат с и без negative prompt» — это практический проверочный сценарий, выведенный из официального примера, а не дословная цитата из документации.
Чем отличается от…
| Термин | Что задаёт | Где обычно встречается | Ключевое отличие |
|---|---|---|---|
| Основной prompt | Что вы хотите получить | Почти любой генеративный пайплайн | Positive/основной prompt добавляет желаемые признаки, negative prompt задаёт признаки, которых нужно избегать |
| Negative weights | Избегание концептов через отрицательные веса | Weighted или legacy multi-prompting | Смысл близкий, но форма другая: не отдельное поле negative_prompt, а весовая схема внутри промпта |
| System prompt | Правила и рамки поведения модели | LLM и чат-модели | System prompt относится к инструкциям модели, а negative prompt в рассмотренных источниках — к управлению генерацией изображения |
Ограничения и заблуждения
- Заблуждение: negative prompt — это стопроцентный фильтр. По документации и работам про CFG это механизм направления генерации, а не гарантия полного исключения нежелательного содержания.
- Заблуждение: параметр всегда работает сам по себе. В рассмотренных пайплайнах Diffusers он игнорируется при
guidance_scale < 1. - Заблуждение: термин везде означает одно и то же. В одних системах это отдельная строка
negative_prompt, в других — отрицательные веса или несколько негативных входов. - Ограничение SD3. Если вам нужны отдельные негативные условия, проверяйте поддержку
negative_prompt_2иnegative_prompt_3; если их не задать, документация говорит о повторном использованииnegative_prompt. - Ограничение реализации. Поведение зависит от конкретной версии библиотеки. В changelog Diffusers есть запись для v0.38.0 об исправлении CFG-сбоев при передаче negative prompt embeddings с none mask, что показывает: вокруг negative prompt есть не только теория, но и практические edge cases.
- Ограничение доступности. В проверенных источниках нет указаний на отдельный региональный lock именно для
negative_prompt, но доступность конкретного endpoint, аккаунта или плана всё равно может влиять на то, сможете ли вы использовать параметр в hosted API.
Практический вердикт: рассматривайте negative prompt как слой тонкой настройки и исключения нежелательных признаков, а не как жёсткую систему запретов.
Редакционное ограничение: в этой статье не разбираются сторонние веб-интерфейсы и неофициальные UI; выводы опираются только на документацию Diffusers, Stability AI и две академические работы из списка источников.
Связанные термины и инструменты
Если вы хотите лучше понимать соседние способы управления генерацией, полезно сравнить negative prompt с другими уровнями контроля:
- System prompt — системная инструкция для модели: другой тип управления, характерный для LLM, а не для диффузионного изображения.
- Few-shot prompting: что это и как работает: управление через примеры, а не через список того, чего избегать.
- Top-p / top-k sampling: настройка выборки при генерации, а не exclusion-механизм.
- Self-attention: базовый термин, полезный для понимания того, как текстовые условия вообще превращаются во внутренние представления модели.
Если вам нужен практический разбор формулировок инструкций для языковых моделей, отдельно посмотрите как составить system prompt. Это не про diffusion negative prompt, но помогает не смешивать разные классы промптов.
Вопросы и ответы
Negative prompt — это запрет или рекомендация?
По рассмотренным источникам это способ направить генерацию в сторону от нежелательных концептов, а не гарантированный жёсткий запрет.
Почему negative prompt иногда не даёт заметного эффекта?
В документации Diffusers прямо сказано, что параметр игнорируется при guidance_scale < 1. Кроме того, поведение зависит от конкретной реализации и версии библиотеки.
Зачем в SD3 нужны negative_prompt_2 и negative_prompt_3?
Потому что документация Stable Diffusion 3 в Diffusers допускает несколько негативных текстовых входов. Если второй и третий не указаны, используется значение обычного negative_prompt.
Можно ли заменить negative prompt отрицательными весами?
В документации Stability AI по multi-prompting сказано, что отрицательные веса можно использовать, чтобы модель избегала определённых концептов. По смыслу это близко, но это уже другой API-паттерн, а не обязательно поле negative_prompt.
Есть ли отдельная цена за negative prompt?
Отдельной универсальной цены для negative prompt нет. Стоимость зависит от продукта и модели, поэтому её нужно проверять на актуальной официальной странице конкретного сервиса.