Промт для генерации руки (с примерами готовых промтов)

Шестипалые монстры, спагетти вместо фаланг и суставы, выгнутые в неестественную сторону, — знакомая картина для любого, кто хоть раз пытался создать человека с помощью нейросети? Эта проблема уже давно стала мемом в сообществе цифровых художников, ведь именно конечности (особенно кисти рук) остаются ахиллесовой пятой даже самых продвинутых моделей. Казалось бы, искусственный интеллект, способный сдать экзамен на адвоката или написать симфонию, должен справляться с такой банальной задачей, как отрисовка пяти пальцев. Однако на практике мы раз за разом натыкаемся на анатомические казусы, способные испортить даже самую гениальную композицию. Но чтобы превратить этот цифровой кошмар в анатомически верный шедевр, придется изрядно попотеть над текстовым запросом, подбирая ключи к «чёрному ящику» алгоритма.

Почему нейросети ошибаются?

Сложно ли понять логику машины? Да, но попробовать стоит. Корень зла кроется в том, как именно нейросети обучаются. Львиная доля изображений в датасетах содержит руки, но зачастую они смазаны, перекрыты другими объектами, сцеплены в замок или частично обрезаны кадром. Для алгоритма рука — это не сложная система костей и сухожилий, а просто набор пятен, которые часто появляются рядом с рукавом. Машина не знает, что пальцев должно быть строго пять. Она видит, что их «много» или «пучок». Отсюда и растут ноги (а точнее, лишние пальцы) у проблемы. Более того, нейросети плохо понимают трёхмерную геометрию: они не осознают, где начинается ладонь и заканчивается мизинец, если ракурс хоть немного отличается от стандартного паспортного фото. Поэтому наша задача — стать для ИИ анатомическим атласом и жёстким редактором одновременно.

Анатомия запроса

Начинать построение промта нужно не с абстрактных понятий, а с жёсткой конкретики. Если вы просто напишете «hand» или «hands», результат вас, мягко говоря, не порадует. Здесь работает принцип «чем детальнее, тем лучше». Скелетом вашего запроса должны стать термины, описывающие структуру. Обязательно стоит использовать слова «detailed fingers» (детализированные пальцы) и «anatomically correct hand» (анатомически правильная рука). Это базовые кирпичики. Но останавливаться на этом не стоит.

Далее следует добавить уточнения, касающиеся кожи и суставов. Нейросеть часто «замыливает» костяшки, делая руку резиновой. Чтобы этого избежать, вписываем «knuckles», «veins» (если уместно), «finger nails» и «skin texture». Это придает веса токенам, отвечающим за реализм. А вот отличным дополнением станет указание конкретного действия или позы. Статичная «просто рука» сбивает алгоритм с толку. Лучше написать «hand gripping a sword» (рука, сжимающая меч) или «fingers pointing at the sky» (пальцы, указывающие в небо). Контекст помогает модели понять, как именно должны располагаться фаланги.

Что писать в Negative Prompt?

Обязательно ли заполнять поле негативного промта? Безусловно. Без этого «спасательного круга» ваши шансы на успех стремятся к нулю. Именно здесь мы отсекаем все те ужасы, которые так любит генерировать ИИ. Стандартный набор слов здесь не сработает, нужна тяжелая артиллерия. Первым делом вписываем «extra fingers» (лишние пальцы) и «missing fingers» (отсутствующие пальцы). Это база. Но этого мало.

Опытные промпт-инженеры настоятельно рекомендуют добавлять такие конструкции, как «fused fingers» (сросшиеся пальцы) и «malformed hands» (деформированные руки). Ведь часто нейросеть пытается объединить два пальца в один широкий отросток. Также не стоит забывать про «mutated hands» и «poorly drawn hands». А если ещё вспомнить про жуткие длинные конечности, то полезно будет добавить «long neck» (почему-то это коррелирует с длиной пальцев в некоторых моделях) и «bad anatomy». Отдельно стоит упомянуть специфический токен «polydactyly» (полидактилия) — медицинский термин, обозначающий многопалость, который модели понимают довольно хорошо. Чем больше синонимов уродства вы перечислите, тем чище будет итоговый результат.

Готовые формулы: Портретный реализм

Задача не из лёгких. Допустим, вам нужен крупный план лица девушки, которая поднесла руку к щеке. Это классическая поза, на которой сыпятся многие новички. Добротный рабочий промт может выглядеть следующим образом. Начинаем с описания сцены: «portrait of a young woman with hand on cheek». Затем сразу же наслаиваем анатомические маркеры:

beautiful detailed hand, distinct 5 fingers, manicured fingernails, realistic skin pores, hyperrealistic, 8k

Обратите внимание, что мы принудительно указываем число «5» и слово «distinct» (отчетливые), чтобы пальцы не сливались.

Для негативного промта в этом случае используем массивную конструкцию. Вписываем туда:

bad hand, extra digits, fewer digits, cropped fingers, blur, low quality, distortion

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

Динамика и взаимодействие с предметами

А что делать, если рука должна что-то держать? Здесь сложность возрастает в геометрической прогрессии. Проблема в том, что нейросеть часто сращивает предмет с плотью. Представьте себе руку, держащую яблоко. Промт для такой сцены должен быть максимально описательным в плане физики захвата. Попробуйте такой вариант:

close up of a male hand holding a red apple tight, strong grip, knuckles visible, detailed thumb placement, cinematic lighting

Важный нюанс здесь — упоминание большого пальца («thumb placement»). Часто ИИ забывает про него или рисует его с другой стороны ладони. Указание на положение большого пальца помогает алгоритму сориентироваться в пространстве. А в негативный промт для таких сцен стоит добавить «floating objects» (парящие объекты) и «object merging with hand» (предмет, сливающийся с рукой). Это, конечно, не панацея, но количество брака снижает заметно.

Стилизация: Арт и Иллюстрация

Требуется ли такая же строгость для рисованных стилей? И да, и нет. С одной стороны, аниме или масло прощают некоторые анатомические вольности. С другой — кривая рука способна убить эстетику даже самого воздушного арта. Если вы генерируете в стиле аниме, промт будет немного иным. Ключевые слова здесь меняются. Вместо «realistic skin» лучше использовать «perfect anatomy, anime style hand, elegant fingers».

Пример готового промта для мага, колдующего заклинание:

anime wizard casting a spell, hand stretched forward, glowing runes around fingers, dynamic pose, Makoto Shinkai style

В негатив нужно обязательно добавить «webbed fingers» (пальцы с перепонками), так как стилизованные модели очень любят рисовать перепонки между пальцами, имитируя упрощённую рисовку. К слову, в арт-стилях хорошо работает токен «detailed drawing», который заставляет нейросеть прорисовывать контуры чётче, не оставляя их размытыми.

Постулаты работы с весами

Нельзя не упомянуть про весовые коэффициенты. В большинстве интерфейсов (будь то Automatic1111 или ComfyUI) вы можете усилить влияние конкретного слова, заключив его в скобки. Это мощнейший инструмент. Если нейросеть упорно игнорирует ваши мольбы о нормальной руке, попробуйте конструкцию «(anatomically correct hand:1.3)» или «((detailed fingers))». Цифра 1.3 означает, что нейросеть будет уделять этому токену на 30% больше внимания, чем остальным.

Однако не стоит перебарщивать. Если выкрутить вес до 1.5 или 2.0, изображение может «посыпаться»: появятся артефакты, цвета станут кислотными, а сама рука превратится в нечто абстрактное. Баланс здесь — наше всё. Лучше мягко намекнуть алгоритму, что руки важны, чем кричать на него цифровым криком. Оптимальный диапазон усиления обычно лежит в пределах 1.1–1.3.

Сложно ли исправить готовый результат?

Иногда, несмотря на все ухищрения, рука всё равно получается «не очень». Бьёт по бюджету времени это сильно, но выбрасывать картинку рано. На помощь приходит Inpainting (дорисовка). Это техника, когда вы выделяете маской только неудачную руку и просите нейросеть перерисовать именно этот участок. Промт для инпейнтинга должен быть коротким и предельно точным. Не описывайте всю картину. Напишите просто: «perfect hand, 5 fingers».

При этом параметр «Denoising strength» (сила перерисовки) играет решающую роль. Если поставить слишком мало (ниже 0.4), рука почти не изменится. Если слишком много (выше 0.7), нейросеть может нарисовать там вообще другой объект, например, букет цветов или лапу кота. Золотая середина обычно находится где-то около 0.5–0.6. Это кропотливый, но эффективный способ, который часто выручает, когда композиция идеальна, а конечности подкачали.

ControlNet: Тяжёлая артиллерия

Для тех, кто хочет полного контроля, существует технология ControlNet. Но это уже не совсем про текстовые промты, а про использование референсов. Тем не менее, промт при работе с ControlNet тоже важен. Вы скармливаете нейросети фото своей собственной руки в нужном ракурсе, а в промте описываете, какой она должна стать (например, «robotic hand» или «monster claw»).

Это настоящий кладезь возможностей для художников. Ведь ControlNet берет контуры вашей фотографии и натягивает на них текстуру из промта. Ошибки анатомии здесь практически исключены, так как «скелет» задаете вы сами. Однако даже здесь текстовое сопровождение должно быть грамотным. Не забывайте про «high quality» и «detailed texture», чтобы результат не выглядел как дешёвый фотошоп.

Частые ошибки новичков

Чего делать категорически не стоит? Во-первых, писать противоречивые промты. Если вы напишете «hand hidden in pocket» (рука в кармане) и одновременно «detailed fingers», нейросеть сойдет с ума и нарисует пальцы прямо поверх ткани брюк. Во-вторых, избегайте слишком длинных и поэтичных описаний рук. Фразы вроде «рука, тянущаяся к звезде надежды сквозь тернии времени» машина не поймёт. Ей нужна сухая, техническая конкретика: «reaching hand, upward gesture».

Ещё одна распространённая ошибка — игнорирование разрешения. Руки часто получаются плохо на общих планах (full body shot), потому что на них приходится слишком мало пикселей. Лица нейросети научились восстанавливать, а вот руки — пока нет. Если вы генерируете ростовую фигуру, будьте готовы к тому, что кисти придется править через Inpainting или ADetailer (специальное расширение для автоматической коррекции деталей).

Специфический лексикон и токены

Есть ряд слов, которые работают как магические заклинания. Опытные пользователи заметили, что добавление имен определенных художников улучшает анатомию. Такие мастера, как «Greg Rutkowski» или «Alphonse Mucha», имеют в своих работах чётко прорисованные конечности, и нейросеть подтягивает эти знания. Также полезно использовать термины из фотографии и 3D-моделирования: «depth of field» (глубина резкости), чтобы сфокусировать внимание на руке, если она на переднем плане, или «Unreal Engine 5 render» для повышения общей чёткости геометрии.

Кстати, слово «gloves» (перчатки) иногда спасает ситуацию. Если вам не принципиально наличие голой кожи, наденьте на персонажа перчатки. Нейросетям проще рисовать ткань и гладкие формы, чем сложные складки кожи и ногти. Это, конечно, компромисс, но иногда он того стоит.

Нюансы моделей и версий

Разные модели «думают» по-разному. Midjourney v6, например, справляется с руками на порядок лучше, чем старенькая Stable Diffusion 1.5. Для «старушки» SD 1.5 требуются огромные негативные промты и танцы с бубном. А вот современные модели типа SDXL понимают короткие запросы лучше. Там достаточно написать «hand» и получить приемлемый результат.

Однако и у гигантов бывают сбои. Иногда Midjourney может нарисовать руку с тремя фалангами на пальце. Тут в бой вступает кнопка «Vary (Region)» — аналог инпейнтинга. Но принцип составления текстового запроса остается неизменным: структура, количество, действие. Универсального рецепта, работающего в 100% случаев, не существует, но понимание механики токенов приближает нас к идеалу.

Двойные стандарты восприятия

Интересно, что наш глаз склонен прощать ошибки на периферии. Если рука находится в тени или в движении («motion blur»), мы не будем пересчитывать пальцы. Этим можно пользоваться. Добавьте в промт «shadows» или «blurred background», чтобы сместить акцент. Ведь зрителю важен образ в целом, а не анатомический атлас. Но если рука — центр композиции, например, держит драгоценный камень, тут уж извините, придется постараться.

В таком случае выручит «double exposure» (двойная экспозиция) или макросъёмка. Промт:

macro shot of fingers holding a diamond, sharp focus, hyperdetailed

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

Подводные камни генерации жестов

Сложнее всего даются специфические жесты. Знак «peace» (виктория), скрещенные пальцы или кукиш — это высший пилотаж для ИИ. Проблема в перекрытии: одни пальцы закрывают другие. Чтобы получить внятный жест «класс» (thumbs up), нужно так и писать:

thumbs up gesture, hand fist with thumb distinct

Слово «distinct» (отчетливый) здесь ключевое. Оно запрещает пальцам сливаться в единую массу.

Для знака мира хорошо работает промт:

peace sign, two fingers up, other fingers curled in palm

Описание того, что делают остальные пальцы («curled in palm» — сжаты в ладонь), критически важно. Иначе нейросеть может оставить их торчать обрубками или нарисовать ещё пару-тройку лишних. Да и самому процессу генерации это добавляет стабильности.

Удачи в творческих экспериментах! Помните, что генерация — это не лотерея, а управляемый процесс. Каждый токен в вашем запросе — это мазок цифровой кистью. Будьте терпеливы, экспериментируйте с формулировками и не бойтесь использовать негативные промты на полную катушку. В конце концов, укрощение строптивых нейросетей — это навык, который приходит с опытом, и однажды ваши сгенерированные руки станут неотличимы от фотографий.