Stable Diffusion prompts – Гайд по запросам

В сообществе телеграмм я проверяю и публикую сборники токенов для Stable Diffusion. Уже сейчас доступны позы модели, положение камеры, прически и цвета волос… в разработке профессии, каталог одежды и много другого интересного!

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

Промты для Stable Diffusion

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

Прежде чем вы начнете знакомство с данным руководством, убедитесь что:

У вас установлен Stable Diffusion от Automatic1111

Вы уже знаете интерфейс Stable Diffusion и понимаете какие вкладки за что отвечают

Здесь я расскажу как составляю текстовые запросы и постараюсь максимально подробно разложить алгоритм, с которым справится каждый и сможет без труда взаимодействовать с программой.

Анатомия идеального Prompts для Stable Diffusion

Чем лучше вы опишете свои хотелки, чем подробнее будет запрос – тем больше вероятность получить действительно хорошее изображение, которое вам понравится. Я накидал некий список токенов, которые стоит использовать при составлении промта.

Содержание идеальной текстовой подсказки:

Тема, Основа, Стиль, Художник, Веб-сайт, Разрешение, Уточнение деталей, Цвета, Освещение

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

Люблю практику! Предлагаю пробежать по всем токенам отдельно начиная с самого начала и постепенно дополнять, пока не рассмотрим все. Я буду использовать модель Deliberate и семплер DPM++ 2M Karas с Sampling Steps: 30, изображения имеют размер 512*768 пикселей.

Тема

Это именно то, чего вы ожидаете увидеть на будущей картинке. Самая большая ошибка новичка – недостаточное описание.

Приведу избитый пример про магичку, которая творит волшебство как наша нейросеть. Что обычно делают? Правильно, пишут:

A sorceress

Такой запрос оставит слишком много простора для генерации иллюстрации и часто результат нас не устроит. Нужно задать уточняющие вопросы – как должна выглядеть волшебница? Во что она одета? Что она делает? Что на фоне?

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

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

Кто у нас главная волшебница? Конечно же героиня Гарри Поттера – Эмма Уотсон (Интересный момент в том, что токен “Гермиона” не будет так влиять на конечную картинку). Она очень часто используется в примерах так как имеет огромное влияние на процесс создания картинки (я опять пользуюсь переводчиком DeepL).

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery

Эмма Уотсон - Вариант 1
Эмма Уотсон - Вариант 2
Эмма Уотсон - Вариант 3

Мы практически всегда получим Эмму (условно в 9 из 10 запусков создания картинок), за это она популярна у пользователей Stable Diffusion. Ну а почему нет? – Молодая и красивая, отлично смотрится в любой сцене. Далеко не все могут похвастаться такой популярностью – просто проверьте сами как выглядят другие актрисы в данной нейросети.

Основа

Не знаю как правильно обозвать данный раздел – это вид нашего изображения… ну например иллюстрация, 3D рендер, картина маслом или профессиональное фото (а может вообще кадр из фильма) – данные параметры сильно влияют на вашу картинку в целом.

Недавно вышла игра Hogwarts Legacy, поэтому я добавлю токен Unreal Engine (первое что пришло в голову при мысли о компьютерной игрушке).

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine

Эмма Уотсон на движке Unreal - Вариант 1
Эмма Уотсон на движке Unreal - Вариант 2
Эмма Уотсон на движке Unreal - Вариант 3

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

Стиль

Помните знаменитую фразу из Шурика “Никакого модернизма, никакого абстракционизма”? Вот это как раз про наши стили. На вскидку это импрессионизм, попа-арт и тому подобные.

Предлагаю разбавить наш Promt такими словами как Фэнтези, и хочу видеть Гермиону в полный рост, т.е. full body.

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body

Эмма Уотсон на движке Unreal в мире Фэнтези - Вариант 1
Эмма Уотсон на движке Unreal в мире Фэнтези - Вариант 2
Эмма Уотсон на движке Unreal в мире Фэнтези - Вариант 3

Художник

Думаю многие слышали про различные судебные иски от многих художников – якобы нейросети копируют их стиль работы, вот это мы можем использовать в своих интересах. Ниже я разместил PDF файл со примерами работ всех авторов, стиль которых умеет воспроизводить Stable DIffusion, вам останется только записать в Prompt: by Artist ИМЯ ХУДОЖНИКА

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière

Эмма Уотсон с художником - Вариант 1
Эмма Уотсон с художником - Вариант 2
Эмма Уотсон с художником - Вариант 3

Веб-сайт

Если вы из 90х, то наверняка в свое время увлекались Photoshop и просто не могли не познакомиться с такими ресурсами как Devian Art или Artstation – вы можете использовать их в текстовых подсказках про составлении промта в нейросети и изображение поменяется.

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière, artstation

Эмма - Вариант 1
Эмма - Вариант 2
Эмма - Вариант 3

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

Разрешение

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

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière, artstation, highly detailed, sharp focus

Детализированная Эмма - Вариант 1
Детализированная Эмма - Вариант 2
Детализированная Эмма - Вариант 3

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

Уточнение деталей

Если в иллюстрации вам чего-то не хватает – бахнем уточнений. Добавим токены, которые особо не повлияют на картинку, но могут поменять ее атмосферу. Например добавим научной фантастики и скажем чтобы девушка была очень красивой.

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière, artstation, highly detailed, sharp focus, sci-fi, stunningly beautiful

Добавили деталей Гермионе - Вариант 1
Добавили деталей Гермионе - Вариант 2
Добавили деталей Гермионе - Вариант 3

Цвета

Вы можете взять контроль над общим цветом изображения. Просто укажите в какой стилистике будет картинка.

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

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière, artstation, highly detailed, sharp focus, sci-fi, stunningly beautiful, iridescent gold

Добавили золотой цвет Гермионе - Вариант 1
Добавили золотой цвет Гермионе - Вариант 2
Добавили золотой цвет Гермионе - Вариант 3

Освещение

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

Emma Watson as a powerful sorceress, fire magic, detailed clothing, mystery, Unreal Engine, fantasy, full body, by Artist Stephan Martinière, artstation, highly detailed, sharp focus, sci-fi, stunningly beautiful, iridescent gold, cinematic lighting, sun ray

Эмма Уотсон - Итог 1
Эмма Уотсон - Итог 2
Эмма Уотсон - Итог 3

Я думаю вы заметили, что в некоторых шагах изменения были минимальными. Не допиши мы их в Promt – картинка сильно не потеряла бы от этого. Поэтому для простых изображений достаточно использовать короткую подсказку, а добавлять и перестраивать уже в случае, когда не получается добиться нужного вам результата.

Отредактированное в Stable Diffusion изображение

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

Negative prompt

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

Использование негативного промта вовсе необязательно. Однако интересный момент – такие подсказки в большинстве случаев улучшают изображение и почти никогда ему не вредят.

Я рекомендую вам использовать Negative Promts от XpucT, он его использует во всех роликах, она общедоступна – не думаю что он обидится если я размещу здесь его содержимое:

Показать Negative Promt
(deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation

На примере снизу, слева изображение с пустым Negative Prompts, справа с универсальным. Нетрудно понять, что это может максимально поменять результат генерации

Картинка без bad prompt
Иллюстрация с negative prompt

Веса в Stable Diffusion

Вы можете менять вес ключевого слова (значимость) с помощью синтаксиса (токен:значимость)Значимость по умолчанию везде одинаковая, но если выставить значение выше 1, то его важность вырастет.

Возьмем запрос ниже, для примера я взял девушку на фоне автомобиля (сразу увеличил вес футболки – часто получались изображения “не для всех”) и сгенерировал изображение. Девушка получилась, а автомобиля в кадре не оказалось – посмотрите как менялась картинка с увеличением значимости параметра “Авто на фоне”

diffused lighting, good slavic girl, (tied shirt:1.3), tattered jacket, oil slick hair bob hair, full body, car background, Rim Light

Девушка
(car background)
Девушка и авто
(car background:1.3)
Девушка и много авто
(car background:1.6)

Увеличение веса “car background” приводит к появлению на фото автомобиля, чем сильнее значимость токена – тем больше нейросеть попытается его использовать на изображении. Это работает и в обратную сторону – можно уменьшать значимость слова.

Если у вас Stable Diffusion от Automatic1111, то веса можно расставлять удобным способом в окне Prompt – просто выделите необходимый токен и нажмите сочетание клавиш CTRL + ВВЕРХ/ВНИЗ в зависимости от необходимости повысить или понизить важность ключа.

Синтаксис () и []

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

Эквивалент способу выше – использовать () для увеличения веса токена или [] для уменьшения. Круглые умножают на 1,1, квадратные на 0,9… вы можете использовать несколько скобок для увеличения или уменьшения веса.

(токен): 1.1
((токен)): 1.21
(((токен))): 1.33

Я не использую этот способ – на мой взгляд он не совсем удобен и в итоге сбивает с толку. К тому же сейчас интерфейс нейросети позволяет регулировать веса более точно и визуально понятно.

Смешение

Нейросеть Stable Diffusion может миксовать слова. Первое что приходит на ум – это антропоморфные животные типа рыбокот, котопес, совожаб и прочие зверушки. Как это работает? – Мы отправляем картинку на генерацию (например кота) и когда уже готова композиция, говорим что теперь рисуй из того что получилось дракона… и нейросеть будет пытаться извернуться и сделать из кота дракона, сейчас покажу как это работает.

big monster [cat: dragon: 0.5]

Котодракон

Что это значит? Разберем эту конструкцию промта.

[КЛЮЧ1:КЛЮЧ2:ВЕС]

Вес – это значение от 0 до 1, которое показывает важность первого ключа. Если мы разбираем на примере котодракона, то выставив 0,5 – мы получим генерацию кота до середины и уже далее будет рисоваться дракон. Данным параметром мы можем отрегулировать преобладание одного над другим, иногда полезным бывает перевернуть конструкцию и рисовать изначально дракона, а уже потом делать из него кота.

Алыверды

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

Что бы хотели видеть? Какие нюансы разобрать в следующих руководствах по Stable Diffusion?

Василий Григорьев

Привет, я автор этого сайта. Мое знакомство с компьютером началось в далекие 2000 когда Windows 98 была чем-то невероятным. А еще казалось что нажатие кнопки "Пуск" действительно что-то запустит... Готовы окунуться в мир технологий со мной?

Оцените автора
Блог Айтишнега
Добавить комментарий

  1. Андрей

    Наконец-то что-то внятное и достаточно подробное по промптам в SD. Спасибо! 🙂

    Ответить
  2. Марина

    Четко, понятно, без бла-бла-бла…Благодарю автора!

    Ответить