FC FaceFusion
FC FaceFusion — the ModelScope UNet face swap, minus the InsightFace baggage
- source_image
- fusion_image
- IMAGE
FC FaceFusion is the face-swap workhorse of ComfyUI-FaceChain. Two images in, one image out: take the identity from one photo and fuse it onto another. If you've used ReActor or Roop, you know the job; what's different here is the engine under the hood.
Where the familiar tools wrap InsightFace's inswapper - the model famously frozen at 128×128 and pointed at a paid service for anything better - this node calls ModelScope's damo/cv_unet_face_fusion_torch. That's a UNet-based fusion model, and it operates on your input resolution rather than a 128px swap-and-upscale. You don't get the InsightFace quality ceiling, and you also don't get the InsightFace license headache: these weights come from Alibaba's ModelScope hub under their own terms, which is a meaningful difference if you care about what you can ship. Worth knowing either way, because most people assume every ComfyUI face swap is InsightFace underneath. This one isn't.
The two inputs
- source_image (
IMAGE) - the template. This is the photo whose pose, body, and scene you keep. It's the "host." - fusion_image (
IMAGE) - the identity you're grafting on. This is the person whose face you want to see in the result.
Output is a single IMAGE with the fused result. No mask input, no strength slider, no face-index selector - it's a deliberate black box, and honestly the fewer knobs the better for a node this specific.
Where it belongs in a workflow
You usually don't run it on a whole scene and hope. The intended pattern is: FC FaceDetectCrop slices the face region, the sampler generates a new face there, and FC FaceFusion blends the generated face back into context. Fed full frames, it still works - it detects the face itself - but the blend is less controlled. It also pairs naturally with FC FaceSegment if you want to know exactly where the face mask was before compositing.
Install and first-run
Standard pack install - ComfyUI Manager (search "ComfyUI-FaceChain") or:
cd ComfyUI/custom_nodes
git clone https://github.com/THtianhao/ComfyUI-FaceChain
then restart. The pack auto-installs its heavy dependency list at startup (onnxruntime-gpu, mmdet==2.26.0, mmcv, modelscope, insightface, transformers…), so the first launch is slow. This node's model - the UNet fusion weights - isn't bundled: the first run downloads it from ModelScope, which means you need to reach modelscope.cn. If it errors on a fresh machine, that download is the first thing to check.
Expect the fusion to be imperfect on hair edges and heavy lighting; this model is decent, not magic. And remember the pack's last push was April 2025 with a small user base - when things break, the fix is usually "check the ModelScope download," not "ask a forum full of people who've seen this exact error."
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| source_image | IMAGE | — | |
| fusion_image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |