Школа Midjourney: как сгенерить синего котенка, если MJ не умеет делать синих котят (17 промтов и куча котиков внутри)

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

Автор текста — создатель телеграм-канала "Нейронутые". Здесь — самые крутые креативы, очень много лайфхаков, полезные эфиры о будущем ИИ и много других ярких историй. А еще у меня есть курс по Midjourney.

Синего котенка сгенерить совсем непросто. В этом материале шаг за шагом расскажу, как я синего котика нарисовал. <br />
Синего котенка сгенерить совсем непросто. В этом материале шаг за шагом расскажу, как я синего котика нарисовал.

Автор текста — создатель телеграм-канала "Нейронутые". На канале — самые актуальные лайфхаки и уроки по работе с Midjourney, очень крутые генерации и много яркого креатива.

Синий котенок, а он совсем не синий

Итак, сегодня я рассмотрю простой, казалось бы, кейс. Задача — нарисовать синего котенка. Если вы попросите Midjourney сделать это, сформулировав запрос: blue kitten, вы получите серого котенка, возможно с голубыми глазами.

Школа Midjourney: как сгенерить синего котенка, если MJ не умеет делать синих котят (17 промтов и куча котиков внутри)

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

Но только не в случае с синим котенком. Все мои попытки "нарисовать" синего котенка по запросу, приведенному выше, не увенчались успехом.

Итак, я понял, что в мире Midjourney синий — синоним серого. "Голубая порода" — серая порода.

Да-да, сеть училась на кошках. И, поскольку в реальности не существует синих котов, ИИ просто неоткуда взять правильный референс.

Значит, нужно переосмыслить промт и попробовать другие ключи. Что если сделать такой запрос: kitten with blue fur

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

Промт: kitten with blue fur<br />
Промт: kitten with blue fur

Что делать? Искать дальше? Давайте попробуем использовать "веса" (параметр weights), чтобы сформулировать, что для нас важнее — котенок или цвет его шерсти. Делаем новый запрос: kiiten::1 with blue fur::5

Этот промт означает: нам нужно, чтобы Midjourney распределила важность объектов. В данном случае я расставил акценты так: котенок — 1, синяя шерсть — 5. Смотрим, что получилось:

Промт: kiiten::1 with blue fur::5
Промт: kiiten::1 with blue fur::5

Видим, что ушли совсем не туда. Поскольку мы поставили "веса", мех стал "главнее". И поэтому появились дамы в мехах. А еще и собака. Да, появился кот с синей мордой — но кот частично синий, и это скорее случайность (последующие генерации с таким же запросом не дали ни одного синего кота).

Пробуем еще поработать с "весами", но переработать запрос. Промт: blue color::2 kitten::1. Смотрим, что получилось:

Промт: blue color::2 kitten::1
Промт: blue color::2 kitten::1

Очевидно, что "веса" не работают. Очевидно, что нужно хакнуть систему, немного обмануть ее и попробовать перекрасить котенка, понимая, что сеть не умеет генерить серых котят.

Пробуем дальше. Промт: kitten blue color. Смотрим, что получилось.

Промт: kitten blue color
Промт: kitten blue color

Опять серые котята. Да, очевидно, что тут нужно искать какой-то другой подход.

Что если попробовать другой промт: sapphirine kitten

Промт: sapphirine kitten (сапфировый — разновидность синего)<br />
Промт: sapphirine kitten (сапфировый — разновидность синего)

Да, красиво. Но совсем не то. Нам нужен самый обыкновенный СИНИЙ котенок. Пробуем дальше. Промт: kitten, color of the kitten is blue. И снова перед нами пачка серых котят.

Промт: kitten, color of the kitten is blue.
Промт: kitten, color of the kitten is blue.

Что делать? Идем в Chat GPT и, используя скрипт для написания промтов, просим ИИ предложить промт, который поможет нарисовать синих котят. Получаем довольно объемный промт:

Create an endearing and heartwarming scene featuring a litter of blue fur kittens. These unique kittens possess fur in various shades of blue, ranging from deep sapphire to soft sky blue. Their fur has a gentle shimmer to it, giving them a magical and otherworldly appearance. The kittens' eyes are an enchanting mix of bright colors, such as emerald green, topaz yellow, and amethyst purple. Position the kittens in a cozy setting, such as a soft nest made of clouds, or perhaps cuddled together in a blanket woven from the colors of the twilight sky. Capture the kittens engaged in playful activities, like chasing after each other, batting at floating wisps of cloud, or curiously pawing at stars that twinkle around them. These celestial kittens should evoke a sense of warmth, innocence, and the enchanting beauty of the sky above. Experiment with styles that bring out the charming qualities of these kittens, such as soft watercolors, pastel pencils, or digital painting. Aim to convey the kittens' gentle nature and the whimsical world they inhabit

Скармливаем этот промт Midjourney и смотрим, что получилось:

Школа Midjourney: как сгенерить синего котенка, если MJ не умеет делать синих котят (17 промтов и куча котиков внутри)

Ура! Котята посинели. Но все же это не то, что мы хотим. Мы хотим фотографию синего котенка. Изображения, приведенные выше прекрасны. Но это не то. Ну что же. Пора привлекать тяжелую артиллерию стилей. То есть, попросить Midjourney нарисовать котенка в стиле режиссеров, мультипликаторов и тд. Первая попытка — нарисовать котенка в стиле Миядзаки: просто, чтобы посмотреть, как Midjourney воспринимает такой подход и насколько он перспективен.

Пишем промт: blue cat Ghibli studio

Промт: blue cat Ghibli studio (Студия Гибли — студия, принадлежащая Миядазки)<br />
Промт: blue cat Ghibli studio (Студия Гибли — студия, принадлежащая Миядазки)

Ну что же: подход перспективен. Мы понимаем, что нужно отойти от реализма, но при этом остаться в реализме — нам же нужна фотография синего котенка. Что если сформулировать запрос так: blue cat 70s DVD screengrab

Промт: blue cat 70s DVD screengrab (мы попросили Midjourney сгенерить мне синего кода в стиле фильмов 70-х).<br />
Промт: blue cat 70s DVD screengrab (мы попросили Midjourney сгенерить мне синего кода в стиле фильмов 70-х).

Итак, коты, наконец, посинели. Но перед нами мифические коты (хоть и прекрасные — можно было бы развить эту тему, если бы я хотел рассказать историю фантастического фильма о синем коте). Ищем дальше. Что если — просто ради эксперимента — попросить Midjourney нарисовать синего кота в стиле Квентина Тарантино. Безумный эксперимент, но давайте посмотрим, что у нас получилось. Промт: blue cat by Quentin Tarantino

Промт: blue cat by Quentin Tarantino
Промт: blue cat by Quentin Tarantino

Совершенно того не ожидая мы получаем идеального синего кота. Этот эксперимент промт-инжиниринга показывает: эксперименты (и даже самые странные) нужны и важны, если вы хотите добиться желаемого результата (или наоборот — получить то, чего вы совсем не ожидали, но это будет очень крутая генерация).

Однако синий кот все же не котенок. Давайте продолжим поиски нужного промта. А что будет если мы попросим нарисовать котенка в стиле Педро Альмадовара? Промт: blue cat by Pedro Almadovar

Школа Midjourney: как сгенерить синего котенка, если MJ не умеет делать синих котят (17 промтов и куча котиков внутри)

Красиво, но не то. Квентин Тарантино почему-то позволяет сгенериить синих кошек, а Педро Альмадовар нет. Беру тайм-аут. Надо подумать. Сижу и анализирую полученные генерации. Итак, мы понимаем, как нарисовать синего кота, но контроля над процессом пока что нет. Что же нужно изменить в промте? А что, если заменить fur (мех) на hair (волосы)? Давайте попробуем. Промт: Kitten with blue hair

Промт: Kitten with blue hair
Промт: Kitten with blue hair

И вот он наш первый "ключ". Элементарная замена одного слова ("мех" на "волосы") дало нам нужный результат.

Чтобы понять, как нарисовать синего котенка, нам потребовалось сделать более 30 генераций и перебрать кучу промтов. Это промт-инжиниринг в действии.

Но мы не остановимся на этом и продолжим поиски. Давайте попробуем ввести параметр --no, который запрещает генерировать то, что мы запретили. Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey

Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey
Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey

Один из четырех котят (четвертый) вполне синий. Не идеальный, но синий. Как видим, параметр --no работает довольно неплохо. Поищем альтернативные промты. Пробуем промт: Blue dyed hair kitten (котенок с голубым окрасом шерсти). И смотрим на результат:

промт: Blue dyed hair kitten
промт: Blue dyed hair kitten

Тоже неплохо. При желании можно докручивать этот промт. Теперь, когда мы провели свое исследование, и знаем, что параметр --no работает, давайте попробуем использовать его и снова попробовать поработать с "весами". Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey

Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey (мы "усилили" параметр — синяя шерсть и запретили MJ генерить серые цвета).<br />
Промт: photograph of a kitten that has been completely dyed blue::2 --no white grey (мы "усилили" параметр — синяя шерсть и запретили MJ генерить серые цвета).

Очень классно. Отличный результат. На этом я и завершу свое исследование. Цель его — показать, как работает поиск нужного промта. Найдено как минимум 4 стратегии получить то, что мне нужно, перепробовав множество разных вариантов. Это и есть промт-инжиниринг в действии.

А что не получалось сгенерить у вас? Напишите в комментариях.

Остались вопросы? Подпишитесь на телеграм-канал "Нейронутые", где я рассказываю о лайфхаках по работе с Midjourney, выкладываю крутые генерации и истории, сгенерированные нейросетями.

2020
11 комментариев

Кот Квентина Тарантино - огнище 🔥 отличные возможности дает midjourney, когда удается справиться с первыми криповыми результатами

2
Ответить

Обьективно — кот Тарантино лучший, вга ;)

Ответить

Blue dyed hair kitten самый симпатяга)))

1
Ответить

А Тарантино самый реальный из синих)))

1
Ответить

Я так и не смог всучить коту в руки рюмку и вилку с грибом :(

Ответить

Это что Бегемот?

Ответить

А если вспомнить, что blue имеет ещё массу смыслов, например: испуганный, подавленный, и т.п. (см. Большой англо-русский словарь на бумаге) может быть найдется решение проще?

Ответить