Character Prompt Builder - Male Person
Finally, a character builder that knows beards exist
- settings_in
- settings
Most prompt builders are secretly female-only with a "man" checkbox bolted on. Character Prompt Builder - Male Person is the rare one built for guys from the ground up - and its headline feature is 23 facial-hair styles, which tells you exactly who this is for. If you've been writing "man with beard" and getting a clean-shaven 19-year-old, this is the node that fixes it.
It's the male half of the pack's first link in the chain: Female Person's sibling, same architecture, same PM_SETTINGS dict hand-off. You feed it (optionally) a settings dict from a prior node, it stamps the appearance choices you make, and passes settings onward to the Fashion and Poses nodes. Nothing is rendered as text here - the Scene & Generate node at the end of the chain writes the actual sentence.
What sets the male version apart
- facial_hair - 23 options from "Clean shaven" and "5 o'clock shadow" through "Van Dyke", "Handlebar mustache", and a full long beard. This is the input you'll actually remember this pack for.
- body_type - 33 options skewed toward the gym: Skinny through Athletic, Muscular, Ripped, Jacked, Buff. Pair with
height(4ft10–7ft0),body_weight, andwaist_sizefor a fully specified build. - hair_style - 39 men's cuts: Buzz cut, Fade, High fade, Undercut, Pompadour, Quiff… the kind of list you'd get from a barber, not a generic "short/medium/long."
- facial_expression - the same 213-entry list as the female node, including the fun stuff like "Melancholic."
- Everything else - face shape, eye and nose shape/size, skin tone and the texture family (freckles, moles, acne, tan), eye and iris detail, tattoos - mirrors the female version.
The required block is slim: gender (fixed to "Man"), age (default 30), nationality pair + mix slider, and the body fields. Leave the rest at "-" for a casual shot and you're done; drill into face and skin for a close-up.
How it works
Same mechanism as the rest of the pack: dropdown choices collected into a settings dict, merged down the chain, and finally emitted as natural-language prose. That prose style is the smart play for current models - LLM-based text encoders respond to full descriptive sentences, and this whole pack writes the way a photographer would talk. The male node also proves the pack isn't just a reskin: separate option lists per gender, not one shared dropdown.
Installing
ComfyUI Manager → search Character Prompt Builder → Install, then restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/euan-gwd/comfyui-character-prompt-builder
Zero pip dependencies, zero model downloads - the pack is pure Python standard library. On first use it may fetch character_prompt.json (the file of all dropdown options) from GitHub; if you're offline it falls back to a smaller default list, so sparse options usually mean "no internet."
Troubleshooting
- Beard didn't appear - facial hair and expression can fight each other in some checkpoints; if your bearded character renders clean-shaven, try simplifying the expression to "-" and re-running. Some SDXL-lineage models just need the hair in a separate clear phrase.
- Node won't show - full restart of ComfyUI after install; check the console for a load error.
- Character renders as a woman - check that the right person node is wired into Scene & Generate, and remember
settings_inchains only carry the options you actually set; an unset "Man" node is fine, but wiring the wrong person node into a multi-character scene is an easy mix-up.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| gender | COMBO | Man | 1 options: Man |
| age | INT | 3018–90 | — |
| nationality_1 | COMBO | British | 65 options: -, Afghan, Albanian, American, Argentine, Australian, +59 |
| nationality_2 | COMBO | 65 options: -, Afghan, Albanian, American, Argentine, Australian, +59 | |
| nationality_mix | INT | 00–100 | — |
| body_type | COMBO | 33 options: -, Skinny, Slim, Lean, Average, Athletic, +27 | |
| height | COMBO | 28 options: -, 4ft10, 4ft11, 5ft0, 5ft1, 5ft2, +22 | |
| body_weight | COMBO | 24 options: -, 80lbs, 90lbs, 100lbs, 110lbs, 120lbs, +18 | |
| waist_size | COMBO | 11 options: -, Tiny, Narrow, Small, Medium, Thick, +5 | |
| face_shapeopt | COMBO | 14 options: -, Oval, Round, Square, Heart-shaped, Long, +8 | |
| eyes_coloropt | COMBO | 17 options: -, Natural Dark Brown (almost black), Natural Medium Brown (warm brown), Natural Light Brown (amber or honey, golden brown), Natural Hazel (brown with green or gold flecks), Natural Grey (light to deep grey), +11 | |
| eye_shapeopt | COMBO | 16 options: -, Almond, Asian monolid, Close-set, Deep-set, Double eyelid, +10 | |
| nose_shapeopt | COMBO | 21 options: -, Straight (Greek), Roman (Aquiline), Button, Snub, Hawk, +15 | |
| nose_sizeopt | COMBO | 16 options: -, Very small (petite, delicate), Small (subtle, less prominent), Medium (average, balanced), Large (broad, prominent), Very large (striking, dominant), +10 | |
| lip_shapeopt | COMBO | 19 options: -, Biting Lips, Bow-shaped Lips, Closed Lips, Cupid's Bow Lips, Full Lips, +13 | |
| facial_expressionopt | COMBO | 213 options: -, Happy, Sad, Angry, Surprised, Fearful, +207 | |
| facial_hairopt | COMBO | 23 options: -, Clean shaven, Stubble, 5 o'clock shadow, Short beard, Full beard, +17 | |
| hair_styleopt | COMBO | 39 options: -, Buzz cut, Crew cut, Fade, High fade, Low fade, +33 | |
| hair_lengthopt | COMBO | 15 options: -, Bald, Buzzed, Very short, Short, Ear length, +9 | |
| hair_coloropt | COMBO | 78 options: -, Black, Brown, Blonde, Red, Auburn, +72 | |
| skin_toneopt | COMBO | 21 options: -, Very fair (porcelain, ivory), Fair (light beige, creamy), Light (peach, light sand), Light-medium (warm beige, honey), Medium (golden, olive, tan), +15 | |
| skin_detailsopt | COMBO | 4 options: -, subtle skin texture, noticeable skin texture, highly detailed skin texture | |
| dimplesopt | COMBO | 4 options: -, subtle dimples, noticeable dimples, deep dimples | |
| frecklesopt | COMBO | 4 options: -, a few freckles, noticeable freckles, prominent freckles | |
| molesopt | COMBO | 4 options: -, a few moles, several moles, many moles | |
| skin_imperfectionsopt | COMBO | 4 options: -, minor imperfections, natural imperfections, pronounced imperfections | |
| skin_acneopt | COMBO | 4 options: -, a few blemishes, some acne, pronounced acne | |
| tanned_skinopt | COMBO | 4 options: -, a hint of a tan, a sun-kissed tan, deeply tanned skin | |
| eyes_detailsopt | COMBO | 12 options: -, highly detailed, subtle eye detail, naturally expressive, framed by defined eyelashes, bright with catchlights, +6 | |
| iris_detailsopt | COMBO | 13 options: -, intricate iris patterns, subtle iris pattern, natural iris striations, visible radial lines, complex iris texture, +7 | |
| circular_irisopt | COMBO | 6 options: -, perfectly round irises, slightly oval irises, unusually large round irises, small round irises, exaggerated circular irises | |
| circular_pupilopt | COMBO | 7 options: -, realistic pupils, perfectly round pupils, slightly oval pupils, dilated pupils, constricted pupils, +1 | |
| tattooopt | COMBO | 17 options: -, No tattoos, Small tattoo, Arm tattoo, Leg tattoo, Back tattoo, +11 | |
| settings_inopt | PM_SETTINGS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| settings | PM_SETTINGS | — |