Stable Diffusion: возможности нейросети и интеграции с помощью Albato
В наше время нейросетки, генерирующие изображения, достигли впечатляющих результатов. Теперь, увидев интересную иллюстрацию, начинаешь невольно задаваться вопросом: вышла ли она из под пера диджитал-художника? Или ее сгенерировала нейросеть?
В этой статье узнаем больше об одной из популярных моделей — Stable Diffusion, а также рассмотрим, как ее можно интегрировать с другими сервисами (например, с Telegram), используя Albato.
Stable Diffusion — это модель, преобразующая текст в изображение. Для того, чтобы нейросеть сгенерировала картинку, ей нужно лишь отправить текст, описывающий то, что ты хочешь на этой картинке увидеть.
Такой текст называется промпт и их написание уже начинает развиваться в отдельное направление. Ведь именно качество промпта определяет то, насколько релевантную своему запросу картинку ты получишь в итоге.
? Все изображения, созданные с помощью Stable Diffusion являются опенсорсными и обладают лицензией CC0 1.0. Это значит, что сгенерированные изображения можно свободно изменять, распространять и использовать в любых целях.
ВАЖНО: так как Stable Diffusion является опенсорсной моделью, то каждый желающий может дополнять и улучшать ее. Поэтому для получения API Stable Diffusion мы выбрали сервис stablediffusionapi.com, который предоставляет наибольшее количество доступных моделей на основе Stable Diffusion, помимо ее стандартной версии. Тебе будут доступны 50+ моделей, среди которых, например, есть версия Stable Diffusion, обученная таким образом, чтобы получать изображения как в модели Midjorney.
Какие еще модификации Stable Diffusion доступны для генерации? Чем они отличаются и какая из них лучше?
Не считая основной Stable Diffusion v2 для генерации доступны более 50 модификаций, созданных коммьюнити. Все они обладают своими собственными характеристиками и используются для разных целей. Рассмотрим несколько примеров:
Stable Diffusion v2
Исходная модель, может использоваться для самых различных кейсов.
Пример сгенерированного изображения:
MidJourney V4
Модель, обученная на датасете, на котором была обучена нейросеть Midjorney.
Пример сгенерированного изображения:
Protogen x3.4
Модель, которая позволяет генерировать ультра-реалистичные изображения с особой точностью к мелким деталям.
Пример сгенерированного изображения:
SynthwavePunk
Модель, которая заточена под генерацию картинок в стилях Synthwave и Punk.
Пример сгенерированного изображения:
Linkedin Photoshoot
Модель, обученная на датасете аватаров из сети LinkedIn.
Пример сгенерированного изображения:
На сайте также есть отдельный раздел, где можно посмотреть, какие модификации моделей существуют и примеры изображений к ним.
Ссылка на раздел с различными моделями.
Как правильно писать промпты?
Примеры промптов и сгенерированных по ним изображений можно найти, например, вот в этом разделе сайта. Если ввести cats, то можно будет посмотреть все промпты, содержащие запрос cats и получившиеся изображения.
В блоге TexTerra можно прочитать отличный материал о том, как использование различных слов, уточнений и т.д. влияет на результат генерации.
Читать советы по составлению промптов в блоге TexTerra
Интеграции Stable Diffusion с различными сервисами
На что обратить внимание при настройке интеграций
С помощью Albato можно реализовывать различные сценарии, используя Stable Diffusion – например, генерировать картинки прямо в Телеграме или автоматизировать генерацию картинок для сайта/обложек для блога. На самом деле сценариев – бесконечное количество, поэтому мы покажем принципы сбора основных связок, на основе которых можно дальше формировать практически любые кейсы.
? Перед тем, как настраивать интеграции необходимо подключить Stable Diffusion к Albato. Мы подробно описали то, как это сделать в нашей инструкции.
Сейчас в Albato доступны:
? 1 триггер (событие, которое запускает твою автоматизацию)
- Генерация изображения окончена
? 2 действия (то, что Albato выполняет, при срабатывании триггера)
- Генерация изображения из текста
- Генерация изображения из текста (с помощью публичных моделей)
Если ты выберешь действие Генерация изображения из текста, то Albato сгенерирует изображение, используя стандартную модель Stable Diffusion v2. Если же ты выберешь действие (с помощью публичных моделей), то сможешь выбрать любую из 50+ доступных модификаций модели.
Список всех доступных моделей можно найти в личном кабинете Albato, перейдя в раздел Подключения и нажав на кнопку Список публичных моделей.
Параметры настройки
Также, при настройке действий с любой из моделей, ты сможешь настраивать различные параметры. Эти параметры будут влиять на результат генерации, однако обязательным из них является только один – текст для генерации изображений. Коротко расскажем о каждом из параметров:
Текст для генерации изображения – это обязательное поле, сюда нужно вписать промпт – текст, на основе которого нейросеть будет генерировать изображение.
ID публичной модели – здесь можно выбрать модификацию модели, которую ты хочешь использовать. Этот параметр доступен только в действии Генерация изображения из текста (с помощью публичных моделей). В действии Генерация изображения из текста его нет, так как в нем используется модель Stable Diffusion v2 по умолчанию.
Количество изображений, которые вы хотите получить в ответ – по умолчанию эта величина равна 1.
Элементы, которые вам не нужны на изображении – здесь можно указать те элементы, которые точно не должны появится на итоговой картинке.
Ширина и высота выходного изображения – в этих полях можно задать размеры итоговой картинки. По умолчанию каждый параметр равен 512.
Количество ступеней шумоподавления – грубо говоря, этот параметр определяет количество итераций улучшения итоговой картинки (избавления от шума), соответственно чем он выше – тем качественнее итоговый результат.
Шкала для ориентирования без классификатора – параметр, который определяет насколько точно нейросеть должна следовать промпту. Чем выше этот параметр, тем “строже” нейросеть придерживается твоего промпта.
Улучшить подсказки для достижения лучших результатов – здесь ты можешь выбрать “да” или “нет”.
Интеграция Stable Diffusion + Telegram
Эта интеграция позволит генерировать картинки прямо в чат-боте в Телеграм.
Понадобится создать 2 связки.
Первая будет отправлять запрос на генерацию изображения в Stable Diffusion. Нужно настроить 2 шага:
первый –Входящее сообщение в Телеграм
второй – Генерация изображения из текста
В шаге Генерация изображения в поле Текст для генерации изображения нужно будет выбрать значение от первого шага Текст (который мы получим из Телеграма). Остальные параметры заполняются по усмотрению.
Вторая связка будет возвращать сгенерированную картинку. Нужно будет настроить 3 шага, как на примере ниже:
Второй шаг – Получение HTTP-запроса нужен для того, чтобы получить сгенерированую картинку в формате файла.
Настраивается он следующим образом: задай любое название и любой Урл (на этом этапе нам нужен “пустой” запрос, поэтому можешь вставить любую ссылку в графу Урл)
И далее, Albato вновь предложит заполнить Урл – и здесь необходимо выбрать значение от предыдущего шага Stable Diffusion – Ссылка на изображение.
После того, как ты добавишь третий шаг – получение фото в Телеграм, то настройка второй связки будет завершена.
Запустим обе связки и посмотрим, как они работают:
Вот так все будет выглядеть в Телеграм.
Интеграция Stable Diffusion + Google Sheets
Такая интеграция позволяет генерировать картинки, получать ссылки (урлы) для них и заносить эти урлы в Google Sheets.
А это позволяет реализовать автоматизацию многих кейсов, например:
- настраивать связки с любыми сервисами, которые загружают картинку по ссылке.
Например, можно настроить передачу урлов в Creatium – и автоматически генерировать обложки статей для своего сайта или блога. У нас уже есть видео с пошаговой настройкой такого кейса, где только ссылки на сгенерированные картинки вставляются вручную из Midjorney. Но теперь, ты сможешь автоматизировать и этот шаг!
- или загружать сгенерированные картинки на Google Drive.
Настроенная связка с Google Sheets выглядит вот так. В настройке шага с Google Sheets нужно будет указать в какой из столбцов вносить ссылки.