https://github.com/redik2/comfytg
ComfyUI + Telegram Bot usage
https://github.com/redik2/comfytg
comfy-ui comfyui python stable-diffusion telegram telegram-bot telegram-chat
Last synced: about 1 year ago
JSON representation
ComfyUI + Telegram Bot usage
- Host: GitHub
- URL: https://github.com/redik2/comfytg
- Owner: Redik2
- License: gpl-3.0
- Created: 2025-01-21T14:42:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T15:13:45.000Z (over 1 year ago)
- Last Synced: 2025-02-05T16:43:31.806Z (over 1 year ago)
- Topics: comfy-ui, comfyui, python, stable-diffusion, telegram, telegram-bot, telegram-chat
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Этот проект связывает ComfyUI и Telegram настолько, насколько это возможно и удобно для меня.
## Использование
### Установка
Для установки склонируйте репозиторий и установите необходимые библиотеки. Рекомендуется создать виртуальное окружение.
```bash
git clone https://github.com/Redik2/ComfyTG.git
cd ComfyTG
python -m venv venv
source venv/bin/activate # Для Linux/macOS
venv\Scripts\activate # Для Windows
pip install -r requirements.txt
```
### Настройка
В проекте есть файл `config.json`, в который нужно записать токен бота и указать абсолютный путь к папке, куда сохраняются изображения из ComfyUI (в JSON на Windows может потребоваться использовать `\\` вместо `/`).
## Запуск
Для запуска необходимо открыть `main.py` с помощью интерпретатора Python, в который установлены зависимости.
## Создание нового промпта
Чтобы создать новый промпт, нужно добавить модель в `/models` и схему для этой модели в `/schemas`.
Пример структуры:
```
/models
example.json
cool_model_123.json
/schemas
example.json
cool_model_123.json
```
### Создание модели
Для нового промпта экспортируйте модель из ComfyUI в формате API. После экспорта модель не должна изменяться.
### Создание схемы
Схемы — это JSON-файлы, представляющие собой словарь формата `"параметр": {"type": "тип параметра", "path": "путь"}`. Они предназначены для удобного доступа к параметрам модели.
- **Параметр** — название параметра (без пробелов), которое может не совпадать с названием параметра в модели. Его можно указывать и изменять через интерфейс бота.
- **Тип параметра** — допустимые типы: `str`, `int`, `float`, `bool`.
- **Путь** — строка вида `path/to/parameter`, указывающая на путь к параметру в модели.
Пример:
#### Модель
```json
"7": {
"inputs": {
"text": "some really cool prompt",
"clip": [
"1",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
}
```
#### Схема
```json
{
"positive_prompt": {
"type": "str",
"path": "7/inputs/text"
}
}
```
### Особые параметры
1. **`chat_id`**
Всегда передаётся ID чата, куда нужно отправить изображение. Этот параметр должен быть обязательно указан в схеме. Его тип — `str`, а путь должен указывать на `Save Image/image_prefix` в модели.
2. **`rseed0` - `rseed999`**
Эти параметры используются для передачи случайного сида генерации. Они не обязательны, но если присутствуют, их тип должен быть `int`.