![](https://habrastorage.org/getpro/habr/upload_files/e9b/6c6/f25/e9b6c6f255861de9abcf7c83d51bd923.png)
Вы знали, что не обязательно быть дизайнером, чтобы создать свой красивый пак стикеров?
Сегодня я поведаю историю создания своего стикерпака из 20+ стикеров с моим персонажем по имени Эвелинн с помощью нейросетей. Вам не понадобится мощная видеокарта и даже Photoshop(в большинстве случаев): я покажу, как сделать всё это прямиком в браузере. Это простой, доступный и бесплатный способ создания уникальных стикеров, справится даже чайник, надеюсь, он уже закипел, приступим!
![Мой набор стикеров с Эвелинн Мой набор стикеров с Эвелинн](https://habrastorage.org/getpro/habr/upload_files/e2c/06c/fbc/e2c06cfbcf5ad4ce2470ae2d62f33bf9.png)
Создание стикеров – дело творческое, и способы, которые я покажу, можно легко комбинировать, чтобы ускорить и упростить процессы.
Начну с того, что расскажу про все необходимые инструменты, а затем перейду к процессу создания стикеров, показывая каждый шаг на примерах. Вы увидите, как легко можно воплотить свои идеи в жизнь, используя нейросеть Stable Diffusion и доступные онлайн-сервисы.
Почему не Midjourney? Потому что в Stable Diffusion можно более гибко контролировать конечный результат генерации, на ходу исправлять недочёты, например пальцы или какие-либо детали. Но с недавнего времени можно прямо там же избавляться от фона, не выходя из интерфейса. Если вы боитесь SD, то это напрасно, потому что он вовсе не сложный.
ArtGeneration
![Интерфейс Artgeneration.me Интерфейс Artgeneration.me](https://habrastorage.org/getpro/habr/upload_files/949/302/107/9493021073979982aadd2d036fe0de65.png)
Если бы у меня не было видеокарты, и мне нужен был крутой онлайн-сервис для генерации изображений, то это безоговорочно artgeneration.me.
Совсем недавно реализовали возможность добавлять LoRA (это небольшие модели для определённых задач) и завезли мою самую любимую XL-модель - animapencil XL.
Сервис бесплатный, но есть дневное ограничение по генерациям. Но я сделал для вас реферальную ссылку, по которой вы получите неделю PRO-аккаунта, хотя и по истечении недели функционала нам достаточно.
RunDiffusion
![Сервис RunDiffusion Сервис RunDiffusion](https://habrastorage.org/getpro/habr/upload_files/de0/366/bca/de0366bca2d2b3abf91333da18894e32.png)
Генеративный ИИ в облаке. Сервис платный, от 50 рублей час. Лично я им ещё не успел попользоваться, но внутри есть выбор: Automatic1111 или Fooocus. Если вы не знакомы с интерфейсом Automatic1111 или вообще не сталкивались ранее с генерацией изображений, то рекомендую вам выбирать Fooocus, если остановитесь на этом сервисе. Разницы между ними нет, кроме интерфейса, а у Fooocus он намного более понятный.
![](https://habrastorage.org/getpro/habr/upload_files/813/d15/f77/813d15f77bc3107a5926f5ffdec3adf8.png)
Fooocus локально
![Интерфейс Fooocus Интерфейс Fooocus](https://habrastorage.org/getpro/habr/upload_files/7bf/9a6/988/7bf9a6988b9e18031a47d66049871841.png)
Если вы счастливый обладатель видеокарты NVIDIA с более чем 8 GB видеопамяти, то поздравляю, вам доступна установка интерфейса Fooocus локально!
Чтобы установить оригинальный Fooocus, переходим по ссылке на GitHub и нажимаем на >>> Click here to download <<<.
Распаковываем архив в любую удобную папку без кириллицы в названии.
![](https://habrastorage.org/getpro/habr/upload_files/bef/935/afd/bef935afd70990c8df2ecb4cf8b2fbff.png)
Далее видим следующую картину:
![](https://habrastorage.org/getpro/habr/upload_files/117/0ba/826/1170ba826b17532c8f37000670d3c555.png)
Не вдавайтесь в подробности, просто запускайте run.bat. У вас докачаются необходимые файлы и Fooocus будет готов к работе.
Интерфейс Forge
![](https://habrastorage.org/getpro/habr/upload_files/32e/48a/e25/32e48ae257a8a43d151cf0884e9a7c80.png)
Если вы уже опытный юзер, то можете использовать Forge, тем более что сейчас в нём вообще можно генерировать изображения на прозрачном фоне. Со стикерами я не пробовал, но если вам интересно, советую посмотреть видео по Forge от моего товарища Nerual Dreming. Я же буду рассказывать и показывать всё на интерфейсе Fooocus, а если вы хорошо ориентируетесь в Forge, то сможете легко адаптировать мои советы и для него.
Всё, что я буду рассказывать далее, можно применять на каждом из сервисов.
Подготовка к работе
![](https://habrastorage.org/getpro/habr/upload_files/c28/903/d28/c28903d282e6935692f5dcd7db0c27d8.png)
На этом этапе мы делаем заготовки для будущих стикеров. Я использую модель animagineXL, но позже попробовал на animapencilXL и обе мне очень нравятся. Ну и из LoRA нам понадобится только Stickers Redmond.
Ах да, забыл рассказать, что к чему!
Если вы уже знаете интерфейс Fooocus, то переходите к этапу 1.
Модели или чекпоинты - обученные модели нейронных сетей. Модели обладают пониманием внешнего вида широкого спектра объектов, таких как люди, фауна, здания и многое другое.
Я подразделяю модели на реалистичные, мультяшные, аниме-модели и все остальные.
LoRA - это маленькие модели. Если большие чекпоинты нужны для отрисовки большого спектра объектов, то LoRA нужны для определённых объектов, стилей, персонажей и т.п.
Это если очень кратко. Просто повторяйте за мной и со временем вы поймёте, что за что отвечает.
Выше я перечислил модели, которые мы будем использовать. На CivitAI вы сможете найти всевозможные модели на любой вкус и цвет. Знаю, что вам захочется поэксперементировать и использовать что-то другое, поэтому обращайте внимание на пункт Базовая Модель. Вам нужны модели с архитектурой SDXL 1.0.
![](https://habrastorage.org/getpro/habr/upload_files/68e/495/e27/68e495e2724463cc77bcb676fdc9965c.png)
Модели и LoRA мы скачиваем и отправляем в корневую папку Fooocus>models>checkpoints или loras.
![](https://habrastorage.org/getpro/habr/upload_files/429/295/8a5/4292958a50306e3f847dda7670281daf.png)
Всё! Запускаем заново интерфейс через run.bat.
В браузере откроется следующее окно:
![](https://habrastorage.org/getpro/habr/upload_files/b6e/d1a/300/b6ed1a3004f24b16f03357a14308b548.png)
Нажимаем Advanced и справа вылезает менюшка. Она нам и нужна.
Слева снизу мы видим окно Prompt и серую кнопочку Generate. В окно мы вписываем запрос, т. е. то, что мы хотим видеть на изображении.
Быстрый экскурс по интерфейсу:
![](https://habrastorage.org/getpro/habr/upload_files/3e4/f6d/b64/3e4f6db643fc96c15610a49408955ea3.png)
Всё, что нам по началу нужно будет от первой вкладки, это:
Разрешение - как понятно из названия, разрешение твоего изображения. Рекомендую поставить 1024х1024 и не париться.
Image Number - количество изображений на выходе. Оптимально 4.
Negative Prompt - то, чего не должно быть на изображении вписываем в это окно.
![](https://habrastorage.org/getpro/habr/upload_files/585/3a4/762/5853a4762b727323174f2abd995edc12.png)
Стили. Для стикеров снимаем все галочки, они будут только мешать.
![](https://habrastorage.org/getpro/habr/upload_files/d94/bc5/5e1/d94bc55e1771c594df9b2df4e7384677.png)
Уже знакомые нам модели и LoRA. Выбираем то, что мы скачали и выставляем, как на скриншоте(можете подвигать и выставить по вкусу, но это лучшие параметры, которые я вывел).
![](https://habrastorage.org/getpro/habr/upload_files/4e9/e98/37d/4e9e9837d63a83930ca2cb66f90ba3c4.png)
Во вкладке Advanced выставляем такие параметры. Остальное не понадобится.
Бегло пробежались по интерфейсу, но если поставите много плюсов, расскажу про интерфейс подробнее, какой параметр за что отвечает. В рамках данного гайда это всё будет очень долго.
Этап 1. Генерируем стикеры
![](https://habrastorage.org/getpro/habr/upload_files/0fe/420/c26/0fe420c26d1f6e53723249c9fcf92d8a.png)
Для стикеров должен быть простой промпт(текстовый запрос). Но в него вы должны вложить самые важные черты персонажа и его внешности. Вот что использовал я:
sticker, simple background, pretty beautiful 1girl with short white hair, hair buns, white t-shirt, freckles, blue eyes, __Эмоция, поза__
В конце обязательно вставлял описание эмоции или позы, что и есть самое главное в стикере. Ниже я собрал то, что использовал, приходилось перебирать, некоторые позы или эмоции на английском называются не так, как я предполагал:
Эмоции:
light smile / light smirk - улыбающийся / с ухмылкой
Smirk - злобная ухмылка
angry, irritated, - злой, раздражённый
surprised expression, amazed, open mouth - удивлённый
one eye closed, winking, - подмигивающий
serious - серьёзный
crying, sad - грустный, со слезами
embarassed, confused, - смущённый
focused on - сфокусирован на предмете
Жесты:
thumb up - жест "лайк"
showing thumb with his hand - показывает пальцем на смотрящего
waving her/his palm - махает рукой, приветствует
heart shaped hands (понадобится лора AwyHandHeartXL, вес 0.8) - руки сердечком
saluting - отдающий честь
hands on head - держится за голову
shrugging - пожимать плечами
Часто приходилось гуглить сайты с названиями аниме-эмоций:
![](https://habrastorage.org/getpro/habr/upload_files/0ad/fe5/5eb/0adfe55eb9d06b0ef393dffc841d512b.png)
Суть в том, что не следует всегда доверять переводчику, я чаще дополнительно гуглю перевод того или иного слова или выражения на английский. Ну а использую я DeepL как переводчик.
Давайте начнём.
sticker, simple background, pretty beautiful 1girl with short white hair, hair buns, white t-shirt, freckles, blue eyes, waving her palm
Негативный запрос, который я использовал:
bad quality, bad anatomy, worst quality, poor quality, monochrome, low quality, low resolution, blurry, blur, watermark, lowres ugly, disfigured, duplicate, mutated, bad art, blur, blurry, dof
Разрешение в основном я использовал либо 1024x1024, либо 768x1280.
Вес LoRA - 1.4.
![](https://habrastorage.org/getpro/habr/upload_files/2a8/024/5fd/2a80245fd41eb933f3e445a55548124d.png)
Самая удачная - четвёртая картинка. Её не нужно расширять, фон получился белым, как я и задумывал. Будем использовать четвёртую, иногда фон может не получаться, как на первых вариантах, в таком случае просто повысьте вес white background(выделите white background в промпте и нажмите ctrl + стрелочка вверх).
![](https://habrastorage.org/getpro/habr/upload_files/23d/c66/e60/23dc66e60cbcdc62cf1a4074d8a7eb24.png)
Далее я улучшаю глаза и лицо, убираю артефакты с помощью инструмента Inpainting.
![](https://habrastorage.org/getpro/habr/upload_files/2b2/35d/444/2b235d444a831b2e6413011a86d679f1.png)
Перетаскиваю изображение в окно и рисую маску, сначала выделяю глаза.
В Inpainting есть три режима:
Inpaint - стандартный режим. Чаще всего использую, чтобы подправить руки/убрать артефакты и т. п.
Improve - режим для повышения детализации отдельных частей изображения(лицо, глаза, руки, одежда и т.п.)
Modify - используется для добавления объектов, смены фона и т. п.
Это в общих словах, на самом деле в каждом используется разная denoising strenght и inpaint model. Но в этой статье не будем сильно углубляться.
![](https://habrastorage.org/getpro/habr/upload_files/b83/4a3/926/b834a392662862cf1b74e4a831919f7e.png)
Выделяю глаза. Советую использовать горячие клавиши в окне Inpainting:
![](https://habrastorage.org/getpro/habr/upload_files/0a2/0f9/429/0a20f94299c9192015b008456b5a1f14.png)
![](https://habrastorage.org/getpro/habr/upload_files/34f/0ba/e11/34f0bae1171c07f73f98980aafee457a.png)
Чаще всего использую уже готовые подсказки-шаблоны снизу.
Генерируем.
![](https://habrastorage.org/getpro/habr/upload_files/466/305/761/46630576164fb5bec3417f8129bdf49c.png)
Слева - глаза после Improve Inpainting - больше деталей и насыщенности.
Теперь уберём всё ненужное и артефакты, переключаемся в классический режим Inpaint.
![](https://habrastorage.org/getpro/habr/upload_files/35d/b3c/df3/35db3cdf3f69158645402b5cbb4b07fe.png)
Вот что получаем в конечном итоге: Upscale я не делаю, по причине того, что в самом Telegram стоит ограничение на загрузку стикеров в 512x512 пикселей. Вместо этого я делаю по очереди Improve Inpaint на глазах, лице и одежде. Далее в статье покажу, как я добавлял принт своего лого на футболку.
Давайте ещё пару примеров и перейдём к следующему шагу.
![](https://habrastorage.org/getpro/habr/upload_files/862/e34/a0c/862e34a0c609323d088e8730578f81d2.png)
sticker, simple background, pretty beautiful 1girl with short white hair, saluting, one eye closed, hair buns, white t-shirt, freckles, blue eyes
Первый вариант - самый удачный. Доработаем его.
Для начала используем Outpaint - расширим изображение вправо. Для этого переключаемся в Inpaint и выбираем классический Inpaint or Ouptaint Method. И выбираем расширение влево.
![](https://habrastorage.org/getpro/habr/upload_files/fb9/9fe/ef6/fb99feef6dd17c58a04745b4adfce57b.png)
Отлично, теперь левую руку видно полностью. Делаем всё то же самое: чистим артефакты и далее Improve Inpaint.
Лайфхак: если принт с футболки или т. п. ну никак не хочет убираться, то попробуйте оставить поле Prompt пустым, в данном случае это помогло
![](https://habrastorage.org/getpro/habr/upload_files/b86/506/d23/b86506d2322965bc6b365f5d04aab039.png)
Вот я попробовал следующий запрос, используя конструкцию "shy fingers":
sticker, white background, pretty beautiful 1girl with short white hair, shy fingers, confused, hair buns, white t-shirt, freckles, blue eyes
![](https://habrastorage.org/getpro/habr/upload_files/49a/c2d/b9f/49ac2db9f802c4898c826bf0c8c9fa73.png)
![](https://habrastorage.org/getpro/habr/upload_files/c38/112/b9d/c38112b9ddab6ecb6a70eb13b92a023a.png)
Или сделаем грустную эмоцию:
![](https://habrastorage.org/getpro/habr/upload_files/a41/90c/6a0/a4190c6a08128547ef04e7dbd5499ab4.png)
Думаю, подход понятен. Главное - яркая эмоция, которую мы достигаем через запрос.
Переходим к следующему шагу.
Этап 2. Финалим стикер
Сначала необходимо удалить фон. Сделать это можно двумя способами.
Способ 1. Для ленивых.
Просто используем онлайн-сервисы, вот те, которые использовал я:
![](https://habrastorage.org/getpro/habr/upload_files/fce/2ef/f5f/fce2eff5fe7d7c8d73572750706e52e1.png)
Сразу скажу, что края получаются не всегда гладкими, а волосы у женских персонажей не всегда правильно вырезаются. Но зачастую всё чётко, и после обводки не особо будет заметно.
Но, для таких задротов как я, есть второй способ. И он плавно перетекает в следующий микро-этап.
Загружаем в фотошоп наш будущий стикер. В слоях двойным кликом снимаем замочек.
![](https://habrastorage.org/getpro/habr/upload_files/0cb/7cc/bb4/0cb7ccbb455c12f2a44029e6aa560d9e.png)
Далее берём в руки мышку и выбираем инструмент "Перо".
![](https://habrastorage.org/getpro/habr/upload_files/69b/1ab/9ec/69b1ab9ecaedb1eb82d92d7174bd6de8.png)
И начинаем по контуру обводить нашу тян. Это "чуть" дольше, чем удалять фон через онлайн-сервис, но это классический и надёжный метод.
![](https://habrastorage.org/getpro/habr/upload_files/702/429/f1d/702429f1d673ac6a3676c72082a64fd0.png)
Так же в последних версиях Photoshop появилась функция "Удалить фон", заметил я её только сейчас, работает весьма неплохо, остаётся подчистить артефакты:
![](https://habrastorage.org/getpro/habr/upload_files/407/40a/f01/40740af01623b2d5f66d5ed6b1d414b2.png)
![](https://habrastorage.org/getpro/habr/upload_files/00d/920/21f/00d92021fa742da38d7c95537192b985.png)
Но я покажу, что делать, если у вас более старая версия.
После того, как выделили контур, то жмём выделение. Не переживайте, если у вас остались мелкие "белые" области, их можно будет очистить таким же способом.
![](https://habrastorage.org/getpro/habr/upload_files/fa5/761/ff1/fa5761ff1163b03e6372245b10c1ba0f.png)
![](https://habrastorage.org/getpro/habr/upload_files/83a/7af/496/83a7af496d5a1875e9ba967f74618d46.png)
Я обычно ставлю растушёвку 3-4, но это так же можно поправить на глаз с помощью "Уточнить край".
![](https://habrastorage.org/getpro/habr/upload_files/20c/719/ebb/20c719ebb975b13d6722e32877c9e5ac.png)
И справа будет панель. Настраиваем всё по вкусу.
Далее просто возвращаемся к изображению и жмём Ctrl + X, чтобы вырезать тяночку.
![](https://habrastorage.org/getpro/habr/upload_files/f71/33d/b27/f7133db2757d91b7dfa69a8beb1c6fc1.png)
В окне "Слои" добавляем новый и переносим на него персонажа. Готово, вы избавились от фона!
Довырезаем кусочки с помощью пера и выделения таким же способом.
Следующий шаг - добавление обводки. Её так же можно сделать онлайн с помощью различных сервисов, но я продолжу работу в Photoshop.
![](https://habrastorage.org/getpro/habr/upload_files/fa1/962/7b7/fa19627b7ce53108f6abde55db50c614.png)
Жмём правой кнопкой мыши по слою с изображением - параметры наложения
![](https://habrastorage.org/getpro/habr/upload_files/004/6e1/2bb/0046e12bb4268d74522f3de6c3251ffd.png)
![](https://habrastorage.org/getpro/habr/upload_files/922/5a5/ee8/9225a5ee83e5ebf45e0be32ae3b78d70.png)
Нам нужны обводка и тень.
Делаем снаружи белую обводку, советую делать на всех стикерах одинаковое значение размера обводки, просто запомните число.
![](https://habrastorage.org/getpro/habr/upload_files/9be/d12/986/9bed1298666b0dfc868ef95da60fd291.png)
Необязательно делать слишком заметную тень, такой вполне достаточно
![](https://habrastorage.org/getpro/habr/upload_files/797/4ab/9ce/7974ab9ceb30c6598daadca2f7293f74.png)
Остался текст. Тут по ситуации. Если он нужен в стикере - добавляем. Я использовал вот эту подборку популярных шрифтов из мемов. Вы можете использовать любой по вкусу либо не использовать.
К тексту я так же добавляю небольшую тень и чёрную обводку для читабельности
Далее нам нужно подогнать разрешение так, чтобы Telegram принял стикер.
Разрешение - 512х512, а максимальный размер - 512 КБ.
В Photoshop жмём Изображение - Размер изображения. Выставляем 512х512.
![](https://habrastorage.org/getpro/habr/upload_files/e20/207/3d4/e202073d4852091e86e257f164bacb31.png)
Обещал показать, как поместить принт на футболку.
1. С помощью пера обводим по контуру вещь (в данном случае футболку). Можно не полностью, а участок, где будет принт.
2. Выделяем область.
3. Далее используем "Уточнить край", ползунки по вкусу.
![](https://habrastorage.org/getpro/habr/upload_files/d7b/171/e26/d7b171e26663264fd8b25dc6ffbee3d0.png)
4. Копируем выделенную шмотку на новый слой и снимаем эффекты обводки и тень(жмём на глазик):
![](https://habrastorage.org/getpro/habr/upload_files/e69/167/319/e691673193cee50708691bd35c04db3c.png)
5. CTRL + J. Дублируем слой с футболкой.
6. CTRL + G. Создаём группу из скопированного слоя(перед этим нажмите на него):
![](https://habrastorage.org/getpro/habr/upload_files/235/371/d65/235371d65cbb20ed5018fb4a19d46085.png)
7. Жмём на слой в группе и создаём корректирующий слой "Уровни":
![](https://habrastorage.org/getpro/habr/upload_files/213/866/fb4/213866fb4aca7b2ebbf8aee3a3bdb1f1.png)
![](https://habrastorage.org/getpro/habr/upload_files/db9/84c/f83/db984cf83e0fe445552a21c1145b2b2f.png)
8. Жмём нижнюю кнопочку, которую я выделил овалом и подстраиваем верхние ползунки, увеличивая контрастность. Сделайте так, чтобы было видно максимум складок.
![](https://habrastorage.org/getpro/habr/upload_files/89a/be3/186/89abe31867b95f8119858b3fb0d68658.png)
9. Переключаемся на нижний слой с футболкой и переносим лого. Правая кнопка мыши - создаём обтравочную маску
![](https://habrastorage.org/getpro/habr/upload_files/f95/106/f8d/f95106f8dbe5b045835ecaf6b5dd6d7a.png)
10. Переключаемся на группу и выбираем режим наложения "Экран" или "умножение", что лучше подойдёт.
![](https://habrastorage.org/getpro/habr/upload_files/aa0/3fe/0b2/aa03fe0b2f867ae26ba61cc55e7f6c42.png)
Получаем следующий результат. Теперь у Эвелинн средняя зарплата по России. Лого выглядит более естественно, видно засветы, это лучше, чем просто перенести изображение и оставить как есть.
![](https://habrastorage.org/getpro/habr/upload_files/07c/332/e4a/07c332e4a1dca09f7de57fdac9e4a7b7.png)
Можно ещё поиграться с перспективой и т. п.
Вернёмся к стикерам. После того, как подогнали размер и вес файла, сохраняем его в формате PNG:
![](https://habrastorage.org/getpro/habr/upload_files/339/7ed/d0b/3397edd0bcd15a3cfcadd03a61a4ed10.png)
И заливаем в Telegram-бота Stickers. Это официальный бот Telegram.
![](https://habrastorage.org/getpro/habr/upload_files/119/872/c34/119872c34ff6cd25558dfc96759109c9.png)
Выбираем команду /newpack, чтобы создать новый набор стикеров.
Далее вводим название стикерпака и загружаем наш первый стикер
![](https://habrastorage.org/getpro/habr/upload_files/0dd/5dd/deb/0dd5dddeb0dd1f3c253bc48e3b6d6fbb.png)
![](https://habrastorage.org/getpro/habr/upload_files/eb8/ed8/c31/eb8ed8c31d363d3deadd96d298a70465.png)
Не забудьте снять галочку со "Сжать изображение"
![](https://habrastorage.org/getpro/habr/upload_files/042/1c9/d5b/0421c9d5ba37caeb76b18cdfd9ee2cca.png)
Далее присылаем от 1 до 3 смайлов, подходящих к стикеру.
![](https://habrastorage.org/getpro/habr/upload_files/894/4f4/cc1/8944f4cc1f627eb2b88ffa034a3f70a2.png)
Готово. Стикер добавлен! Повторяем процесс, пока не надоест :)
Как видите, совсем не сложно создать свой набор стикеров с нуля, благодаря этой статье, вы теперь знаете, как!
Используйте мой набор стикеров с Эвелинн, подписывайтесь на меня в Telegram и добавляйте папку с нашими каналами по нейросетям, удачных генераций!
Комментарии (11)
Moog_Prodigy
20.07.2024 18:55+1Я для удаления фона изначально пишу промт "на зеленом фоне", "на контрастном фоне", потом этот фон легко убирается. Но такой запрос может вносить непонятки в сложных сценах, да.
iROOT
Результат удаления фона через онлайн сервис можно поправить, если взять альфа канал и использовать как маску для исходного изображения, дальше вручную правятся косяки в маске. Это если нет встроенной нейронки, например в Gimp. Так в macOS есть функция удаления фона, но она иногда края сильно размывает, этот способ выручает.
Wonderlove Автор
Спасибо! Попробую)