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