Portrait Cosmetic Prompt
Eyeshadow, liner, lipstick, blush
- text
Makeup is one of those things models either nail or completely invent - ask for "natural makeup" and you might get full glam or none at all. Portrait Cosmetic Prompt treats it like a menu: pick a makeup style (134 options) and a color (202 options), then dial in individual products - eyeshadow, eyeliner, mascara, blush, lipstick, lip gloss - each on its own weight slider. It's the cosmetics specialist in ComfyUI-PromptWrapper's portrait family, designed to sit alongside Portrait Prompt rather than replace it.
How it works
Same dataset machinery as the other portrait builders: makeup_style_datas.jsonl and makeup_color_datas.jsonl in the pack's assets/ folder, Chinese or English per the language input. -- omits, random 🎲 picks via seed % dataset_length, and weights wrap phrases as (phrase:1.3). The product slots are special: they're weight-only toggles (no dropdown) that pull fixed phrases like "eyeshadow" from a bundled JSON, so setting eyeshadow_weight: 1.2 adds (eyeshadow:1.2) to the output. At weight 0 a product simply doesn't appear.
Inputs that matter
- makeup_style and makeup_style_weight - the overall look ("natural", "glam", "smoky"...). The one you'll set first.
- makeup_color and makeup_color_weight - the palette, default weight 1.
- eyeshadow_weight, eyeliner_weight, mascara_weight, blush_weight, lipstick_weight, lip_gloss_weight - the fine control. Each defaults to 1, so dial one down to mute it or up past 1.0 to push it.
- seed, preset_prompt, input_prompt (optional), enable - the standard pack controls.
One text output - a comma-joined, weighted makeup phrase for your CLIP Text Encode.
Install
ComfyUI Manager → Custom Nodes Manager → search ComfyUI-PromptWrapper → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/clouddreamfly/ComfyUI-PromptWrapper
Datasets ship with the pack; nothing to download.
Where people get burned
The usual pack caveats apply - the weighting syntax is CLIP-encoder-only, and language defaults to Chinese. The makeup-specific trap is over-specification: seven weighted product terms in one prompt is a lot of pressure on a checkpoint, and on models without strong makeup vocabulary the output turns to mush. Start with the style and color, add one or two product weights, and treat the rest as optional detail. And remember this node only describes makeup - pair it with the pack's Portrait Skin Prompt if you want the skin texture under it handled too.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| language | COMBO | Chinese | 2 options: Chinese, English |
| makeup_style | COMBO | -- | 134 options: --, random 🎲, 化妆, 粉底, 眼影, 口红, +128 |
| makeup_style_weight | FLOAT | 1.000–2 | — |
| makeup_color | COMBO | -- | 202 options: --, random 🎲, 奶茶裸色, 肉桂奶茶色, 豆沙裸粉, 燕麦米色, +196 |
| makeup_color_weight | FLOAT | 1.000–2 | — |
| eyeshadow_weight | FLOAT | 1.000–2 | — |
| eyeliner_weight | FLOAT | 1.000–2 | — |
| mascara_weight | FLOAT | 1.000–2 | — |
| blush_weight | FLOAT | 1.000–2 | — |
| lipstick_weight | FLOAT | 1.000–2 | — |
| lip_gloss_weight | FLOAT | 1.000–2 | — |
| seed | INT | 00–18446744073709550000 | — |
| enable | BOOLEAN | true | — |
| preset_prompt | STRING | — | |
| input_promptopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |