FaceParsingResultsParser(FaceParsing)
Turn the segmentation into the exact mask you want
- result
- MASK
FaceParse gives you a full segmentation of every part of a face in one pass, but most of the time you don't want all of that as a mask - you want skin, or skin plus lips, or everything except hair. This node is the checkbox panel that turns FaceParse's raw result into the one MASK you actually need, and it's the reason FaceParse and this node are two separate steps instead of one: run the expensive segmentation once, then build as many different masks from it as your workflow needs, each with a different checklist.
How it works
Every region the underlying face-parsing model can label gets its own boolean toggle here. Check a box, that region is included in the output mask; uncheck it, it's excluded. There's no threshold or blend to tune - it's a straight include/exclude per label, and the node ORs together every checked region into one combined mask.
The inputs that matter
One required input, result (FACE_PARSING_RESULT), from FaceParse - that's the segmentation data being filtered.
Then a full set of boolean toggles, one per labeled region, each defaulting to true except background which defaults to false:
- background - off by default, since you're usually building a mask of the face, not the space around it.
- skin, nose, mouth, u_lip (upper lip), l_lip (lower lip) - the core "face surface" set. This combination is the one you want for skin-smoothing or retouching passes, since it covers the face without eating into hair, eyes, or clothing.
- r_eye, l_eye, r_brow, l_brow - right/left eye and eyebrow. Uncheck these if you're smoothing skin and don't want to touch the eye area.
- r_ear, l_ear, ear_r - right/left ear plus earring.
- hair, hat - separate toggles, useful if you want a mask that follows the hairline without grabbing a hat, or vice versa.
- eye_g - eyeglasses, as a distinct region from the eyes themselves.
- neck, neck_l, cloth - neck, necklace, and clothing/collar, for masks that need to extend below the jawline.
All 19 default to on except background, so out of the box you get everything-but-background - a full-face-plus-everything-around-it mask. For a targeted use like skin retouching, you'll want to uncheck most of these down to just skin (and maybe nose, u_lip, l_lip if you want mouth texture included too).
The output is a single MASK, ready to plug into any standard masking node - a masked inpaint, a composite, a blur, whatever your downstream step is.
Installing it
Bundled with the whole pack:
- ComfyUI Manager - search "comfyui_face_parsing", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Ryuukeisyou/comfyui_face_parsing.git, restart ComfyUI.
No extra dependencies beyond what FaceParse already needs upstream.
Common issues
The mask coming out empty or oddly shaped almost always traces back to two unchecked boxes you forgot about, not this node being broken - with 19 toggles, it's easy to leave something on (or off) that you meant the opposite for. If a mask looks like it's missing the mouth area, check that u_lip and l_lip are both on - lips are split into upper and lower rather than one combined toggle, which catches people who only flip mouth. And if you're chaining this into a skin-smoothing workflow (a common use for this pack), remember mouth here refers to the inner mouth region, not the lips - you likely want it off while u_lip/l_lip stay on, so the smoothing pass doesn't blur teeth.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| result | FACE_PARSING_RESULT | — | |
| background | BOOLEAN | false | — |
| skin | BOOLEAN | true | — |
| nose | BOOLEAN | true | — |
| eye_g | BOOLEAN | true | — |
| r_eye | BOOLEAN | true | — |
| l_eye | BOOLEAN | true | — |
| r_brow | BOOLEAN | true | — |
| l_brow | BOOLEAN | true | — |
| r_ear | BOOLEAN | true | — |
| l_ear | BOOLEAN | true | — |
| mouth | BOOLEAN | true | — |
| u_lip | BOOLEAN | true | — |
| l_lip | BOOLEAN | true | — |
| hair | BOOLEAN | true | — |
| hat | BOOLEAN | true | — |
| ear_r | BOOLEAN | true | — |
| neck_l | BOOLEAN | true | — |
| neck | BOOLEAN | true | — |
| cloth | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MASK | MASK | — |