Как писать промты в нейросети Stable Diffusion

В этой статье я расскажу о том, как писать промты для нейросети Stable Diffusion, позволяющей создавать изображения по текстовому описанию. Мы разберем разные варианты, весовые коэффициенты, а также сравним SDXL и легендарную SD 1.5

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

SD 1.5 по сей день находится в ТОПе лучших, поэтому приступим к разбору рекомендаций по написанию промтов для нее.

Как писать промты в Stable Diffusion - инструкция<br />
Как писать промты в Stable Diffusion - инструкция

Промт — это текстовое описание того, что вы хотите сгенерировать, это может быть как что-то очень примитивное, например, «слон в джунглях», так и профессиональные промты, содержащие весовые коэффициенты, смешивание, LoRA и пр.

Как написать простой промт для SD 1.5

Для того, чтобы поверхностно оценить, как работает нейросеть Stable Diffusion, достаточно отправить ей короткий текст, содержащий наименование объекта или существа, которого нужно нарисовать + минимальное описание окружения (но это не обязательно).

✏ Пример: девушка сидит на скамейке в парке

Важное правило — в начале промта нужно указывать то, что должно быть основным объектом на изображении: человек, существо, предмет и пр. Далее в промте должно быть описано окружение, и, при необходимости — стиль, но это уже более сложные конструкции запросов, мы их разберем чуть ниже в этой статье.

Примечание: у SD есть множество опций, которые новичкам сложно применять на практике, поэтому я рекомендую использовать профессиональные инструменты, авторы которых уже адаптировали и упростили все необходимое. Я буду разбирать правила написания промтов для Stable Diffusion на примере этого бота в мессенджере Телеграм, в котором вы сразу можете бесплатно протестировать все, что я опишу далее.

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

Полная конструкция промта Stable Diffusion

Если вы хотите генерировать более качественные и профессиональные изображения, то вам следует использовать следующую формулу:

🚩 объект, расстояние, ПОЗА, описание объекта, окружение объекта, графические модификаторы, стилистика

Объект (или объекты) — это то, что должно быть в центре внимания нейросети, например: «woman« или »кот в шляпе с пером».

Расстояние — с помощью текстового описания можно указать дистанцию от основного объекта до камеры, например: "full body" (чаще всего применяется для изображения людей, объект будет изображен в полный рост), "closeup" (лицо объекта будет почти полностью занимать площадь кадра) и т. д.

Поза — вы можете указать позу для объекта, но это не обязательно. Использование перечисленных блоков промпта является опциональным, т. е. генерация сработает и без этого, но она будет более вариативной. Примеры поз: "бежит", "стоит", "сидит" и пр.

Описание объекта — перечисление характеристик основного объекта, например:

девушка, красное длинное платье, длинные белые волосы, худая, золотые украшения

ВАЖНО — в промтах для Stable Diffusion 1.5 нужно перечислять все объекты, их описания, окружение и все остальное через запятую.

Окружение объекта — это описание всего, что должно быть в кадре, например:

девушка на пляже, солнце, закат, крем для загара, волны, песок, прибой

Графические модификаторы — это специальные слова и фразы, которые подскажут нейросети, как именно нужно оформить изображение, например:

Как писать промты в нейросети Stable Diffusion

волк, unreal engine, hq, hdr

Стилистика — очень важный инструмент, можно указывать имена известных художников, фотографов, стилистов, а также напрямую ввести название стиля. Примеры: "в стиле Клода Моне", "в стиле Пикассо", "фотореализм", "аниме", "абстракционизм", "примитивизм", "сюрреализм" и т. д.

Примечание: каждый из элементов «формулы» промтов является опциональным, т. е. вы не обязаны писать в промтах для Stable Diffusion то, что вам не важно, к примеру, можно не указывать стиль, окружение или другие элементы.

Как писать промты для Stable Diffusion с весовыми коэффициентами

Нейросеть SD, в частности версия 1.5, поддерживает так называемые весовые коэффициенты, которые позволяют увеличить или снизить значимость перечисленных в промте объектов, их свойств и др.

Повышение значимости путем добавления круглых скобок

Вы можете увеличить важность той или иной части промта выделив ее круглыми скобками, каждая пара таких скобок повышает вес примерно на 10%.

✏ Пример: орел летит над горами покрытыми снегом — здесь не указаны никакие весовые коэффициенты

…давайте предположим, что нейросеть упорно отказывается рисовать снег на горах, но все остальное на изображениях вас устраивает, в этом случае оборачиваем нужные слова в промте круглыми скобками:

✏ орел летит над горами (покрытыми снегом)

…таким образом мы повысим акцент на 10% для слов «покрытыми снегом»

орел (летит) над горами (((покрытыми снегом)))

…в этом примере мы явно даем понять нейросети, что орел должен именно лететь и именно над горами, которые покрыты снегом, причем, вес «слова« летит увеличен на 10%, а для слов »покрытыми снегом» он вырос на 30%.

Тема правильного написания промтов очень объемна, ее трудно уместить в одну статью, но в ютубе есть отличный ролик, в нем очень подробно про все это рассказано. Я рекомендую к просмотру…

Как писать промпты в Stable Diffusion — полная инструкция

Как писать промты для Stable Diffusion XL (SDXL)

В отличии от SD 1.5, нейросеть SDXL лучше понимает прямую речь, то есть промпты можно писать примерно так же, как вы объясняли бы это живому человеку. SDXL почти во всех случаях правильно и в автоматическом режиме расставит весовые коэффициенты без использования круглых или иных скобок.

Пример генерации в SDXL по промту, который ранее мы уже использовали:

Как писать промты в нейросети Stable Diffusion

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

🙏 Благодарю за внимание.

2121
11
3 комментария

Про графические модификаторы надо было полнее написать, самая малопонятная часть статьи.

1
Ответить

Глядя на первую картинку в памяти всплывает цитата:
Если сиськи выросли, значит не педофилия

Ответить

Слова не оборачивают скобками, а заключают в скобки.

Ответить