# 🎭 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