В сети полно впечатляющих изображений, созданных нейросетями: от фотореалистичных портретов несуществующих людей до грандиозных фантастических пейзажей. Глядя на них, многие обыватели тоже грезят о том, чтобы творить чудеса, и запускают Midjourney или Stable Diffusion. Однако первые попытки часто приводят к разочарованию: вместо величественного дракона на экране появляется нечто несуразное, а вместо изысканной девушки в стиле ар-нуво – криповатое существо с семью пальцами. Вся суть в том, что нейросеть – не телепат, а скрупулёзный исполнитель, которому нужно дать предельно чёткое техническое задание. Поэтому, чтобы не натыкаться на подводные камни, стоит разложить по полочкам, как же составить тот самый, идеальный запрос.
Что такое промт и зачем он нужен?
Задача не из лёгких. В представлении многих промт (от англ. prompt – побуждение, подсказка) – это просто пара слов, описывающих желаемое. Отчасти это так, но лишь на самом примитивном уровне. На самом же деле добротный промт – это подробнейшая инструкция, сложносоставной код, который объясняет искусственному интеллекту не только что нарисовать, но и как именно это сделать. Казалось бы, что сложного? Просто напиши, что хочешь. Однако здесь и всплывают всё нюансы. Ведь нейросеть обучалась на миллионах изображений с их описаниями, и чтобы получить предсказуемый результат, нужно говорить с ней на одном языке, используя понятные ей категории и термины. Это же правило касается и деталей: чем их больше, тем меньше у алгоритма остаётся пространства для «самодеятельности», которая часто и приводит к плачевным итогам.
Анатомия идеального запроса
Чтобы получить качественное изображение, а не случайный набор пикселей, свой запрос стоит строить из нескольких смысловых блоков. Начать стоит с главного – с объекта или субъекта, который будет солировать на картинке. Он может быть каким угодно: «старый бородатый волшебник», «блестящий ретро-автомобиль», «одинокое дерево на вершине холма». Описать его нужно максимально подробно. Не просто «собака», а «пушистый золотистый ретривер с весёлыми глазами».
Следующий логичный шаг – это описание действия и окружения. Что делает ваш персонаж и где он находится? Наш волшебник, например, может «читать древнюю книгу в своей башне, заставленной колбами и фолиантами», а ретривер – «радостно бежать по осеннему парку, усыпанному жёлтыми листьями». На этом этапе вы создаёте сцену, задаёте контекст и настроение будущего изображения. К слову, не стоит перегружать сцену слишком большим количеством действующих лиц, если в этом нет острой необходимости. Нейросети довольно сложно даётся корректное взаимодействие нескольких персонажей в одной композиции.
Отдельно стоит упомянуть стиль. Это, пожалуй, самый интересный и творческий блок, который и превращает просто картинку в произведение искусства. Стилистических маркеров довольно много. Один из самых популярных видов – это указание на конкретную технику исполнения: «масляная живопись», «акварельный рисунок», «гравюра», «пиксель-арт». Далее следует имитация стиля известного художника. Хотите что-то сюрреалистичное? Добавьте «в стиле Сальвадора Дали». Мечтаете об импрессионизме? «В стиле Клода Моне» творит чудеса. Кроме того, можно задать принадлежность к целому культурному направлению, например, «киберпанк», «стимпанк», «фэнтези» или «готика». Ну и, наконец, огромный пласт – это фотографические стили.
Технические параметры: как говорить с машиной на её языке?
Помимо описательной части, существуют и технические команды, которые помогают управлять процессом генерации более тонко. Что насчёт ракурса? Его тоже можно и нужно задавать. «Вид с высоты птичьего полёта» (aerial view), «крупный план» (close-up), «голландский угол» (dutch angle) – всё это понятные для ИИ команды. Освещение – ещё один мощный инструмент. «Мягкий утренний свет», «драматическое освещение», «неоновые огни», «свет от свечи» – эти фразы напрямую влияют на антураж и атмосферу. То же самое касается и цветовой палитры: «монохромная гамма», «яркие кислотные цвета», «пастельные тона».
А ещё есть так называемые «негативные промты». Это настоящий спасательный круг. Если вы видите, что нейросеть упорно добавляет на изображение что-то лишнее (например, текст, водяные знаки или лишние конечности у персонажей), можно использовать специальную команду, чтобы это запретить. Обычно она выглядит как –no [объект]. Например, запрос –no hands попытается убрать с картинки руки, что иногда полезно при генерации абстрактных образов. Ещё один важный технический аспект – соотношение сторон изображения, которое задаётся командой –ar (от aspect ratio). Например, –ar 16:9 сделает картинку горизонтальной, а –ar 2:3 – вертикальной. Это очень удобно для подготовки изображений под конкретные форматы, будь то обои для рабочего стола или пост в социальной сети.
Примеры готовых промтов: от простого к сложному
Давайте разложим всё по полочкам на конкретных примерах. Предположим, наша цель – получить изображение кота. Простой запрос «кот» выдаст нам нечто усреднённое. Улучшим его.
cute fluffy ginger cat sleeping on a stack of old books, soft morning light, detailed fur, photorealistic style
Разбор: Здесь мы уточнили породу и цвет («fluffy ginger cat»), действие и место («sleeping on a stack of old books»), добавили детали по свету («soft morning light») и текстуре («detailed fur»), а также задали общий стиль («photorealistic style»). Результат будет несравнимо лучше.
А теперь усложним задачу и попробуем окунуться в мир киберпанка.
cyberpunk metropolis street at night during a heavy neon rain, reflections on wet asphalt, flying cars in the sky, massive holographic advertisements, cinematic lighting, style of Blade Runner, 8k, hyper-detailed
Разбор: Основа – «cyberpunk metropolis street at night». Атмосферу создают «heavy neon rain» и «reflections on wet asphalt». Динамику добавляют «flying cars» и «massive holographic advertisements». За качество отвечают команды «cinematic lighting», «8k» и «hyper-detailed», а «style of Blade Runner» даёт нейросети чёткий визуальный ориентир. Такой подробный запрос с большой вероятностью сгенерирует впечатляющий, сложный пейзаж.
Ну и, конечно же, портрет. С людьми всегда сложнее всего.
photo of a beautiful young woman with long red curly hair and freckles, smiling, wearing a vintage green dress, standing in a sunny summer forest, golden hour lighting, shot on a Canon EOS 5D Mark IV with a 85mm f/1.2 lens, bokeh, hyperrealistic
Разбор: Здесь львиная доля успеха кроется в фотографических терминах. Указание на конкретную камеру и объектив («Canon EOS 5D Mark IV», «85mm f/1.2 lens») помогает нейросети имитировать их оптические свойства, в частности красивое размытие фона – боке («bokeh»). «Golden hour lighting» – это свет во время заката, который придаёт кадру тёплый и мягкий оттенок. Такой скрупулёзный подход позволяет достичь поразительного реализма.
Стоит ли бояться ошибок?
Безусловно, даже самый подробный промт не всегда даёт идеальный результат с первого раза. Это нормально. Не стоит смешивать в одном запросе взаимоисключающие стили, например, «пиксель-арт» и «фотореализм». Не нужно писать целые поэмы – лучше придерживаться структуры из ключевых слов и фраз, разделённых запятыми. Процесс генерации – это не столько магия, сколько кропотливый подбор правильных формулировок, бесконечные эксперименты и постоянный анализ результатов. Что-то не получилось? Стоит попробовать переформулировать запрос, добавить деталей или, наоборот, убрать лишнее.
К тому же, разные нейросети могут по-разному интерпретировать одни и те же команды. Промт, который идеально работает в Midjourney, может потребовать адаптации для DALL-E или Stable Diffusion. Главное – не бояться пробовать и учиться на своих же ошибках. Ведь каждая новая генерация – это ещё один шаг к пониманию того, как мыслят эти удивительные цифровые художники.
Ваш холст ждёт, а кисть уже в ваших руках. Удачи в творческих экспериментах.