Приложение для генеративного создания изображений в аниме-стиле с сохранением узнаваемости персонажей.
- Сохранение узнаваемости персонажа при генерации разных сцен
- Генерация персонажей на нейтральном фоне
- Генерация сюжетных картинок с выбранным персонажем
- Модульная архитектура для легкого добавления новых функций
- Веб-интерфейс для удобного использования
project
├── backend # Бэкенд на Flask
│ ├── app.py # Основное приложение Flask
│ ├── modules # Модули для генерации изображений
│ ├── utils # Вспомогательные утилиты
│ └── requirements.txt # Python-зависимости
├── frontend # Фронтенд на React
│ ├── public # Статические файлы
│ ├── src # Исходный код React
│ └── package.json # Node.js зависимости
└── README.md # Эта инструкция
- Python 3.8 или выше
- Node.js 14 или выше
- NVIDIA GPU (рекомендуется) для ускорения генерации
- 10+ ГБ свободного места на диске для моделей
-
Создайте виртуальное окружение Python
cd backend python -m venv venv
-
Активируйте виртуальное окружение
- Windows
venvScriptsactivate
- LinuxMac
source venvbinactivate
- Windows
-
Установите зависимости
pip install -r requirements.txt
-
Запустите сервер
python app.py
Бэкенд будет доступен по адресу httplocalhost5000
-
Установите зависимости
cd frontend npm install
-
Запустите сервер разработки
npm start
Фронтенд будет доступен по адресу httplocalhost3000
- После запуска перейдите в браузере по адресу httplocalhost3000
- На первом экране вы увидите статус зависимостей и моделей. Нажмите кнопку Установить все, чтобы загрузить необходимые модели.
- После установки вы можете
- Перейти на вкладку Создать персонажа для генерации персонажей
- Перейти на вкладку Создать сцену для генерации сюжетных изображений с существующими персонажами
Проект использует следующие ключевые технологии
-
Бэкенд
- Flask для веб-сервера
- Stable Diffusion для генерации изображений
- ControlNet для сохранения узнаваемости персонажей
- IP-Adapter для работы с референсами персонажей
-
Фронтенд
- React для пользовательского интерфейса
- React Router для навигации
- Axios для HTTP-запросов
Благодаря модульной архитектуре, вы можете легко добавить новые функции
- Для добавления модуля предобработки или постобработки, создайте новый класс в папке
backendmodules
- Реализуйте интерфейс базового модуля с методами
process
иsave
- Подключите новый модуль в основном приложении
app.py
Этот проект распространяется под лицензией MIT.