Nodes/ReActor Node for ComfyUI/Make Face Model Batch 🌌 ReActor
ComfyUI Node Runs on cloud

Make Face Model Batch 🌌 ReActor

Bundle saved faces for blending

By GourieffΒ·Created 3 years agoΒ·Updated 2 years agoΒ· 1,747
Make Face Model Batch 🌌 ReActor
  • face_model1
  • face_model2
  • face_model3
  • face_model4
  • face_model5
  • face_model6
  • face_model7
  • face_model8
  • face_model9
  • face_model10
  • FACE_MODELS

ReActor Make Face Model Batch (class ReActorMakeFaceModelBatch) is a plumbing node with exactly one job: gather up to ten separate face models into a single bundle so you can blend them. On its own it swaps nothing and blends nothing - it just collects. You wire several Load Face Model nodes into its inputs, and it emits one FACE_MODEL output that feeds straight into Build Blended Face Model, which does the actual averaging. Think of it as the multi-input collector that Build Blended Face Model needs when you want to blend faces you've already saved rather than blend from raw photos.

It arrived in ReActor 0.5.0 to close a gap. Before it, you could blend faces from a batch of images, but if you already had a library of saved .safetensors face models there was no clean way to combine several of them. This node is that way: load model A, load model B, load model C, batch them, blend.

How it works

There's no processing here at all - no detection, no model, no math. The node takes each connected face model and packs them into a list-shaped FACE_MODEL bundle. That bundle is the thing Build Blended Face Model's face_models input expects. All the actual blending (Mean/Median/Mode averaging of the embeddings) happens downstream in Build Blended Face Model; this node just assembles the inputs for it.

The inputs and outputs that matter

  • face_model1 - the one required input. At minimum you connect a single Load Face Model here, though batching one model is pointless, so in practice you'll wire in several.
  • face_model2 through face_model10 (optional) - the rest of the slots. Connect a Load Face Model to each face you want in the blend, up to ten total. Leave the ones you don't need empty; they're all optional.

The single output is FACE_MODELS (a FACE_MODEL bundle). It goes to exactly one destination: the face_models input of Build Blended Face Model. It doesn't connect to a swap node directly - it's not a face, it's a collection waiting to be averaged.

How to install it

Part of the ReActor pack, so installing ReActor installs this. ComfyUI Manager: Install Custom Nodes, search ReActor, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Gourieff/comfyui-reactor-node

then run install.bat / install.py and restart. No models or downloads for this node - it's pure wiring. You will, however, need saved face models to feed it, which means Save Face Model (and the InsightFace stack) have to be working first.

Common issues & troubleshooting

I connected it straight to my swap node and it errored. That's the wrong wiring. FACE_MODELS is a bundle, not a single face - it has to pass through Build Blended Face Model first, which averages the bundle down to one usable FACE_MODEL. The chain is: Load Face Model Γ—N β†’ Make Face Model Batch β†’ Build Blended Face Model β†’ swap node.

My Load Face Model dropdowns are empty (none). You have no saved face models yet. Run Save Face Model or Build Blended Face Model to create some .safetensors files in ComfyUI/models/reactor/faces, refresh the browser, then load them here.

The blend isn't better than one face. This node doesn't control quality - it only collects. Blending quality is Build Blended Face Model's compute_method (try Median if one input is an outlier) and, more than anything, the quality of the individual models you saved. Feed it clean, varied captures of the person.

Whole ReActor menu missing. As always with this pack, that's InsightFace failing to build, not this node. It historically needed Visual Studio C++ Build Tools; use the prebuilt Insightface wheel from the README for your Python version and restart. And the pack-wide caveat holds: InsightFace's weights are non-commercial research only, so this is personal/portfolio work, not something to sell.

Category🌌 ReActor

Inputs (10)

NameTypeDefaultDescription
face_model1FACE_MODELβ€”
face_model2optFACE_MODELβ€”
face_model3optFACE_MODELβ€”
face_model4optFACE_MODELβ€”
face_model5optFACE_MODELβ€”
face_model6optFACE_MODELβ€”
face_model7optFACE_MODELβ€”
face_model8optFACE_MODELβ€”
face_model9optFACE_MODELβ€”
face_model10optFACE_MODELβ€”

Outputs (1)

NameTypeDescription
FACE_MODELSFACE_MODELβ€”