Easy Hair Prompt Selector (STRING only)
Stop Typing `twintails, black hair` — Pick It From a Dropdown
- text
If you've ever fat-fingered blonde hair into a negative prompt, or stared at a LoRA training caption and wondered if hair over one eye is a real tag (it is), this node is for you. Easy Hair Prompt Selector is a single dropdown UI that assembles an anime hair prompt for you: twelve categories, one output, zero typos. You pick a color, a length, a hairstyle, and it hands you a ready-to-use STRING of Danbooru-style English tags.
It's a narrow tool, so let's be clear about scope up front. This pack is hair only - no faces, no outfits, no poses. The author even renamed it to "Easy Hair Prompt Selector (STRING only)" for exactly that reason. It's not a general prompt composer; it's a specialized one, aimed at one job: stable, repeatable hair prompts for LoRA training and batch generation, the kind of work where you want the same tag spelled identically across a thousand runs.
How it works
Under the hood it's embarrassingly simple, and that's the point. At ComfyUI startup the node loads a YAML file (ill_hair.yml, shipped in the pack) that maps Japanese dropdown labels to English tag values - 黒色 becomes black hair, 姫カット becomes hime cut, 毛先だけのカラー becomes colored tips. Twelve categories become twelve dropdowns: solid hair color, multi-tone color, length, bangs, side/back hair, ponytail, twintails, braids, updos, cuts, drills/buns/rings, and a misc bucket.
Every dropdown defaults to - (skip). Whatever you actually select gets joined with ", " into one string and sent out the single STRING output named text. That's the whole mechanism - no API calls, no models, no GPU. It's a controlled vocabulary baked into a file, which is both its strength (consistent output) and its ceiling (you can't add "wavy purple-and-teal half-updo" without editing the YAML).
Wiring it in
Wire text straight into a CLIP Text Encode node, or into a Text Concatenate/Join node if you're building a longer prompt. On the SDXL anime lineage - Illustrious, NoobAI, Pony - these are real Danbooru vocabulary words and the models understand them best. On Flux or other natural-language models the tag soup still works but reads worse; keep that in mind before building a whole batch workflow on it.
Installing
ComfyUI Manager: search easy_prompt_selector_for_comfyui and install. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Atsushi888/easy_prompt_selector_for_comfyui.git
pip install pyyaml
Then restart ComfyUI. The pack has no requirements.txt, so pyyaml is on you - though ComfyUI usually already has it, since half the ecosystem depends on it. Search for the node by the class name EasyHairPromptSelector; the display name is "Easy Hair Prompt Selector (STRING only)", and it lives under the EasyPromptSelector category.
Gotchas
- The README lies a little. It names the node "Easy Prompt Selector (All Hair from YAML)" and describes an auto-select-defaults feature (
DEFAULT_AUTO_SELECT_CATEGORIES). The shipped code has neither - every dropdown just starts on- (skip). Don't hunt for a setting that isn't there. - YAML loads once at startup. Edit
ill_hair.ymland you must restart ComfyUI; hot reload is intentionally not supported. - The labels are Japanese, the output is English. Totally normal if you're a fluent tag-picker; a little surprising the first time otherwise.
- Startup error about
pyyamlis almost certainly the missing dependency -pip install pyyamland restart.
Where this really shines is LoRA training: hold the hair constant across a dataset while you vary everything else, and you get a character whose hair the model never conflates with something else. That's the whole "describe what should vary, leave what shouldn't undescribed" rule from training guides, delivered as twelve dropdowns instead of a copy-paste accident waiting to happen.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| 髪色(単色) | COMBO | — (skip) | 24 options: — (skip), 黒色, 白色, 灰色, 茶色, 赤色, +18 |
| 髪色(復色) | COMBO | — (skip) | 11 options: — (skip), ツートンカラー, マルチカラー, メッシュ, ストライプ, グラデーション, +5 |
| 髪の長さ | COMBO | — (skip) | 9 options: — (skip), ベリーショート, ショート, セミロング, ロング, ベリーロング, +3 |
| 前髪 | COMBO | — (skip) | 24 options: — (skip), 短い前髪, 長い前髪, インテーク, でこ出し, オールバック1, +18 |
| 横髪・後髪 | COMBO | — (skip) | 8 options: — (skip), 耳の後ろの髪, サイドロック, ドリルロック, 横跳ね, サイドカット, +2 |
| ポニーテイル | COMBO | — (skip) | 16 options: — (skip), ポニー, サイドポニー, ハイポニー, ハイサイドポニー, ローポニー, +10 |
| ツインテール | COMBO | — (skip) | 8 options: — (skip), ツイン, ローツイン, ショートツイン, 編み込みツイン, ドリルツイン, +2 |
| 編み込み | COMBO | — (skip) | 12 options: — (skip), 編み込み, クラウンブレイド, フレンチブレイド, 三つ編み(1本), 三つ編み(2本), +6 |
| アップ系 | COMBO | — (skip) | 9 options: — (skip), ハーフアップ, ヘアアップ, ワンサイドアップ, ツーサイドアップ, 頭頂部結び, +3 |
| カット系 | COMBO | — (skip) | 9 options: — (skip), ロングショート, ピクシーカット, ボウルカット, ボブカット, インバーテッドボブ, +3 |
| ドリル・お団子・リング | COMBO | — (skip) | 14 options: — (skip), ドリル, シングルドリル, ポニードリル, ツインドリル, ロードリル, +8 |
| その他 | COMBO | — (skip) | 7 options: — (skip), ドレッド, リーゼント, モヒカン, コーンロウ, アフロ, +1 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |