Nodes/comfyui-fvmtools/Person Selector SAM3 (native)
ComfyUI Node

Person Selector SAM3 (native)

Person selector on ComfyUI's BUILT-IN SAM3 — no custom extension needed. Wire one CheckpointLoaderSimple on the SAM3 checkpoint: MODEL -> sam3_model CLIP -> sam3_clip (the SAM3 text encoder ships inside the same checkpoint) Produces the same PERSON_DATA as Person Selector SAM3: body, face, head, hair, the BiSeNet facial subtypes (facial_skin/eyes/mouth/neck/accessories) and an aux mask from a preset or free text prompt. Slimmer on purpose: 5 references, no outfit palettes, no SAM2, no YOLO aux. Use Person Selector SAM3 if you need those.

By ping1979ping·Created 6 months ago·Updated 5 days ago· 0
Person Selector SAM3 (native)
  • sam3_model
  • sam3_clip
  • current_image
  • reference_1
  • reference_2
  • reference_3
  • reference_4
  • reference_5
  • depth_map
  • person_data
  • face_masks
  • head_masks
  • body_masks
  • aux_masks
  • preview
  • similarities
  • matches
  • matched_count
  • face_count
  • report
  • aux_data
◄threshold0.00►
◄det_size640►
◄match_weights70/15/15►
◄aux_presetnone►
◄aux_custom_prompt►
◄aux_threshold0.30►
◄aux_prompt►
◄aux_prompt_threshold0.30►
◄refine_iterations2►
◄depth_sort_orderfront_last►
CategoryFVM Tools/Face

Inputs (19)

NameTypeDefaultDescription
sam3_modelMODELMODEL from CheckpointLoaderSimple on the SAM3 checkpoint
sam3_clipCLIPCLIP from the SAME CheckpointLoaderSimple. The SAM3 text encoder is part of the checkpoint. Needed because this node builds its own prompts.
current_imageIMAGEImage(s) to process. Supports batch input.
thresholdFLOAT0.000–1Face-to-reference matching threshold. 0.0 = AUTO: optimal 1:1 assignment (recommended). Above 0 = manual minimum similarity.
det_sizeCOMBO640Face detection resolution (InsightFace, not SAM3).
match_weightsSTRING70/15/15Face/hair/head blend for reference matching, e.g. '70/15/15'. No outfit term here — this node has no outfit_palettes input.
aux_presetCOMBOnonePreset aux mask type: - upper_body / lower_body: body halves - clothing: all clothing (no shoes/socks) - hands / feet / arms / legs: body parts - headless_body: body minus head (computed) - custom: uses aux_custom_prompt below
aux_custom_promptSTRINGCustom SAM3 text prompt for the aux mask (aux_preset='custom'). Any noun phrase: 'shoes', 'necklace', 'backpack'. Note: SAM3 treats commas as separate categories.
aux_thresholdFLOAT0.300.05–1Confidence threshold for aux detection.
aux_promptSTRINGFree SAM3 text prompt for the SECOND aux channel, e.g. 'sunglasses', 'handbag', 'tattoo', 'shoes'. Result comes out as `aux_data` — a full PERSON_DATA where EVERY mask type carries the aux region, so a PersonDetailer hits it whatever its mask_type is set to. Also drawn into the preview. Empty = channel off.
aux_prompt_thresholdFLOAT0.300.05–1Confidence threshold for the aux_prompt grounding.
refine_iterationsINT20–5SAM decoder passes that sharpen each detector mask. 0 = raw detector masks (faster, blockier edges).
reference_1optIMAGEReference image(s) for person 1.
reference_2optIMAGEReference image(s) for person 2.
reference_3optIMAGEReference image(s) for person 3.
reference_4optIMAGEReference image(s) for person 4.
reference_5optIMAGEReference image(s) for person 5.
depth_mapoptIMAGEDepth map for render order sorting.
depth_sort_orderoptCOMBOfront_lastRendering order handed to the PersonDetailer.

Outputs (12)

NameTypeDescription
person_dataPERSON_DATA—
face_masksMASK—
head_masksMASK—
body_masksMASK—
aux_masksMASK—
previewIMAGE—
similaritiesSTRING—
matchesSTRING—
matched_countINT—
face_countINT—
reportSTRING—
aux_dataPERSON_DATA—