ReActor Face Swap in ComfyUI: Setup and Limits
Set up ReActor Fast Face Swap in ComfyUI — model files, restore-face and mask options, detailer chaining, and how swap differs from a trained LoRA.
On this page
- What Is ReActor Fast Face Swap?
- What Model Files Do You Need?
- How Do You Set Up the Workflow?
- What Face Detection Method Should You Use?
- Which Face Restoration Model Should You Pick?
- Can You Chain ReActor with a Face Detailer?
- What Are the Limits of ReActor Swap versus a Trained LoRA?
- Common Errors and Fixes
- Frequently Asked Questions
- Sources
Face Swapping with ReActor in ComfyUI: Models, Setup, and Limits
<!-- TL;DR -->
- ReActor Fast Face Swap is a ComfyUI custom node that detects faces, swaps them with an ONNX model, and optionally restores the result using CodeFormer or GFPGAN.
- The default setup requires three model files —
retinaface_resnet50,inswapper_128.onnx, and a restoration model — placed inComfyUI/models/facerestore_modelsor related subdirectories. - ReActor and LoRA serve fundamentally different purposes: ReActor swaps faces per image, while a LoRA permanently teaches a base model a new identity; the two are not interchangeable.
What Is ReActor Fast Face Swap?
ReActor Fast Face Swap is a ComfyUI custom node that performs face swapping on a per-image basis. It detects faces in both a source image and a target image, encodes cropped face regions through an ONNX swap model, and pastes the result back over the target face region. An optional face restoration step can improve swapped-face quality afterward. You add it by entering ReActor in the "Add Node" dialog and selecting ReActor Fast Face Swap (source 1).
What Model Files Do You Need?
| Role | Model | Where to place it | Source |
|---|---|---|---|
| Face detection | retinaface_resnet50 | ComfyUI model path (auto-detected) | Segmind |
| Face swap | inswapper_128.onnx | ComfyUI model path | Segmind |
| Face restoration | codeformer.pth or GFPGANv1.4.pth | ComfyUI/models/facerestore_models/ | Source 3997 |
The swap model (inswapper_128.onnx) operates on 128×128 pixel face crops and is the core engine for the swap itself (source 2).
How Do You Set Up the Workflow?
- Install the ReActor node via ComfyUI Manager by searching for "ReActor" (source 1).
- Load a default workflow, add ReActor Fast Face Swap.
- Connect the VAE Decode output to the node's
input_imageinput. - Add a Load Image node, select the face you want to copy, and connect it to the
source_imageinput. - Add a Save Image node and connect it to the node's
imageoutput.
The swap model cannot be replaced in the node's widget — the bundled inswapper_128.onnx is the default (source 1). Community forks and alternative implementations of ReActor exist on Codeberg, but the canonical node ships with this single swap model.
What Face Detection Method Should You Use?
The node offers multiple face-detection methods. The recommended setting is retinaface_resnet50, which is documented as the default in the Segmind guide (source 2). The source material advises choosing according to your actual situation; the "first one" in the author's workflow corresponds to retinaface (source 1). An exact enumerated list of all detection methods is not stated on the pages opened.
Which Face Restoration Model Should You Pick?
Two restoration models are documented on the Comflowy guide (source 1):
- CodeFormer —
codeformer.pth, released by sczhou. - GFPGAN —
GFPGANv1.4.pth, released by TencentARC.
The author of the source guide generally chooses GFPGAN (source 1). The Segmind guide separately recommends CodeFormer for restoration after swapping (source 2). Both improve swapped-face quality, especially when the source image is low resolution, but neither is universally superior — the choice depends on the source degradation type.
Can You Chain ReActor with a Face Detailer?
Impact Pack provides FaceDetailer and FaceDetailer (pipe) nodes that detect faces and refine them with inpainting and a text prompt (source 4). RunComfy documents a two-pass refinement using FaceDetailer (pipe) for multipass workflows (source 6). The face detailer can receive the same prompts used during generation, which leads to restoration rather than full face replacement (source 6). A confirmed pipeline of ReActor → FaceDetailer is not documented on any opened page; this remains unverified.
What Are the Limits of ReActor Swap versus a Trained LoRA?
ReActor swaps faces on a per-image basis using an ONNX model that encodes and pastes facial features. It does not retrain or fine-tune the base model. A trained LoRA permanently modifies the base model's weights so it generates that identity from text prompts alone. The two approaches differ in purpose: ReActor is for inserting one person's face into another image operationally, while LoRA is for teaching a model a consistent identity across generations. For the generation side of that workflow, see IPAdapter Face Workflows. A comparative explanation of these limits was not found on any opened primary page; this summary describes the functional difference only.
Common Errors and Fixes
| Symptom | Source-attributed cause | Fix | |
|---|---|---|---|
| ReActor breaks after updating ComfyUI or Python | Multiple dependencies — ComfyUI, Python, PyTorch, ONNX Runtime, CUDA, cuDNN — move together and can break ReActor | Pin versions or test after each update | https://discuss.huggingface.co/t/nvidia-driver-update-reactor-node/176221 |
| ReActor node not found after install | Plugin not installed via ComfyUI Manager | Search "ReActor" in ComfyUI Manager under custom nodes | Source 1 |
| "No faces found" error (GitHub issue #46 equivalent) | Incorrect face-detection sensitivity or model path | Test with a known-working ReActor version (v0.6.1-b2 referenced in community) | Hugging Face discussion |
| Swapped face looks blurry or low-quality | Source face image resolution or missing restoration step | Enable face restoration and use CodeFormer or GFPGAN; use high-resolution source images | Segmind |
| ReActor GitHub repo inaccessible | Repository disabled by GitHub Staff | Use Codeberg mirrors and forks | https://github.com/Gourieff/comfyui-reactor-node |
Frequently Asked Questions
How do you install ReActor in ComfyUI? Open ComfyUI Manager, search "ReActor," and install the custom node. Then add the ReActor Fast Face Swap node from the add-node dialog (source 1).
Which face restoration model is better, CodeFormer or GFPGAN? The Comflowy author prefers GFPGANv1.4, while Segmind recommends CodeFormer (source 1, source 2). The choice depends on the source image's degradation type.
Can ReActor swap non-human faces? The ReActor method focuses on human face swapping and handles hair weaker than IPAdapter-based approaches (source 1). IPAdapter is documented as working with animal faces as well (source 1).
What is the recommended KSampler setting for face swap workflows? The source guide recommends at least 35 steps (rather than a baseline 25) and a smaller CFG value (source 1).
Why does ReActor's GitHub repository show as disabled? The GitHub repository at Gourieff/comfyui-reactor-node was disabled by GitHub Staff due to a terms-of-service violation (source 7). Forks are available on Codeberg.
How does ReActor differ from IPAdapter for face work? ReActor swaps faces between two images operationally. IPAdapter generates a new image consistent with a source face but does not perform direct face-to-face swapping (source 1).
Sources
- How to swap faces using ComfyUI? – Comflowy — Documents ReActor node installation, workflow wiring, face-restore model choices, and the note that the swap model cannot be replaced.
- Face Swap And Restoration With ComfyUI: A Complete Guide – Segmind — Documents the three-stage ReActor pipeline: retinaface_resnet50 for detection, inswapper_128.onnx for swap, CodeFormer for restoration.
- How to Swap Faces Using ComfyUI? – Segmind — Documents the
source_imageandinput_imageinput names and the recommendedretinaface_resnet50detection model. - ComfyUI-Impact-Pack README – GitHub — Documents FaceDetailer and FaceDetailer (pipe) nodes from the Impact Pack, used for post-swap face refinement.
- Face Detailer ComfyUI Workflow/Tutorial – RunComfy — Documents two-pass refinement with FaceDetailer (pipe) and the behavior of same-vs-different prompts for restoration vs. replacement.
- Gourieff/comfyui-reactor-node – GitHub — Repository entry showing the repo is disabled by GitHub Staff.