Промпт-инжиниринг для генерации изображений: принципы, техники и границы допустимого

Гайд по промпт-инженерии

Как составлять промпты, которые понимают нейросети, и почему фильтры блокируют часть запросов

Разбираем архитектуру промпта, весовые коэффициенты, негативные промпты и правила безопасности — чтобы получать предсказуемый результат без проб и ошибок.

Структура промпта Веса и акценты Негативные промпты Политики контента

Промпт — это не описание, а набор инструкций

Большинство ошибок начинающих — попытка писать «как для художника»: «Нарисуй красивую девушку в красном платье на закате». Нейросеть не «воображает». Она статистически сопоставляет токены с визуальными паттернами, выученными на терабайтах подписанных изображений.

Каждое слово в промпте тянет за собой кластер ассоциаций: «закат» активирует тёплые тона, длинные тени, силуэты; «красное платье» — определённую фактуру, отражение света, форму. Если не задать параметры явно (освещение, ракурс, стиль, камера), модель подставит «у среднего по датасету».

Ключевой принцип

Промпт — это вектор в латентном пространстве. Чем точнее координаты, тем ближе результат к намерению.

Схема: промпт как набор векторов, сходящихся в точке генерации

Анатомия рабочего промпта: шесть слоёв

Субъект и действие

Кто или что на кадре, что делает, в какой позе. Конкретика: не «женщина», а «young woman, standing, hands in pockets, looking at camera».

Среда и окружение

Где происходит действие: интерьер, ландшафт, студия, абстрактный фон. Детали: «minimalist studio, softboxes visible, concrete floor».

Освещение и цвет

Ключевой слой. «Rembrandt lighting», «golden hour», «neon rim light», «high key», «chiaroscuro». Цветовая схема: «teal and orange», «monochrome red».

Камера и оптика

Фокусное расстояние, диафрагма, ракурс: «85mm f/1.2», «24mm wide angle», «low angle», «dutch angle», «macro 1:1». Задаёт перспективу и глубину резкости.

Стиль и медиум

Фотореализм, кинокадр, иллюстрация, 3D-рендер, авторский стиль: «shot on Kodak Portra 400», «Unreal Engine 5 render», «Greg Rutkowski style», «anime key visual».

Технические параметры

Разрешение, соотношение сторон, сид, шаги, CFG: «—ar 16:9 —v 6 —stylize 750 —chaos 20 —seed 42». Разные модели — свои параметры.

Сборка: от замысла к готовому запросу

Порядок токенов важен: модели (Midjourney, DALL·E 3, Stable Diffusion) читают слева направо, ранние токены имеют больший вес. Стандартная формула:

[Subject + Action] → [Environment] → [Lighting + Color] → [Camera + Lens] → [Style + Medium] → [Technical params]

Пример эволюции одного замысла:

Слабый: beautiful woman in red dress at sunset
Лучше: young woman, red silk dress, standing on beach, golden hour, soft rim light, 85mm f/1.8, shallow depth of field, cinematic color grading
Профессиональный: portrait of young woman wearing crimson silk dress, windswept hair, gentle smile, standing on sandy beach at golden hour, warm directional sunlight from left, subtle lens flare, shot on Sony A7R IV + 85mm f/1.4 GM, f/1.4, ISO 100, 1/200s, cinematic teal-orange grading, film grain, —ar 3:4 —stylize 650 —v 6
Результат про-версии: управление светом, текстурой ткани, цветовым балансом и оптикой через явные токены.
Иллюстрация принципа: каждый добавленный слой сужает вариативность генерации

Весовые коэффициенты: как заставить модель слушаться

Синтаксис Midjourney v6

word::2 — удвоенный вес
word::0.5 — половинный вес
word::-1 — отрицательный вес (аналог негативного промпта)
Пример:
portrait ::2, red dress ::1.5, beach ::0.8, sunset ::1.2

Синтаксис Stable Diffusion (Automatic1111 / ComfyUI)

(word:1.3) — увеличить вес на 30%
[word:0.7] — уменьшить вес на 30%
(word1|word2:1.2) — чередование токенов на шагах
Пример:
masterpiece, (best quality:1.2), (red dress:1.3), [blur:0.5], [deformed hands:0.3]

DALL·E 3 и естественный язык

DALL·E 3 не использует явные веса. Он следует инструкциям в естественном языке. Чтобы усилить элемент — повторите его с уточнением или поставьте в начало.

Принцип:
«The red dress is the main focus. Make the red dress vivid crimson silk, catching the light. Background beach at sunset, but keep attention on the dress.»

Негативный промпт: что мы не хотим видеть

Универсальная база (quality blockers)

(worst quality:2), (low quality:2), (normal quality:2), blurry, out of focus, haze, fog, overexposed, underexposed, noise, grain, jpeg artifacts, compression artifacts, watermark, text, logo, signature, username, border, frame, cropped, cut off

Анатомия и артефакты (anatomy fixers)

bad anatomy, bad proportions, deformed, mutated, extra limbs, missing limbs, floating limbs, disconnected limbs, malformed hands, extra fingers, fewer fingers, fused fingers, claw hands, bad feet, extra toes, mutated hands and fingers, long neck, double head, two heads, asymmetrical face, crossed eyes

Стилистические исключения

cartoon, anime, sketch, drawing, illustration, painting, 3d render, cgi, plastic, doll-like, airbrushed, oversaturated, neon colors (если нужен фотореализм)

Важно: Негативный промпт не «вычитает» объекты из изображения. Он смещает вероятность в латентном пространстве от нежелательных кластеров. Перегрузка негативом (более 50-70 токенов) часто ухудшает качество — модель теряет связность.

Почему фильтры блокируют запросы и как с этим жить

Все крупные модели (Midjourney, DALL·E 3, Stable Diffusion с дефолтными весами, Firefly) имеют встроенные классификаторы безопасности. Они работают на двух уровнях:

  • На входе: текстовый классификатор анализирует промпт на запрещённые категории (нагота, сексуальный контент, насилие, гейт-контент, реальные личности в компрометирующих ситуациях). Срабатывает до генерации.
  • На выходе: визуальный классификатор сканирует сгенерированные изображения. Даже если промпт прошёл текстовый фильтр, результат может быть заблокирован или заменён на плейсхолдер.

Списки запрещённых токенов не публикуются и постоянно обновляются. Попытки обхода (обфускация, тайпографические трюки, кодированные слова) считаются нарушением ToS и ведут к бану аккаунта.

Что делать, если идея на границе?

  • Переформулируйте художественно: «suggestive» → «intimate atmosphere», «nude» → «figure study», «classical art style»
  • Используйте референсы на искусство: «in the style of Bouguereau», «Renaissance composition», «academic figure drawing»
  • Фокус на эстетике, композиции, свете — а не на теле
  • Для художественных задач рассмотрите локальные модели (SDXL, Pony Diffusion) с отключёнными фильтрами — но помните об ответственности и законе

Сравнение возможностей популярных моделей

Параметр Midjourney v6 DALL·E 3 Stable Diffusion XL Firefly Image 2
Понимание естественного языка Высокое (с v6) Очень высокое Среднее (нужны теги) Высокое
Весовые коэффициенты ::weight Только через язык (word:weight) Через настройки UI
Негативный промпт ::-weight / --no Не поддерживается Полная поддержка В интерфейсе
Контроль композиции (ControlNet / Structure Ref) --cref, --sref Ограничен Полный (ControlNet, IP-Adapter) Structure Reference
Строгость фильтров Высокая Очень высокая Зависит от чекпоинта Высокая (корп. стандарт)
Локальный запуск Нет (Discord / Web) Нет (API / ChatGPT) Да Нет (Web / API)
Условная схема: возможности зависят от версии и настроек. Проверяйте актуальную документацию модели.

Итеративный рабочий процесс: от черновика к результату

1

Черновик

Минимальный промпт: только субъект, действие, среда. Генерируем 4-8 вариантов.

2

Анализ

Что работает: освещение, позы, цвет. Что нет: руки, фон, стиль. Фиксируем сиды удачных.

3

Уточнение

Добавляем веса, негатив, технические параметры. Меняем один параметр за итерацию.

4

Финал

Выбираем лучший, апскейлим, при необходимости — инпеинт/аутпеинт мелких дефектов.

Про-совет: логгируйте всё

Ведите таблицу: промпт | сид | модель | параметры | оценка (1-5) | заметки. Через 50-100 генераций у вас сформируется личная база работающих паттернов — это главный актив промпт-инженера.

Сиды Веса токенов Негативы Aspect ratio Stylize / CFG

Ошибки, которые съедают часы генерации

Перегруз прилагательными

«Beautiful, stunning, gorgeous, amazing, incredible, masterpiece, best quality, ultra detailed, 8k, 16k, photorealistic, hyperrealistic…»

Семантическое насыщение: после 3-5 качественных дескрипторов модель перестает их различать. Каждое следующее слово размывает вес предыдущих. Оставьте 1-2 качественных маркера (masterpiece, best quality) и переходите к конкретике.

Конфликтующие токены

«Bright sunny day, moody dark atmosphere, high key lighting, chiaroscuro, flat lighting, dramatic shadows»

Модель уśredняет противоположные инструкции, выдавая «серую кашу». Выбирайте одну световую схему. Если хотите вариации — делайте отдельные генерации.

Игнорирование aspect ratio

Генерация портретной композиции в --ar 16:9 заставляет модель «додумывать» пустые бока — часто фонами низкого качества или дублированием объекта.

Подбирайте соотношение под задачу: 3:4 / 2:3 — портреты, 16:9 / 21:9 — кино, пейзажи, 1:1 — соцсети, иконки.

Слепой копипаст «магических» промптов

Промпты из Pinterest / Civitai / PromptHero часто содержат токены, специфичные для конкретной версии модели, лоры или чекпоинта. В другой среде они дают шум.

Разбирайте чужие промпты по слоям (см. раздел «Анатомия»), понимайте функцию каждого токена, адаптируйте под свою модель и задачу.

Продвинутые техники: выходим за базовый промпт

Multi-prompt / Region prompting

Midjourney: :: разделяет независимые концепции. portrait of woman :: red dress :: beach sunset — три отдельных вектора.

SDXL / ComfyUI: Regional Prompter, Attention Coupling — разные промпты для разных зон канваса (верх/низ, лево/право, маска).

Image-to-Image + Inpaint / Outpaint

Не пытайтесь получить идеальный результат за один txt2img. Сгенерируйте базу (denoising 0.4-0.6), затем инпеинт проблемных зон (лица, руки, текст на одежде) с уточнённым промптом только для маски.

Outpainting расширяет холст: задайте направление и контекст продолжения среды.

Prompt scheduling (ADetailer / Dynamic prompting)

Менять промпт во время генерации (по шагам): первые шаги — композиция и крупные формы, последние — детали и текстуры.

[cat:dog:15] — до 15 шага кот, потом собака. Полезно для морфинга и сложных композиций.

Style Reference / Character Reference

Midjourney --sref (style ref) и --cref (character ref) позволяют переносить стиль и идентичность персонажа между генерациями без обучения LoRA.

SD: IP-Adapter, Reference-only ControlNet, InstantID — то же самое с большим контролем.

Этика, закон и личная ответственность

Техническая возможность сгенерировать что угодно ≠ моральное право или законность. Перед нажатием «Generate» задайте себе три вопроса:

1 Есть ли согласие?

Генерация реальных людей (знаменитостей, частных лиц) в ситуациях, которых не было — нарушение прав на образ, личностные данные и часто — уголовного кодекса (дипфейки).

2 Не создаёт ли это вред?

Нецензурный контент с несовершеннолетними (даже вымышленными) — преступление во многих юрисдикциях. Неконсенсуальные интимные изображения — уголовная статья. Распространение — обetting.

3 Куда пойдёт результат?

Публикация в открытую — вы несёте ответственность за контент. Коммерческое использование — проверяйте лицензию модели и права на обучающую выборку (Midjourney, DALL·E, Firefly — разные условия).

Промпт — это код. Генерация — компиляция.

Как и в программировании: чистый, структурированный, прокомментированный код даёт предсказуемый билд. Хаотичный набор слов — баги, артефакты и потерянное время.

Структура

6 слоёв

Контроль

Веса + Негатив

Процесс

Итерации + Логи

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