Простое приложение на fastapi для генерации картинок по текстовому описанию с использованием stable diffusion 1.5 и графической оболочки gradio. Есть возможность задать как положительный промпт, так и негативный. На выходе получаем готовую сгенерированую картинку.
Предусмотрен эндпоинт для post запросов, который нужно самостоятельно включить в настройках gradio.
- Склонировать репозиторий с Github
git clone git@github.com:Witaly3/sd-webui.git
- Перейти в директорию проекта
- В файле .evn можно заполнить параметр для gradio. Сейчас там только параметр share, по дефолту True. Но можно самостоятельно добавить их (https://www.gradio.app/docs/interface), в том числе включить отображение API docs. Править в файле gradio.py.
- Собрать и запустить контейнеры
sudo docker-compose build
sudo docker-compose up
- Приложение доступно по адресу http://localhost:7860 и по общедоступному адресу (если share=True), который сгенерируется и отобразится в консоли. Выглядит он примерно так:
https://a23dsf231adb.gradio.live
- Остановка работы контейнеров
sudo docker-compose down
Модель используется "runwayml/stable-diffusion-v1-5", есть подключенный ip-adapter для sd 1.5. Модель меняется в ml.py, можно сделать загрузку модели с локальной папки если сменить метод from_pretrained на from_single_file.