Перед чтением: Midjourney пока не поддерживает запросы на русском языке, поэтому я постараюсь переводить те фразы, которые использую по ходу своей статьи
Вступление
Мне довелось познакомиться с нейросетями совсем недавно. На работе дали задание — найти подходящую бесплатную картинку для сайта. В первую очередь, я вспомнил про Crayion (Бывший DALL-E), но качество результата на нем совсем меня не удивило. После этого я вспомнил о существовании Midjourney и о том, что разработчики предоставляют пробный доступ в Discord. Я подключился к серверу и сделал свою первую картинку. Результат был сногсшибательным.
Давно в своей жизни я не был так взбудоражен находкой — бесконечные возможности лежали прямо у меня в руках. Так случилось мое знакомство с нейросетью, и с тех пор я каждый день создаю что-то новое и уникальное.
p.s. к сожалению, сейчас разработчики закрыли пробный доступ к Midjourney, но тарифы начинаются от 10 долларов за 200 генераций и 30 долларов за безлимит. Мне кажется, это очень даже неплохо за такие возможности!
Путешествие начинается
Изначально я думал, что вся соль использования этой нейросети заключается в том, чтобы подобрать правильные слова. В моей голове это выглядело так — я даю алгоритму строку текста с правильными ключевыми словами, и он начинает прочесывать свою базу данных, чтобы найти нужный мне материал и отобразить его на картинке. Хотя Midjourney и вправду работает так, весь процесс не заканчивается на бесконечном подборе нужных выражений.
Функционал Midjourney реализован в дискорде, и разработчики сполна воспользовались возможностями этого сервиса. В чате есть множество настроек, с помощью которых можно сделать ваши запросы более конкретными и разогнать их качество. В этой статье я отобрал самые полезные и интересные из них, те, которые я использую каждый день для генерации своих шедевров. Сперва, мы поговорим о каждой настройке поподробнее, а в конце статьи я покажу подробный план того, как можно использовать все из них для получения желаемого.
Заряжайте свои /imagine, и погнали!
1. Настройки
Начнем с того, что у чата есть ряд настроек, которые мы будем использовать с каждой генерацией. Чтобы открыть его, введите команду ‘/settings’
Первая строчка настроек позволяет нам выбрать версию алгоритма Midjourney — я использую последнюю, пятую.
Вторая строчка дает нам возможность выбрать один из альтернативных режимов Midjourney. Niji меняет стиль всех картинок на аниме, а MJ Test непредсказуемо меняет картинки, делая их лучше или хуже. В основном, эти режимы нужны для экспериментов или для конкретных целей, поэтому большую часть времени их использовать не придется.
Третья строчка предлагает выбрать качество — я использую среднее, мне хватает.
Четвертая строчка затрагивает стилизацию — то, как Midjourney накладывает свой собственный стиль на ваши картинки. Чем больше стилизация, тем дальше по смыслу от запроса будут генерироваться изображения. Тут также выставляю среднюю настройку.
Последняя строчка довольно интересна. Для начала, у нас есть два режима: public (открытый) и stealth (секретный). Секретный режим можно активировать только с подпиской третьего уровня, цена которой 60$. При его активации ваши изображения будут скрыты из общего доступа.
Режим Remix — уникальный способ менять полученные вами картинки. Допустим, вы сделали запрос и получили такую картинку:
Вы нажимаете кнопку Make variations (сделать из картинки варианты) и перед вами всплывает модальное окно:
Вы вводите ‘pile of cartoon owls’ (кучка мультяшных сов) и получаете это:
Неплохо! Поэтому советую включить.
Последняя настройка отвечает за скорость генерации изображений. Если вы купили средний тариф (за 30$), то у вас есть 15 быстрых часов. Когда они закончатся, процесс создания картинок будет занимать немного дольше. Если вам некуда спешить, порой можно выставить медленный режим для экономии. Я же всегда использую быстрый — маловероятно, что получится вообще истратить все часы, а если это случится, то и пожалуйста.
2. Флаги
Флаги — это настройка, которую вы можете применить к каждому запросу. С помощью них можно донести до Midjourney, что именно вы хотите видеть в результате. Официально они называются параметрами, но если вы такой же разработчик, как и я, то вам будет проще узнать их под этим названием. Вы можете размещать флаги в конце вашего запроса с двумя тире и значением:
Флаг Seed (семя)
Этот флаг напоминает мне о Minecraft — вспомните, как в этой игре можно создать два идентичных мира с помощью одного семени. Используя семена, игроки, нашедшие деревню прямо на спавне, могли передать свое настроение друзьям, у других же появлялась возможность соревноваться в скоростных прохождениях, начиная с одного и того же места, чтобы было честно.
В Midjourney семена работают точно также. Указывая семя с помощью флага ‘ — seed’, в дальнейшем вы сможете точь в точь повторить получившиеся картинки. Скажем, однажды вы создадите нечто потрясающее, но вам не понравится цвет, и вы захотите поменять его.
У нас есть запрос `a blue dragon flying in the sky in the style of ghibli movies` (синий дракон в небе в стиле мультиков Гибли). Давайте добавим семя 1001 и посмотрим, что получится:
Теперь, скажем, наш любимый цвет стал красным, и мы очень хотим красного дракона. Как можно догадаться, результат выйдет очень похожим:
Правый верхний дракон выглядит совершенно идентично синему, когда как между другими есть близкое сходство. Если мы используем тот же запрос, ничего в нем не меняя, мы получим совершенно одинаковый результат:
Флаг Quality (качество)
Значения разнятся от 0.25 2. Стандартное — 1
Название флага говорит за себя — он меняет качество изображений. Давайте посмотрим на его работу в примерах:
Мы используем запрос ‘the gray rat zodiac talisman on the neck of a girl’ (талисман серой крысы Зодиака на шее девушки), изменяя качество от 0.25 до 2.
Как видите, разница просто огромная. Картинки с низким качеством не просто размылены и в тумане — их содержание совершенно нельзя различить и понять. Основное отличие низкокачественных от хороших картинок в том, что на первых у девушки на шее всегда два талисмана, пока на картинках высокого качества мы видим прекрасную девушку с очень красивым талисманом (хоть не всегда с нужным животным). Если на картинке есть второй талисман, он у нее на ухе, и совсем нам не мешает — даже добавляет антураж.
Так как стандартное значение флага — 1, советую использовать вам — q 2 с каждым запросом, чтобы не допустить мыла на чем-то прекрасном. Мы будем также использовать этот флаг в следующих примерах.
Флаг Chaos (хаотичность)
Значения разнятся от 0 до 100. Стандартное — 0
Говорю сразу: вам стоит несколько опасаться использования этого флага, ибо он обладает способностью превращать картинки в нечто похожее на галлюцинации сумасшедшего. Однако, будучи таким ужасным, некоторые получившиеся картинки могут быть крайне интересными и уникальными в сравнении с обычными. Давайте посмотрим на флаг в работе.
Мы используем запрос‘a girl lost in a mystical forest with magical animals around her — q 2’ (девочка, потерянная в таинственном лесу с магическими животными вокруг нее):
Ого! Как можно заметить, пока первый результат выглядит очень красиво и завораживающе, он очень прост и скучен по своей задумке. Он просто красив. Второй результат привносит в нашу идею новые краски и, честно говоря, больше всего мне нравится четвертая картинка. Она эмоциональна, символична и креативна, не то что картинки с первого запроса. Из этого можно сделать вывод — иногда стоит добавить немного безумия!
Флаг ‘no’ (нет)
Если нам что-то поистине не нравится — например, брокколи, и они вечно появляются в наших запросах о салате, используя этот флаг, мы можем шепнуть Midjourney на ухо: ‘Эй, дружище, прекрати совать сюда брокколи!’. Порой это бывает очень полезно. Однажды мне довелось дойти до создания голых бюстов, но к несчастью мой запрос заблокировали. Но оставим грустные истории, приступим к примерам!
Мы используем запрос ‘a classic witch’ (классическая ведьма), который вполне нам подойдет:
У всех ведьм есть эта чертова шляпа! Я ненавижу шляпы! Поэтому я в ярости пытаюсь убрать их с помощью добавления ‘ — no hat’ флага к запросу:
Удача! Одна из них без шляпы, но каким-то неясным образом остальные три все еще носят головной убор! В голове проскальзывает идея о том, что шляпа ведьмы может иметь особое название. Я лезу в Гугл:
Попалась! Пробуем еще, на этот раз добавив еще одно отрицание к запросу ‘ — no hat’ and ‘ — no dunce hat’:
Вуаля! Теперь ни одна из них не носит долбанную шляпу!
p.s. добавление отрицания в ваш запрос может не только помочь ненужные элементы, но и полностью сломать его. Пока картинки выше сделаны в практически одном и том же стиле, при написании статьи я также пробовал использовать флаг ‘ — no cap’ вместо dunce hat и вот, что я получил:
Вместо милой анимационной атмосферы, Midjourney выдал мне фотографии реальных ведьм. Поэтому советую вам быть осторожным с этим флагом, ибо он может подействовать в другую сторону и изменить все.
Флаг aspect ratio (соотношение сторон)
Когда вы создаете свои картинки, скорее всего у вас четкое предназначение для них. Например, вам очень хочется сделать себе обои на рабочий стол. Так как большинство экранов имеют соотношение сторон 16/9, обычный квадрат, в котором Midjourney генерирует картинки, нам не подойдет. Именно поэтому нам нужно поменять размеры картинки с помощью флага ar!
Он крайне прост в использовании — чтобы выбрать соотношение сторон, добавьте ‘ — ar <ширина>:<высота>’ к вашему запросу, и все готово!
3. Использование взвешивания и группировка слов
Когда вы хотите сделать что-нибудь поистине уникальное, привычные фразы вроде ‘hot dog’ (хотдог или горячая собака, если брать слова отдельно) скорее всего испортят ваши намерения увидеть красную огненную гончую из Ада. Для этого была придумана группировка и разгруппировка.
Пример не ждет! Представим, что вам захотелось сделать картинку свинок в одеяле. Вам хочется получить результат как можно быстрее, вы запрашиваете ‘pigs in a blanket’ и получаете:
Внезапно оказывается, что в английском языке эта фраза означает сосиски в тесте. Но вам так сильно хочется увидеть свинок, что вы неожиданно вспоминаете о чудесной настройке: группировка. Вы пишете: ‘[pigs in a blanket]’ (оборачиваем слова для группировки в квадратные скобки) и получаете:
Уже неплохо! Midjourney понял нас и действительно посадил животных в одеялки, хотя и не тех, которых нам бы хотелось видеть. Раз так, то мы воспользуемся еще одной настройкой: взвешиванием!
Во многих MMO RPG вес означает шанс получить конкретный модификатор на предмете. Скажем, есть редкий модификатор с весом 1000 и другой с весом 4000. Второй будет появляться при крафте или выпадении в 4 раза чаще. Здесь же мы можем использовать взвешивание, чтобы выделить определенные слова из нашего запроса и сделать их более привлекательными для Midjourney, чтобы он с увеличенным шансом добавил их в результат.
С помощью двух двоеточий (интересная тавтология!) ‘::’ мы добавляем вес слову ‘pigs’: ‘[pigs::2 in a blanket]’, указывая тем самым, что хотим видеть в два раза больше свиней по сравнению со всем остальным.
Мы получаем:
Я иногда слышу, что алгоритм бывает порой глуповат, но как мне кажется, использование правильных приемов может помочь сделать его оочень умным и понимающим!
p.s. чтобы разгруппировать картинки, можно использовать такой синтаксис: ‘hot:: dog’. Это отделит слово ‘hot’ от слова ‘dog’ и мы получим:
4. Функция describe (описать)
Честно говоря, эта штука стала моим самым великим удивлением при работе с Midjourney. Все было так: я сделал картинку и хотел повторить стиль, в котором был выполнен один из персонажей на ней. Я пошел на сабреддит Midjourney и попросил помощи. Через несколько часов мне написал добрейший человек и указал на эту прекрасную команду: ‘/describe’. Когда я опробовал ее, то не мог поверить своим глазам — всего за пару минут я получил картинку в практически идентичном стиле! Давайте посмотрим на эту функцию в деле:
Для того, чтобы использовать команду, нужно проделать пару шагов:
Прописываем /describe в чате.
-
Помещаем с компьютера картинку в появившийся квадрат:
Для наших целей мы используем изображение из диснеевского мультика Алиса в Стране Чудес:
3. Наслаждаемся непередаваемой силой знаний о языке Midjourney!
p.s. для незнающих английский эта функция может показаться ошеломляющей, но не печальтесь! Попробуйте использовать переводчик и знакомиться с каждым словом по отдельности. Тише едешь — дальше будешь.
Давайте попробуем что-нибудь вычленить и использовать для нашего запроса. Midjourney даже предлагает нам имена художников! Залезаем в гугл..
Так-так, Don Bluth — уже что-то! Теперь перейдем к словам. Советую пробовать разные варианты и выбирать то, что вам больше понравится. Я же пока соберу для себя следующий запрос: ‘Alice in Wonderland, in the style of cartoonish innocence, animated expressions, don bluth, light amber and blue, animated gifs, disney animation — q 2’ (Алиса в стране чудес, в стиле мультяшной невинности, анимационные выражения, дон блат, светло-янтарный и голубой, анимационные гифки, диснеевская анимация). На выходе же:
Боже, да из этого можно делать целые мультики (честно говоря, я думаю мы не так далеки от этого)
Таким образом, с помощью команды /describe мы почти идеально скопировали стиль нашей входной картинки. В итоге мы имеем готовый шаблон запроса, который можно переиспользовать до бесконечности! Представим, что нам захотелось сделать картинку Гермионы из Гарри Поттера в похожем стиле. Для этого, нам просто нужно поменять имя в нашем запросе (также можно поменять цвет): ‘Hermione Granger, in the style of cartoonish innocence, animated expressions, don bluth, light amber and blue, disney animation, animated gifs — q 2’. Получаем:
Немного страшно, не так ли? Складывается ощущение, что вы можете рисовать с помощью воображения. Вспомните, как вы у себя в голове фантазировали о прекрасном рисунке, но когда дело доходило до карандаша, чтобы добиться хотя бы среднего результата, приходилось долгое время оттачивать свои навыки. С помощью /describe, у нас есть возможность создавать невообразимые рисунки с помощью словаря Midjourney!
5. Загрузка ваших изображений
Теперь давайте перейдем к еще одной крутой функции — загрузке наших собственных картинок для того, чтобы Midjourney оценил их и создал что-то похожее. Как мне кажется, самым полезным способом использования этой функции будет создание посадочных (landing) страниц для сайтов. Мы возьмем за основу то, что уже было создано и понравилось нам, чтобы переделать это во что-то новое.
Хватаем нужный нам дизайн с Dribble ради примера (ссылка прикрепляется):
Для загрузки нашего изображения, нам понадобится ссылка на него (вы можете просто скопировать картинку из этой статьи) и несколько слов в придачу, потому что иначе Midjourney не сможет создать картинку:
И мы получаем:
Левый нижний вариант выглядит прямо как настоящий сайт — нешуточно! Но, скажем, нам очень понравился его дизайн, но мы хотим сделать сайт о чем-то о своем — например, о звездах! Попробуем переделать запрос под наши требования:
В результате:
Думаю, что правая левая картинка выглядит как вполне неплохой стартовый экран для разогрева нашего дизайнерского воображения. Если вы купили себе тариф за 30$, то у вас есть практическое бесконечное количество попыток, а значит — бесконечное вдохновение! Только не переборщите..
Вместе с тем, мы можем вытащить понравившуюся картинку с помощью программы вроде Lightshot или используя апскейл Midjourney и далее засунуть ее в /describe:
Возьмем отсюда пару словечек и добавим несколько флагов! У меня получилось: ‘ [landing page like this]::3, dark sky blue, uhd image, cosmic themes, soft and dreamy, whimsical sci-fi, in the style of luminous and dreamlike scenes, colorful, dark themes, lovely — q 2 — no shoes — no sneakers — no people’ (‘ [посадочная страница, как эта]::3, темно-голубой, изображение uhd, космические темы, мягкие и мечтательные, причудливая научная фантастика, в стиле светящихся и сказочных сцен, красочные, темные темы, прекрасное — q 2 — нет обувь — нет кроссовки — нет люди).
Чудесно!
Заключение
Несмотря на то, что нейросети все еще нуждаются в доработке, они уже оказывают огромное положительное влияние на мою жизнь и жизнь многих других. Эта технология не только помогает с работой и вдохновением, она предоставляет нам возможность дать нашему воображению полную свободу и создавать наикрасивейшие произведения искусства, даже не обладая навыком рисования. Я обожаю Midjourney!