Nodes/ComfyUI-WithAnyone/WithAnyone Sampler
ComfyUI Node

WithAnyone Sampler

The node that actually makes the picture

By okdalto·Created 10 months ago·Updated 9 months ago· 26
WithAnyone Sampler
  • conditioning
  • withAnyone_pipeline
  • person1
  • person2
  • person3
  • person4
  • image
  • debug_bbox_image
seed42
num_steps25
width1024
height1024
siglip_weight0.80

This is WithAnyone's KSampler. Everything before it - the model loader, the bbox calculators, the conditioning nodes - is setup; this node runs the denoise and produces the actual image. It doesn't look like a standard sampler, because a standard sampler knows nothing about faces. This one takes up to four people and places each one in the frame you drew for them.

The inputs that matter

The sampler replaces the usual model inputs with its own plumbing. You'll see a lot of unfamiliar wire types; here's the handful a beginner actually touches:

  • conditioning - normal Flux conditioning from a DualCLIPLoader (clip_l + t5xxl) and CLIPTextEncode. The text still matters; WithAnyone is "controllable," which means it obeys the prompt, so the prompt is where you describe the scene and the people.
  • withAnyone_pipeline - from the Model Loader. Required.
  • person1 - required, a PERSON_CONDITIONING object from WithAnyone Single Person Conditioning. person2, person3, person4 are optional; plug in one per extra face. Want three people? Three conditioning nodes, three wires.
  • seed - default 42. Standard.
  • num_steps - 25 by default. The research repo's default is 50; 25 is the pack author cutting it in half, and it's a reasonable place to start. Crank it up if faces come out mushy.
  • width / height - 1024 by default, 256–2048 in steps of 8. Flux likes powers of two-ish numbers.
  • siglip_weight - the star of the show, default 0.8.

What siglip_weight actually does

WithAnyone conditions on two embeddings per person: ArcFace (pure identity - "who") and SigLIP (mid-level details - "what the photo looked like"). This slider trades between them. Crank it toward 1 and the output keeps expression, makeup, hairstyle, accessories from the reference - resemblance in form. Drop it toward 0 and you get ArcFace's identity with room to restyle - resemblance in spirit. The README's guidance is the opposite of what beginners expect: higher siglip_weight gives better identity consistency but weaker text adherence, so it's a two-way street. And if you lean on ArcFace (low weight), describe the person in the prompt - skin tone, age, build, hair - because the identity vector alone loses those.

The bbox trap, from the source

The sampler won't mix people when it has boxes, because each person's embeddings are injected through a cross-attention mask anchored to their box. But the rule is all-or-nothing: if any person has a bbox, every person must have one. Mix matched and unmatched people and you get "Either all persons must have bboxes or none should have bboxes." If nobody has a box, the sampler quietly picks random placements from a preset list - which the README calls "not recommended," and it isn't.

Outputs

  • image - a LATENT, not an image. Run it through a VAE Decode, same as any sampler.
  • debug_bbox_image - a preview showing every person's box in a different color, labeled P1–P4. Invaluable for checking whether your layout is sane before you wait for a full generation. Also the thing that tells you which P is which when you're juggling four faces.

Common issues

"conditioning lacks 'pooled_output'" means you fed it conditioning from the wrong CLIP - it needs the Flux dual-clip path (clip_l + t5xxl), not a single-encoder setup. Small or overlapping boxes cause the "too small" bbox error or faces bleeding into each other; give each person clear real estate. And expect long generations - Flux at 12B plus an identity adapter is not a light sampler, so this is where the VRAM complaints show up.

Categorysd

Inputs (11)

NameTypeDefaultDescription
conditioningCONDITIONING
withAnyone_pipelineWITHANYONE_PIPELINE
person1PERSON_CONDITIONING
seedINT42
num_stepsINT25
widthINT1024256–2048
heightINT1024256–2048
siglip_weightFLOAT0.800–1
person2optPERSON_CONDITIONING
person3optPERSON_CONDITIONING
person4optPERSON_CONDITIONING

Outputs (2)

NameTypeDescription
imageLATENT
debug_bbox_imageIMAGE