Nodes/ComfyUI_InfiniteYou/Face Combine (InfiniteYou)
ComfyUI Node

Face Combine (InfiniteYou)

Predicting your future children, with one honest caveat

By ZenAI-Vietnam·Created about a year ago·Updated about a year ago· 249
Face Combine (InfiniteYou)
  • control_net
  • model
  • positive
  • negative
  • ref_image_1
  • ref_image_2
  • latent_image
  • vae
  • MODEL
  • positive
  • negative
  • latent
adapter_file
weight1.00
balance0.50
start_at0.000
end_at1.000
fixed_face_posefalse

Face Combine is the party trick of the ComfyUI_InfiniteYou pack. You feed it photos of two people - the README's example is literally predicting future children - and it generates a face that blends both. Same ByteDance InfiniteYou machinery as the pack's main node, just two identity vectors instead of one, mixed by a single slider. It's fun to demo, quick to wire up, and worth one honest caveat before you print it and frame it.

How it works

Everything from InfiniteYou Apply applies: InsightFace pulls an ArcFace embedding from each photo, a Resampler turns them into image-prompt embeddings for FLUX, and a ControlNet adds keypoint structure. The difference is one line of arithmetic. The node computes:

face_embed = face_embed_1 * balance + face_embed_2 * (1 - balance)

At balance = 0.5 you get a straight average of the two identity vectors in ArcFace space. That's the whole "child" prediction: a mathematical midpoint of how the two faces encode, not genetics. It's the same embedding-averaging trick people do by hand with other identity tools, and it produces a genuinely recognizable in-between face. Fun, and honestly not biology. If the "kid" comes out looking like neither parent, the model is doing exactly what you asked.

The inputs that matter

  • ref_image_1 and ref_image_2 - the two faces. Both need to be clear, front-facing, decently lit; the node picks the largest face in each.
  • balance (0–1, default 0.5) - how the blend leans. 0.5 is 50/50; 0.8 makes the output mostly parent 1 with a hint of parent 2. This is the dial you'll actually be turning.
  • weight (0–5, default 1) - overall identity strength, same as the Apply node. If the blended face drifts into a generic-looking person, push it up.
  • fixed_face_pose - when on, locks the pose to ref_image_1 (the only reference whose landmarks get used).

The rest - control_net, model, positive/negative, latent_image, vae, adapter_file, start_at/end_at - matches InfiniteYou Apply exactly, including the rule to pair the right adapter_file with the right ControlNet.

Outputs and wiring

Same four as its sibling: MODEL, positive, negative, latent, all into one KSampler. The included face_combine.json workflow shows the whole thing and samples at 30 steps with euler/simple, which is a reasonable starting point.

Install and gotchas

Identical to the rest of the pack. You need FLUX.1-dev (flux1-dev.safetensors) plus its VAE, one ControlNet (~5.6 GB) into models/controlnet, the matching *_img_proj.bin (~322 MB) into models/InfiniteYou, and InsightFace antelopev2 unzipped into models/insightface/models/antelopev2. Install the pack via ComfyUI Manager (search "ComfyUI_InfiniteYou") or:

cd ComfyUI/custom_nodes
git clone https://github.com/ZenAI-Vietnam/ComfyUI_InfiniteYou
pip install -r ComfyUI_InfiniteYou/requirements.txt

Same traps as the rest of the pack: pinned numpy==1.26.4 can fight other node packs (update protobuf if PuLID/InstantID go red after install), and a missing or unclear face throws the "No face detected" error. One node-specific tip: if the "child" looks like neither parent, check you're not mixing an aes_stage2 img_proj with a sim_stage1 ControlNet - those pair up, not across.

Two solid reference photos is 90% of the result. Balance is the other 10%. Everything after that is just the standard FLUX identity pipeline, and the pack has done the plumbing for you.

CategoryComfyUI-InfiniteYou

Inputs (14)

NameTypeDefaultDescription
control_netCONTROL_NET
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
ref_image_1IMAGE
ref_image_2IMAGE
latent_imageLATENT
adapter_fileCOMBO0 options:
weightFLOAT1.000–5
balanceFLOAT0.500–1
start_atFLOAT0.0000–1
end_atFLOAT1.0000–1
vaeVAE
fixed_face_poseBOOLEANfalseFix the face pose from reference image.

Outputs (4)

NameTypeDescription
MODELMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT