ArtificialGuyBR

Home / Blog / ComfyUI

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.

7 sources cited ComfyUI

Face Swapping with ReActor in ComfyUI: Models, Setup, and Limits

<!-- TL;DR -->

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?

RoleModelWhere to place itSource
Face detectionretinaface_resnet50ComfyUI model path (auto-detected)Segmind
Face swapinswapper_128.onnxComfyUI model pathSegmind
Face restorationcodeformer.pth or GFPGANv1.4.pthComfyUI/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?

  1. Install the ReActor node via ComfyUI Manager by searching for "ReActor" (source 1).
  2. Load a default workflow, add ReActor Fast Face Swap.
  3. Connect the VAE Decode output to the node's input_image input.
  4. Add a Load Image node, select the face you want to copy, and connect it to the source_image input.
  5. Add a Save Image node and connect it to the node's image output.

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):

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

SymptomSource-attributed causeFix
ReActor breaks after updating ComfyUI or PythonMultiple dependencies — ComfyUI, Python, PyTorch, ONNX Runtime, CUDA, cuDNN — move together and can break ReActorPin versions or test after each updatehttps://discuss.huggingface.co/t/nvidia-driver-update-reactor-node/176221
ReActor node not found after installPlugin not installed via ComfyUI ManagerSearch "ReActor" in ComfyUI Manager under custom nodesSource 1
"No faces found" error (GitHub issue #46 equivalent)Incorrect face-detection sensitivity or model pathTest with a known-working ReActor version (v0.6.1-b2 referenced in community)Hugging Face discussion
Swapped face looks blurry or low-qualitySource face image resolution or missing restoration stepEnable face restoration and use CodeFormer or GFPGAN; use high-resolution source imagesSegmind
ReActor GitHub repo inaccessibleRepository disabled by GitHub StaffUse Codeberg mirrors and forkshttps://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