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.
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)
| Name | Type | Default | Description |
|---|---|---|---|
| sam3_model | MODEL | MODEL from CheckpointLoaderSimple on the SAM3 checkpoint | |
| sam3_clip | CLIP | CLIP from the SAME CheckpointLoaderSimple. The SAM3 text encoder is part of the checkpoint. Needed because this node builds its own prompts. | |
| current_image | IMAGE | Image(s) to process. Supports batch input. | |
| threshold | FLOAT | 0.000–1 | Face-to-reference matching threshold. 0.0 = AUTO: optimal 1:1 assignment (recommended). Above 0 = manual minimum similarity. |
| det_size | COMBO | 640 | Face detection resolution (InsightFace, not SAM3). |
| match_weights | STRING | 70/15/15 | Face/hair/head blend for reference matching, e.g. '70/15/15'. No outfit term here — this node has no outfit_palettes input. |
| aux_preset | COMBO | none | Preset 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_prompt | STRING | Custom SAM3 text prompt for the aux mask (aux_preset='custom'). Any noun phrase: 'shoes', 'necklace', 'backpack'. Note: SAM3 treats commas as separate categories. | |
| aux_threshold | FLOAT | 0.300.05–1 | Confidence threshold for aux detection. |
| aux_prompt | STRING | Free 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_threshold | FLOAT | 0.300.05–1 | Confidence threshold for the aux_prompt grounding. |
| refine_iterations | INT | 20–5 | SAM decoder passes that sharpen each detector mask. 0 = raw detector masks (faster, blockier edges). |
| reference_1opt | IMAGE | Reference image(s) for person 1. | |
| reference_2opt | IMAGE | Reference image(s) for person 2. | |
| reference_3opt | IMAGE | Reference image(s) for person 3. | |
| reference_4opt | IMAGE | Reference image(s) for person 4. | |
| reference_5opt | IMAGE | Reference image(s) for person 5. | |
| depth_mapopt | IMAGE | Depth map for render order sorting. | |
| depth_sort_orderopt | COMBO | front_last | Rendering order handed to the PersonDetailer. |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| person_data | PERSON_DATA | — |
| face_masks | MASK | — |
| head_masks | MASK | — |
| body_masks | MASK | — |
| aux_masks | MASK | — |
| preview | IMAGE | — |
| similarities | STRING | — |
| matches | STRING | — |
| matched_count | INT | — |
| face_count | INT | — |
| report | STRING | — |
| aux_data | PERSON_DATA | — |