Carl12ww's picture
Add comprehensive README with installation guide and instructions
1c0dec7 verified
|
Raw
History Blame Contribute Delete
17.2 kB
# 🎭 ULTRA-REALISTIC FACE-SWAP VIDEO WORKFLOW FOR COMFYUI
## AI OFM (OnlyFans Model) Content Creation Pipeline
---
## ✅ ЧТО ВЫ ПОЛУЧИТЕ
- **Face-swap видео** по референсному фото лица — без артефактов, пластиковой кожи и "AI-слопа"
- **Автоматическая синхронизация губ** (lip-sync) с аудио
- **Face restoration** (GFPGAN/CodeFormer) — удаление артефактов, улучшение деталей
- **Экспорт в высоком качестве** (H.264, CRF 17, slow preset)
- **Полная поддержка NSFW** контента (используйте uncensored модели)
- **Нулевая настройка нодов** — всё уже сконфигурировано
---
## 📦 ТРЕБОВАНИЯ
### Минимальные:
- **GPU:** NVIDIA с 8GB+ VRAM (RTX 3060/4060 минимум)
- **RAM:** 16GB
- **Диск:** 50GB свободного места
- **ОС:** Windows 10/11 или Linux
### Рекомендуемые (для ультра качества):
- **GPU:** RTX 4080/4090 или A100 с 16-24GB VRAM
- **RAM:** 32GB+
- **Диск:** SSD NVMe, 100GB+
---
## 🚀 БЫСТРЫЙ СТАРТ (5 МИНУТ)
### Шаг 1: Установка ComfyUI
```bash
# Клонируйте репозиторий
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# Установите зависимости
pip install -r requirements.txt
# Запустите
python main.py
```
Откройте в браузере: `http://127.0.0.1:8188`
### Шаг 2: Установка ComfyUI-Manager
```bash
# Перейдите в папку custom_nodes
cd custom_nodes
# Установите Manager
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
# Установите зависимости Manager
cd ComfyUI-Manager
pip install -r requirements.txt
# Перезапустите ComfyUI
```
### Шаг 3: Установка Node Packs
В ComfyUI нажмите **Manager → Install Custom Nodes** и найдите по названиям:
1.**ComfyUI-ReActor** (`Gourieff/ComfyUI-ReActor`)
- Основной face-swap
2.**ComfyUI-DeepFuze** (`SamKhoze/ComfyUI-DeepFuze`)
- Lip-sync + voice cloning
3.**ComfyUI-VideoHelperSuite** (`Kosinkadink/ComfyUI-VideoHelperSuite`)
- Работа с видео
Нажмите **Install** для каждого → **Restart ComfyUI**
### Шаг 4: Установка Face Restoration моделей
Скачайте и поместите в `ComfyUI/models/facerestore_models/`:
- **GFPGANv1.4.pth** — [Скачать с HuggingFace](https://huggingface.co/gjekso/GFPGANv1.4/resolve/main/GFPGANv1.4.pth)
- **codeformer.pth** — [Скачать с HuggingFace](https://huggingface.co/ckpt/codeformer/resolve/main/codeformer.pth)
### Шаг 5: Загрузка Workflow
1. Скачайте файл: `ComfyUI_UltraRealistic_FaceSwap_Workflow.json`
2. Перетащите файл прямо в окно ComfyUI
3. Все ноды загрузятся автоматически
### Шаг 6: Загрузка моделей видеогенерации (для создания source-видео)
Если вы генерируете видео с нуля (а не используете готовое):
**Вариант A — LTX Video (рекомендуется, быстрый):**
```bash
# В папке models/checkpoints или models/diffusers_models
# Скачайте с HuggingFace: Lightricks/LTX-Video
```
**Вариант B — Wan 2.1 T2V 14B (максимальное качество):**
```bash
# Скачайте с HuggingFace: Wan-AI/Wan2.1-T2V-14B
# Требует 16GB+ VRAM для работы
```
---
## 📂 ПОДГОТОВКА ФАЙЛОВ
### 📸 Референсное фото лица (`face_reference.png`)
| Параметр | Рекомендация |
|----------|-------------|
| **Разрешение** | 512×512 - 1024×1024 |
| **Формат** | PNG (без потерь) |
| **Лицо** | Фронтальный или 3/4 профиль |
| **Освещение** | Равномерное, без теней |
| **Фон** | Нейтральный или однотонный |
| **Глаза** | Открыты, смотрят в камеру |
| **Выражение** | Нейтральное (без улыбки) |
**ПРОТИВОПОКАЗАНИЯ:**
- ❌ Закрытые глаза
- ❌ Профиль (90°)
- ❌ Низкое разрешение (< 256px)
- ❌ Закрытые очками/маской
- ❌ Размытые фото
- ❌ Слишком много людей на фото
### 🎬 Целевое видео (`target_video.mp4`)
| Параметр | Рекомендация |
|----------|-------------|
| **Длительность** | 5-60 секунд (для теста), до 5 минут (продакшен) |
| **Разрешение** | 512×512 - 1080×1920 |
| **FPS** | 24-30 fps |
| **Формат** | MP4 (H.264) |
| **Лицо** | Чётко видно, минимум поворотов |
| **Освещение** | Стабильное, без мерцания |
| **Фон** | Не критичен |
**ДЛЯ NSFW:**
- Используйте uncensored source-видео
- Или генерируйте через uncensored модели (Wan uncensored, LTX)
- Face-swap ноды (ReActor, DeepFuze) сами по себе не фильтруют контент
### 🎙️ Аудио (`audio_track.mp3`)
| Параметр | Рекомендация |
|----------|-------------|
| **Формат** | MP3, WAV, AAC |
| **Частота** | 44100 Hz |
| **Каналы** | Mono или Stereo |
| **Длина** | Совпадает с видео |
| **Чёткость речи** | Чёткая артикуляция = лучший lip-sync |
---
## ⚙️ НАСТРОЙКИ НОДОВ (УЖЕ СКОНФИГУРИРОВАНЫ)
### 🔀 ReActor Face Swap (Нода 3)
| Параметр | Значение | Почему |
|----------|----------|--------|
| `Detection Model` | **insightface** | Самый точный |
| `Face Analysis` | **buffalo_l** | Лучший баланс точности/скорости |
| `Gender Detection` | **OFF** | Не фильтруем по полу |
| `Age Detection` | **OFF** | Не фильтруем по возрасту |
| `Swap Strength` | **1.0** | Максимальная замена |
| `Face Restore` | **ON** | Удаление артефактов |
| `Face Restore Visibility` | **0.65** | Баланс реставрации/реализма |
| `Detection Mode` | **bidirectional** | Поиск в обе стороны |
| `Confidence` | **0.8** | Фильтр ложных детекций |
| `Face Size` | **512** | Оптимальный размер |
| `Face Index` | **0** | Первое найденное лицо |
**Для NSFW:** Можно отключить Gender Detection если нужно (он уже отключён)
### ✨ Face Restoration (Нода 4)
| Параметр | Значение |
|----------|----------|
| `Model` | **GFPGANv1.4.pth** |
| `Restore Visibility` | **0.5** (50% реставрации) |
| `CodeFormer Fidelity` | **ON** |
**GFPGAN** убирает артефакты, **CodeFormer** сохраняет идентичность.
### 🎙️ DeepFuze Lip Sync (Нода 6)
| Параметр | Значение | Почему |
|----------|----------|--------|
| `Engine` | **wav2lip** | Лучший баланс |
| `Resolution` | **720** | Высокое качество |
| `Batch Mode` | **ON** | Обрабатывать всё видео |
| `Face Enhancer` | **ON** | Дополнительное улучшение |
| `Mouth Mask` | **0.6** | Плавные границы рта |
| `Audio Smoothing` | **ON** | Убирает рывки |
| `Pad Top` | **0.4** | Отступ сверху |
### 💾 Video Combine / Export (Нода 7)
| Параметр | Значение |
|----------|----------|
| `Format` | **mp4** |
| `Codec` | **h264** |
| `Pixel Format` | **yuv420p** (совместимость) |
| `FPS` | **24** |
| `CRF` | **17** (высокое качество) |
| `Preset` | **slow** (лучшее сжатие) |
---
## 🎯 ПОШАГОВАЯ ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ
### Сценарий 1: Face-swap готового видео (самый простой)
1. ✅ Подготовьте `face_reference.png` (см. раздел "Подготовка файлов")
2. ✅ Подготовьте `target_video.mp4`
3. ✅ Подготовьте `audio_track.mp3` (опционально, если нужен lip-sync)
4. 🖱️ В ноде **Load Image** (1) нажмите **Upload** → выберите фото лица
5. 🖱️ В ноде **Load Video** (2) нажмите **Upload** → выберите видео
6. 🖱️ В ноде **Load Audio** (5) нажмите **Upload** → выберите аудио (если lip-sync)
7. 🖱️ Нажмите **Queue Prompt** (правый верхний угол)
8. ⏳ Ждите завершения (время зависит от длины видео и GPU)
9. 🎉 Результат появится в ноде **Preview Video** (8)
10. 💾 Итоговый файл сохранится в `ComfyUI/output/`
### Сценарий 2: Генерация видео с нуля + face-swap
1. ✅ Установите модель видеогенерации (Wan 2.1 или LTX)
2. ✅ Создайте prompt для генерации в ноде **Load Checkpoint****KSampler**
3. ✅ Сгенерируйте видео через ноду **LTX Image to Video** или **Wan Video**
4. ✅ Используйте это видео как input для Load Video (2)
5. ✅ Продолжайте как в Сценарии 1
### Сценарий 3: Улучшение качества (для продакшена)
1. ✅ Сначала прогоните через workflow
2. ✅ Если результат хороший — используйте
3. ✅ Если есть артефакты:
- Увеличьте **Face Size** в ReActor до **768** или **1024**
- Включите **CodeFormer** вместо GFPGAN
- Уменьшите **Restore Visibility** до **0.3**
4. ✅ Если лицо "слишком гладкое" (пластик):
- Уменьшите **Restore Visibility** до **0.3-0.4**
- Или отключите **Face Restore** полностью
5. ✅ Если lip-sync неточный:
- Увеличьте **Resolution** в DeepFuze до **1080**
- Включите **Audio Smoothing**
---
## 🔧 ТРАБЛШУТИНГ
### ❌ "ModuleNotFoundError: No module named 'insightface'"
```bash
# В ComfyUI/python_embeded или системном Python
pip install insightface onnxruntime-gpu
```
### ❌ "CUDA out of memory"
```
Решения (в порядке эффективности):
1. Уменьшите Face Size в ReActor: 512 → 384
2. Уменьшите разрешение видео
3. Используйте менее длинное видео
4. Снизьте CRF до 23 (чуть хуже качество, но меньше VRAM)
5. Используйте GPU с большим VRAM
```
### ❌ "Face not detected"
```
1. Проверьте, что на фото/видео есть чёткое лицо
2. Поверните лицо более фронтально
3. Увеличьте разрешение исходника
4. Попробуйте другой Detection Model: antelopev2
5. Снизьте Confidence threshold до 0.5
```
### ❌ "Пластиковая кожа / слишком гладкое лицо"
```
1. Уменьшите Restore Visibility в Face Restore: 0.5 → 0.3
2. Попробуйте CodeFormer вместо GFPGAN
3. Полностью отключите Face Restore если лицо и так хорошее
4. Используйте более детализированное референсное фото
```
### ❌ "Артефакты на границе лица"
```
1. Увеличьте Face Size: 512 → 768
2. Включите **Face Restore** если был выключен
3. Увеличьте Swap Strength до 1.0 (если ниже)
4. Попробуйте другой target video с лучшим освещением
```
### ❌ "Lip-sync не синхронизирован"
```
1. Убедитесь, что аудио длится столько же, сколько видео
2. Проверьте частоту аудио: должна быть 44100 Hz
3. Увеличьте Resolution в DeepFuze: 720 → 1080
4. Убедитесь, что лицо видно на протяжении всего видео
5. Попробуйте другой engine в DeepFuze: video-retalking
```
### ❌ "Нет звука в финальном видео"
```
1. Убедитесь, что аудио файл загружен в Load Audio (5)
2. Проверьте, что путь к аудио корректен
3. Проверьте Video Combine: audio input должен быть подключён
4. Используйте ffmpeg вручную:
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4
```
---
## 🎨 СОВЕТЫ ДЛЯ МАКСИМАЛЬНОГО КАЧЕСТВА
### Референсное фото (критически важно!)
**DO:**
- Фронтальное или 3/4
- Разрешение 1024×1024+
- Равномерное освещение
- Чёткие глаза, нос, рот
- Нейтральное выражение
- Высокий динамический диапазон
**DON'T:**
- Закрытые глаза
- Сильный профиль
- Низкое разрешение
- Закрытые аксессуарами
- Фильтры/ретушь
- Многолюдные фото
### Target Video
**DO:**
- Хорошее освещение (softbox/ring light)
- Стабильная камера
- Минимум поворотов головы
- Высокое разрешение
- 24-30 fps
**DON'T:**
- Жёсткие тени на лице
- Быстрые движения
- Низкое разрешение
- Сильные эмоции (если lip-sync нужен)
### Для NSFW контента
**DO:**
- Используйте uncensored source видео или uncensored модели
- ReActor и DeepFuze не фильтруют — фильтрует source
- Проверьте Wan uncensored fine-tunes на Civitai
- LTX Video по умолчанию uncensored
**DON'T:**
- Не ожидайте NSFW от цензурированных моделей
- Не используйте safety checker ноды
---
## 📊 ВРЕМЯ ГЕНЕРАЦИИ (ориентировочно)
| GPU | Длина видео | Face Swap | Face Restore | Lip Sync | Итого |
|-----|-------------|-----------|--------------|----------|-------|
| RTX 3060 12GB | 10 сек | 2 мин | 1 мин | 3 мин | 6 мин |
| RTX 4070 12GB | 10 сек | 1 мин | 30 сек | 2 мин | 3.5 мин |
| RTX 4090 24GB | 10 сек | 30 сек | 15 сек | 1 мин | 2 мин |
| A100 80GB | 60 сек | 2 мин | 1 мин | 3 мин | 6 мин |
---
## 🔗 ПОЛЕЗНЫЕ ССЫЛКИ
| Ресурс | Ссылка |
|--------|--------|
| **ComfyUI** | https://github.com/comfyanonymous/ComfyUI |
| **ComfyUI-Manager** | https://github.com/ltdrdata/ComfyUI-Manager |
| **ReActor Node** | https://github.com/Gourieff/ComfyUI-ReActor |
| **DeepFuze Node** | https://github.com/SamKhoze/ComfyUI-DeepFuze |
| **VideoHelperSuite** | https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite |
| **Wan 2.1 T2V** | https://huggingface.co/Wan-AI/Wan2.1-T2V-14B |
| **LTX Video** | https://huggingface.co/Lightricks/LTX-Video |
| **BFS Face Swap** | https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video |
| **GFPGAN Model** | https://huggingface.co/gjekso/GFPGANv1.4 |
---
## 📝 ЛИЦЕНЗИЯ И ИСПОЛЬЗОВАНИЕ
- Этот workflow предоставляется как есть (as-is)
- Пользователь несёт ответственность за контент
- NSFW контент: используйте на свой страх и риск, соблюдайте законы вашей юрисдикции
- Модели и ноды имеют собственные лицензии — ознакомьтесь перед использованием
---
## 💬 ПОДДЕРЖКА
Если что-то не работает:
1. Проверьте Troubleshooting раздел выше
2. Обновите все ноды через Manager → Update All
3. Переустановите проблемный нод через Manager
4. Проверьте логи ComfyUI в консоли
---
**Создано:** ML Intern | **Дата:** 2026 | **Версия:** 1.0