Промпты для Stable Diffusion 1.5: полное руководство по генерации и настройке

Промпты

В данной статье мы выясним, что такое промты и как их правильно писать при локальной генерации изображений в Stable Diffusion.

Предыдущий гайд о том как правильно прописать разрешение, cfg scale, clip skip и прочие настройки в первый раз, мы закончили на том, что сгенерировали условно приемлемую картинку на модели Stable Diffusion 1.5 (чекпоинт revAnimated), написав в поле позитивного промпта:

((best quality)), ((masterpiece)), (detailed), 1girl, cyberpunk city, rain

Получилось вот так (с 5 попытки). Результат далек от совершенства, но от него хотя бы сразу не бросает в холодный пот, что уже неплохо. Теперь можно на примере разобрать почему получилось именно так и как изображение можно улучшить.

База: позитивный промпт

Промптинг в Stable Diffusion 1.5 — это не магия, а скорее язык программирования, где вы с помощью английских слов обращаетесь к базе данных нейросети.

Промпт — это ваш текстовый запрос, о том что надо сделать. Но нейросеть не читает слова как человек, который пониманиет контекст по умолчанию. Для этого у нее есть встроенный переводчик (CLIP) с человеческого на язык роботов (Слава роботам!), который разбивает ваш текст на токены (слова или кусочки слов) и присваивает им математический вес (значимость по отношению к остальным) .

Как она это читает (Синтаксис):

  • Запятые — ваши лучшие друзья. SD 1.5 плохо понимает сложные литературные предложения («красивая девушка, которая бежит по полю под дождем»). Ей нужен сухой список тегов: 1girl, running, field, rain, beautiful.
  • Иерархия (Слева направо). Слова в самом начале промпта имеют максимальную силу. Чем дальше слово к концу текста, тем слабее нейросеть обращает на него внимание. Поэтому главного персонажа всегда пишем в начале, а стиль освещения — в конце.
  • Лимит памяти (75 токенов). Базовый блок памяти SD 1.5 вмещает около 75 единиц.

Интерфейсы (Forge, A1111) умеют склеивать эти блоки, позволяя писать длинные тексты, но всё, что уходит за 75-е слово, в Stable Diffusion 1.5 теряет свой вес и часто игнорируется.

В интерфейсе Forge (или A1111) в правом верхнем углу текстового поля всегда есть счетчик. Когда вы начнете печатать, вы увидите цифры, например: 24/75. Если вы видите, что у вас 72/75 — вы уместили максимум смысла в самую «влиятельную» зону внимания нейросети.

Что будет, если нарушать правила

  1. Писать слишком мало (например, просто girl, city). Нейросети нужно заполнить холст. Если вы дали ей всего два слова, остальное она додумает сама, взяв самые усредненные, скучные и «замыленные» данные из своей базы. Картинка получится блеклой, случайной и неинтересной.
  2. Писать слишком много (простыня на 200 слов). Возникает эффект «переполнения» (Concept Bleeding). Если вы напишете сразу много ярких цветов  red shoes, blue shirt, green eyes, yellow car, нейросеть запутается в цветах и деталях. У вас получится девушка с зелеными волосами, в красной машине и с синими глазами. Детали начнут смешиваться в кашу.
  3. Писать на другом языке (например, на русском). SD 1.5 обучена только на английском языке. Если вы напишете «девушка», для неё это просто бессмысленный набор символов. Она выдаст вам либо случайный цветовой шум, либо картинку, которая вообще не имеет отношения к вашему запросу.
  4. Писать теги, которые модель не знает. Если вы напишете имя очень редкого персонажа Vasya Pupkin или несуществующее слово, модель попытается разбить его на знакомые слоги. Если не получится — она просто проигнорирует это слово. Вместо конкретного персонажа вы получите просто стандартное лицо, которое модель использует «по умолчанию». Именно поэтому для конкретных персонажей мы используем LoRA.

Общие рекомендации в SD 1.5

Идеальный промпт для SD 1.5 для генерации изображения собирается как конструктор по строгой формуле:

  1. Качество и База: (masterpiece, best quality, highres) — заставляем модель брать картинки из лучшей части своей базы.
  2. Объект: 1girl, solo, 20yo, blonde hair, blue eyes — кто в кадре.
  3. Одежда и Поза: wearing black dress, standing, looking at viewer.
  4. Фон (Окружение): cyberpunk city background, neon lights, rainy street.
  5. Стиль и Освещение: cinematic lighting, sharp focus, intricate details, unreal engine 5 render.

Важно для SD 1.5. Всегда используйте Негативный промпт (Negative Prompt). Именно туда мы вписываем те самые эмбеддинги (EasyNegativebad-hands-5), которые качали вместе с моделью, чтобы запретить модели рисовать уродства и мыло. Без негативного промпта Stable Diffusion 1.5 выдает очень грязный результат.

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

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

Базовая версия Stable Diffusion 1.5 обучалась на гигантской, но очень «грязной» свалке картинок из интернета (датасет LAION-5B). Туда попали шедевры живописи, но вместе с ними — мыльные фотки с мыльниц из 2005 года, скриншоты с водяными знаками (вотермарками), обрезанные картинки и плохие 3D-рендеры.

Нейросеть SD 1.5 искренне считает, что мутная картинка с 6 пальцами — это нормально, потому что она видела такое в своей базе.

Негативный промпт в SD 1.5  работает как сито. Когда вы вписываете туда worst quality, low quality, bad anatomy, blurry, watermark, вы физически отрезаете нейросети доступ к «мусорной» части её памяти. Вы заставляете её собирать картинку только из тех данных, которые остались (а это качественные, четкие исходники). Без этого сита SD 1.5 всегда выдает блеклый и кривой результат.

Как правильно писать негативные теги

Эмбеддинг bad-hands-5 хорошо помогает решать проблему «кривых» пальцев в SD 1.5. 120 000 скачиваний и 4000+ положительных отзывов.

Используйте Эмбеддинги (Таблетки от уродства). Вместо того чтобы писать простыню из 50 слов про кривые руки и ноги, научите их использовать заранее скачанные файлы EasyNegative, bad-hands-5 и другие.Этого достаточно, чтобы картинка стала чистой, а руки приобрели человеческий вид.

Мы их скачивали вместе с выбранной моделью Stable Diffusion (ReV Animated), VAE и прочим. Как раз сейчас, время их использовать. Все указанные автором на странице модели использовать не обязательно, главное чтобы они были. Достаточно 2 самых универсальных, остальные можно добавлять при необходимости.

Не пишите лишнего (Синдром копипасты). Самая частая ошибка — копировать чужой негативный промпт на 100 слов и вставлять его везде. Если вы генерируете пейзаж красивого леса без людей, не нужно писать в негатив bad anatomy, missing limbs, ugly face (плохая анатомия, отсутствие конечностей, уродливое лицо). Нейросеть потратит ресурсы на поиск «уродливых лиц в лесу», которых нет, вместо того, чтобы рисовать красивые деревья.

Решайте проблемы по мере их поступления и используйте негативный промпт как ластик.

  • Картинка получается слишком темной? Добавьте в негатив: dark, gloomy, poorly lit.
  • Модель упорно делает фон размытым, а вам нужна четкость? Напишите в негатив: depth of field, blurry background, bokeh.
  • Постоянно вылезают рамки по краям картинки? Ваш спаситель в негативе: cropped, out of frame, border.

Для SD 1.5 поле Negative Prompt — это половина успеха. Положите туда Easy Negative, bad-hands-5 для страховки, а остальные слова добавляйте только тогда, когда на картинке появляется то, что вас раздражает.

Почему именно эти 2 эмбеддинга, а не какие-то другие лучше выбрать для универсального промта, а так же чем они отличаются и как именно работают, я рассказываю в отдельной статье — Embedding в Stable Diffusion на примере SD 1.5

Обратите внимание, хотя мы вписали всего несколько слов, они заняли 15 токенов из 75, так как информации в них гораздо больше.

Как сделать шаблон автозаполнения тегов

Писать каждый раз руками (masterpiece, best quality) и вставлять эмбеддинги — это пустая трата времени. В WebUI (и в Forge, и в Automatic1111) для этого есть встроенный, но не самый очевидный инструмент. Он называется Styles (Стили). Это идеальный способ создать шаблоны под конкретные модели (например, один стиль для SD1.5, другой для Pony, третий под FLUX и т.д.). Вот как это настроить раз и навсегда:

Создаем минимальный шаблон

Главный принцип — не испортить. Одного универсального промпта, который был делал всегда красиво в SD 1.5 — не существует. Вам всё равно придется дорабатывать его под конкретный случай, но время на однотипных действиях он сэкономить поможет.

Это не волшебная таблетка, а «базовый минимум», который не меняет стиль и особенности выбранного чекпоинта (основной модели Stable Diffusion).

Впишите в поле Positive Prompt вашу базу. Например (скопируйте строку):

((best quality)), ((masterpiece)), (detailed), {prompt},

Впишите в поле Negative Prompt ваши негативные эмбеддинги:

Easy Negative, bad-hands-5, bad-artist, (worst quality, low quality:1.4),

Сохраняем шаблон

Прямо под большой оранжевой кнопкой Generate (или рядом с ней, в зависимости от версии) найдите кнопку с иконкой Дискеты или Карандаша.

Нажмите на нее. Появится маленькое окошко Styles.  Введите понятное название. Например: SD 1.5 BAZA.

Всё кроме названия можно скопировать 1 кнопкой — «Copy main UI Prompt ti style«.

 

Нажмите Save. Обновите список стилей.

Кнопка «Обновить».

Всё, ваш шаблон сохранен! Новый стиль должен появиться в списке. Его можно также 1 кнопкой применить к текущему промпту, физически вписав слова туда. Можно не вписывать, а просто выбрать нужный стиль, чтобы он отобразился в меню и отметился «галочкой».

Будьте внимательны! Если случайно добавите теги из одного стиля 2 раза (или 3), они все ставятся и 100% пережгут картинку.

Как этим пользоваться

Теперь, когда вы заходите в программу, ваши поля пустые.

Под кнопкой Generate найдите выпадающий список Styles 🖌️ (или иконку кисточки).

  1. Нажмите на него и выберите ваш  SD 1.5 BAZA (можно выбрать сразу несколько разных, они сложатся вместе).
  2. Теперь в основном поле промпта вы можете написать просто: 1girl, red dress, smiling.

Когда вы нажмете Generate, программа склеит ваш короткий текст промпта 1girl... с вашим сохраненным стилем (masterpiece...) и негативным промптом. Вам больше никогда не придется видеть или вводить эти длинные технические хвосты!

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

Идеальный шаблон через якорь {prompt}

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

((best quality)), ((masterpiece)), (detailed), {prompt},

Теперь, если вы выберете этот стиль и напишете в интерфейсе просто 1girl, red dress, программа подставит это ровно на место слова {prompt}. В итоге «в работу» на движок уйдет идеальная иерархия: сначала качество, потом ваш персонаж, а в самом конце — освещение и стиль (у нас его нет, так как это «бантики», которые менее важны,но вы можете дописать после {prompt} через запятую, например определенный свет или фон, если используете только его).

Создайте себе 3-4 таких стиля под разные модели или уровни детализации: «SD1.5_Base», «Pony_Base», «Photo_Base» и работа с промптами станет заметно проще.

Особенности модели ReV Animated

ReV Animated — это уникальная модель. Она делает не плоское аниме и не скучное фото, а сочный 2.5D фэнтези-полуреализм (как в дорогих мобильных играх или качественных 3D-мультфильмах). Чтобы включить эту «магию», ей нужны особые теги:

  • Она обожает детализацию: Обязательно добавляйте в конец промпта слова: intricate detailshighly detaileddepth of field (размытие заднего фона), volumetric lighting (объемный свет).
  • Магические триггеры стиля: Модель невероятно круто реагирует на теги вроде fantasy illustrationconcept arttarot card style или magic glowing runes.
  • Работа с лицом: Чтобы лица не были слишком «анимешными» или слишком «кукольными», используйте комбинацию detailed beautiful face, hyperrealistic eyes.
  • Чего писать НЕ нужно: ReV Animated сама по себе очень контрастная и насыщенная (особенно если вы используете правильный VAE). Не пишите теги вроде hdr, oversaturated, extreme contrast — картинка просто «сгорит» и покроется рябью.

Сам автор на странице модели прямо пишет:

  • Порядок запроса: тип контента > описание > стиль > композиция (content type > description > style > composition)
  • Этой модели нравятся теги: ((best quality)), ((masterpiece)), (detailed) в начале запроса, если вам нужен тип «аниме-2,5D»
  • Эта модель отлично справляется с портретами.

Если следовать этим инструкциям, ваши генерации изображений в Stable Diffusion станут в разы более качественными, осознанными и контролируемыми.

Практика с обновленным промптом

Наша первая картинка получилась не супер страшной с пятого раза можно сказать чудом, так как в промптах мы модель ReV Animated никак почти не ограничивали и она могла рисовать косых уродце в свое удольствие. Главное, чтобы это была девушка, киберпанк и город на фоне.

Усложним наш промт с учетам новых знаний и посмотрим, что получится:

  • В стиле выбираем SD 1.5 BAZA.
  • В поле позитивного промта пишем:

1girl, solo, portrait, cowboy shot, detailed beautiful face, hyperrealistic eyes, cyberpunk city background, heavy rain, intricate details, highly detailed, depth of field, volumetric lighting,

  • Негативный оставляем пустым, так как из стиля все само подставляется.
  • Жмем «Генерировать».
6 генераций подряд. Руки и лица гораздо лучше, хотя и не идеальны.

Отдельная картинка с настройками. На 6 картинок ушло 37 секунд.

Отдельно все настройки текстом, если кому-то нужно:

((best quality)), ((masterpiece)), (detailed), 1girl, solo, portrait, cowboy shot, full body, detailed beautiful face, hyperrealistic eyes, cyberpunk city background, heavy rain, intricate details, highly detailed, depth of field, volumetric lighting,,
Negative prompt: easynegative, bad-hands-5, bad-artist, (worst quality, low quality:1.4),
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 2955522873, Size: 512×768, Model hash: 7ca4bba71f, Model: revAnimated_v2RebirthVAE, Clip skip: 2, TI: «easynegative, bad-artist», Version: f2.0.1v1.10.1-previous-669-gdfdcbab6

В целом результат хороший, но мы сделаем его еще лучше, поработав над разрешением и детализацией лиц. В следующих статьях, разумеется.