# ⚡ Ultra Pro Face Swap — 4K Pipeline v4.0
> The most complete face swap workflow on CivitAI.
> Dual restoration engine + 4K ESRGAN upscaling — all in one click.
---
## 🔥 Why This Workflow?
Most face swap workflows stop at the swap.
This one doesn't stop until it's 4K.
| Feature | Basic Workflows | ⚡ Ultra Pro |
|---|---|---|
| Face Restoration | ❌ or GFPGAN only | ✅ GFPGAN + FaceBoost pass |
| Output Resolution | 512–1024px | ✅ HD 1536px + 4K 4096px |
| ESRGAN Upscaling | ❌ | ✅ 8x Face-optimized |
| Source Preparation | 1 step | ✅ 3-stage pipeline |
| Outputs | 1 file | ✅ HD + 4K simultaneously |
| Nodes | 5–9 | ✅ 18 (fully documented) |
---
## 🧩 Pipeline Overview
```
Source Face → [512px] → [1024px] ──────────────┐
▼
Target Image → [2048px] ──────────► 🔄 ReActor FaceSwap
+ FaceBoost (GFPGAN)
+ CodeFormer 0.75
│
┌───────────────────┤
▼ ▼
💾 HD 1536px 🚀 ESRGAN 8x
(instant output) │
📐 Final 4096px
│
💾 4K Output
## ⚙️ Key Settings
| Node | Setting | Default | Range |
|---|---|---|---|
| Face Swap | codeformer_weight | 0.75 | 0.5 – 0.9 |
| Face Swap | restore_visibility | 1.0 | 0.8 – 1.0 |
| FaceBoost | codeformer_weight | 0.70 | 0.5 – 0.85 |
| Final Scale | resolution | 4096px | 1024 – 4096 |
> Tip: Swap looks plastic? Lower codeformer to 0.5
> Tip: Multiple faces? Change input_faces_index (0, 1, 2...)
---
## 📦 Requirements
Extensions:
- ✅ [ReActor Node](https://github.com/Gourieff/comfyui-reactor-node)
Models (4 files):
| Model | Path | Size |
|---|---|---|
| inswapper_128.onnx | models/insightface/ | 256 MB |
| GFPGANv1.4.pth | models/facerestore_models/ | 348 MB |
| 8x_NMKD-Faces_160000_G.pth | models/upscale_models/ | 67 MB |
Specs: 6GB VRAM minimum · 8GB recommended for 4K
---
## ⚡ Performance
| GPU | Time |
|---|---|
| RTX 3060 | ~8–12 sec |
| RTX 3080 | ~4–7 sec |
| RTX 4090 | ~2–4 sec |
> Need speed? Bypass nodes 8–10 for HD-only mode (3–5 sec on any GPU)
---
## 💬 Support
Drop a comment if you hit any issues — I respond fast.
If this saved you hours of work, a ⭐ goes a long way!
Description
## 📋 Version History
---
### ⚡ v4.3.0 — Current Release
Stability Fix
- Fixed ReActorFaceBoost node — correctly configured as settings-only node (no image input)
- Removed incorrect image connection to FaceBoost
- FACE_BOOST output now properly feeds into ReActorFaceSwap enhancement slot
---
### 🔧 v4.2.0
Compatibility Fix
- Fixed interpolation value: 'lanczos' → 'Lanczos' (case-sensitive ComfyUI requirement)
- Replaced unavailable upscale model with 8x_NMKD-Faces_160000_G.pth
- Switched to face-optimized 8x upscaler for superior portrait results
---
### 🔗 v4.1.0
Pipeline Architecture Fix
- Fixed critical type mismatch: FACE_BOOST output was incorrectly routed to ImageUpscaleWithModel (expects IMAGE)
- Corrected FaceBoost role: now feeds as enhancement input to ReActorFaceSwap, not post-processor
- Fixed ESRGAN upscale input to receive SWAPPED_IMAGE directly from ReActorFaceSwap
---
### 🚀 v4.0.0 — Initial Release
Full Pipeline Build
- 18-node professional workflow
- Dual restoration: GFPGAN (inline) + ReActorFaceBoost (enhancement pass)
- 3-stage source preparation: 512px → 1024px
- 2048px target preparation for maximum detail preservation
- 8x ESRGAN face-optimized upscaling
- Dual output: HD 1536px + 4K 4096px simultaneously
- 6 color-coded node groups
- Full in-workflow documentation (Guide + Requirements + Pro Tips)
---
### 🗑️ Deprecated (from base workflow)
| What | Why Removed |
|---|---|
| center crop on source | Was cutting face edges |
| 768px source optimization | Replaced with 1024px |
| codeformer_weight: 0.5 | Raised to 0.75 for sharper results |
| Inconsistent 1316×1365 output | Replaced with clean 4096×4096 |

