📸 肖像大师_中文版_2.2
40 dropdowns that build your portrait prompt
- positive
- negative
You know how writing a good portrait prompt is mostly fighting your own vocabulary - you want "shoulder-up, 28, warm rim light, skin pores" and you type it, and the model gives you a closeup with plastic skin? This node is the fix for that, and it's gloriously uncomplicated. It doesn't call any API, needs no model download, no key. It's a giant form: ~40 dropdowns and sliders, all in Chinese, and when you hit run it stitches them into a ready-made positive/negative prompt pair for you. Choosing beats remembering, which is exactly the author's pitch ("选择永远比填空更适合人类" - choosing is always better than free-texting for humans).
It's the Chinese localization of Stefano Flore's ComfyUI Portrait Master, optimized and maintained by ZHO-ZHO-ZHO - the same Zho behind the popular ComfyUI-BiRefNet-ZHO background-removal nodes, so you're in decent hands. The panel here is V2.2, and honest note from the README: newer does not mean better. Each version piles on more parameters, and each one dilutes the rest. V2.2 is maxed out; the author literally says pick the version that suits you.
How it works
Every dropdown's Chinese label maps to an English phrase via JSON files in the pack's lists/ folder - 镜头类型 "半身像" becomes "Half-length portrait", 开心 becomes "Happy", and so on through 194 nationalities, 40 hairstyles, 33 light types, 25 expressions. The node assembles those phrases in a fixed order (start prompt → shot → nationality/gender/age → body → pose → eyes → expression → face shape → hair → skin → eyes detail → lighting → end prompt), then runs .lower() over the whole thing and hands you two strings.
Outputs are just two: positive and negative (both STRING). Wire positive into your positive CLIPTextEncode, negative into the negative one. That's the entire graph footprint. Everything stays as plain (word:weight) syntax, so it plays nice with SD1.5 and SDXL. Flux and friends will mostly ignore the weights - this is a CLIP-era tool, keep that in mind.
The inputs that actually matter
You don't touch all 40. The defaults are sane, and the few worth setting:
- 镜头类型 / 镜头权重 - the shot. Portrait, headshot, half-length, full body. Set 镜头类型 to
-if you're driving framing with ControlNet instead. - 国籍_1, 国籍_2, 国籍混合 - pick two nationalities and a mix; it emits SDXL-style
[eth1:eth2:0.5]alternating syntax. Fun, but genuinely only works on a base model that understands those words. - 起始提示词 / 补充提示词 / 结束提示词 / 负面提示词 - the four free-text slots. They land at the start, middle, and end of the assembled prompt, which matters because earlier tokens get more attention. Defaults are
raw photo, (realistic:1.5)and(white background:1.5). - 提高照片真实感 - a simple enable/disable that tacks on
(detailed, professional photo...), (film grain:1.5)to positive and a "shiny skin" negative. - Everything else is taste: 年龄, 脸型, 发型, 胡子, the skin-detail sliders. The skin/eye sliders default above zero for a reason - that's where the "real photo" feel comes from.
Install
Zero dependencies, no requirements.txt, nothing to download. Via ComfyUI Manager search "comfyui-portrait-master-zh-cn", or:
cd ComfyUI/custom_nodes
git clone https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn.git
Then restart ComfyUI. Done.
Gotchas worth knowing
The source has a few traps that'll confuse you if you run it blind. 面部对称性 (facial symmetry) actually outputs "facial asymmetry" - crank that slider up and you get more asymmetric, not less. There's also a copy-paste bug where the 痣 (mole) slider emits "skin pores". And 头发蓬松度 (hair fluffiness) always appends (disheveled:...) to the prompt because its on/off check is buggy - set it to 0 if you don't want disheveled hair creeping into everything.
Bigger picture, the README warns: don't fill every field. Everything is in the prompt at once, so maxing out all 40 sliders leaves each one diluted and can even override your shot framing - if your "half-length portrait" keeps coming out as a closeup, drop the skin/eye detail sliders or add (closeup, close up, close-up:1.5) to the negative prompt. And for poses: the 姿势 library is prompt-only, so you'll be rerolling a lot to hit a specific pose. The author's blunt advice is to use ControlNet/openpose for actual pose control and set 镜头类型 to -, and honestly, that's the right call. As a portrait-prompt drafting tool it's a time-saver; as a replacement for ControlNet it isn't.
Inputs (41)
| Name | Type | Default | Description |
|---|---|---|---|
| 镜头类型 | COMBO | - | 9 options: -, 肖像, 头像, 肩部以上肖像, 半身像, 全身像 Full-length portrait, +3 |
| 镜头权重 | FLOAT | 1.500–1.75 | — |
| 性别 | COMBO | - | 3 options: -, 男性, 女性 |
| 年龄 | INT | 2018–90 | — |
| 国籍_1 | COMBO | - | 194 options: -, 阿富汗人, 阿尔巴尼亚人, 阿尔及利亚人, 安道尔人, 安哥拉人, +188 |
| 国籍_2 | COMBO | - | 194 options: -, 阿富汗人, 阿尔巴尼亚人, 阿尔及利亚人, 安道尔人, 安哥拉人, +188 |
| 国籍混合 | FLOAT | 0.500–1 | — |
| 体型 | COMBO | - | 5 options: -, 瘦, 正常, 超重, 肥胖 |
| 体型权重 | FLOAT | 0.000–1.75 | — |
| 姿势 | COMBO | - | 19 options: -, 力量姿势, 行走姿势, 回眸姿势, S曲线姿势, 坐姿, +13 |
| 眼睛颜色 | COMBO | - | 9 options: -, 棕色, 蓝色, 绿色, 淡褐色, 灰色, +3 |
| 面部表情 | COMBO | - | 25 options: -, 开心, 伤心, 生气, 惊讶, 害怕, +19 |
| 面部表情权重 | FLOAT | 1.500–1.75 | — |
| 脸型 | COMBO | - | 13 options: -, 椭圆形, 圆形, 方形, 心形, 长形, +7 |
| 脸型权重 | FLOAT | 1.000–1.75 | — |
| 面部对称性 | FLOAT | 0.200–1.75 | — |
| 发型 | COMBO | - | 40 options: -, 不对称剪裁, 直剪, 波波头, 编织波波头, 寸头, +34 |
| 头发颜色 | COMBO | - | 10 options: -, 黑色, 棕色, 金色, 红色, 赤褐色, +4 |
| 头发蓬松度 | FLOAT | 1.000–1.75 | — |
| 胡子 | COMBO | - | 21 options: -, 胡茬胡子, 山羊胡, 全蓄胡子, 范戴克胡, 灵魂小胡子, +15 |
| 皮肤细节 | FLOAT | 0.500–1.75 | — |
| 皮肤毛孔 | FLOAT | 0.300–1.75 | — |
| 酒窝 | FLOAT | 0.000–1.75 | — |
| 皱纹 | FLOAT | 0.000–1.75 | — |
| 雀斑 | FLOAT | 0.000–1.75 | — |
| 痣 | FLOAT | 0.000–1.75 | — |
| 皮肤瑕疵 | FLOAT | 0.000–1.75 | — |
| 痘痘 | FLOAT | 0.000–1.75 | — |
| 小麦色肤色 | FLOAT | 0.000–1.75 | — |
| 眼睛细节 | FLOAT | 1.200–1.75 | — |
| 虹膜细节 | FLOAT | 1.200–1.75 | — |
| 圆形虹膜 | FLOAT | 1.200–1.75 | — |
| 圆形瞳孔 | FLOAT | 1.200–1.75 | — |
| 灯光类型 | COMBO | - | 33 options: -, 自然阳光, 柔和环境光, 强烈阳光, 阴天, 日落余晖, +27 |
| 灯光方向 | COMBO | - | 11 options: -, 从上方, 从下方, 从右侧, 从左侧, 从前方, +5 |
| 灯光权重 | FLOAT | 1.200–1.75 | — |
| 提高照片真实感 | COMBO | 2 options: enable, disable | |
| 起始提示词 | STRING | raw photo, (realistic:1.5) | — |
| 补充提示词 | STRING | (white background:1.5) | — |
| 结束提示词 | STRING | — | |
| 负面提示词 | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | STRING | — |
| negative | STRING | — |