NAI 修改表情
Change a character's expression without retyping the whole prompt
- image
- 图像
- 统计
NAI 修改表情 (Modify Emotion) is the Director Tool for faces: give it an image with a character and it re-renders that character with a different expression, keeping everything else as close as it can. If you've ever gotten a portrait's pose, lighting and composition perfect and only the face wrong, this is the node that fixes just the face - no full re-roll, no prompt surgery.
The inputs are refreshingly small:
- image - the source
IMAGE. - emotion - a dropdown of ten: 自然 (natural), 开心 (happy), 悲伤 (sad), 生气 (angry), 害怕 (scared), 惊讶 (surprised), 疲倦 (tired), 兴奋 (excited), 困惑 (confused), 得意 (smug). These map to NovelAI's internal emotion strings - the node literally builds the request from your pick.
- emotion_level - 0–5, default 0. How strongly the expression reads. This is the same "defry"-style intensity parameter the other Director Tools use, applied to facial expression.
- extra_prompt - an optional free-text addition that gets appended to the emotion, for the cases the ten-way dropdown doesn't cover: "worried, glancing off to the side" rides along as extra conditioning.
Outputs: 图像 (the re-expressed IMAGE) and 统计 (the result-count string).
The honest read
This is a one-shot API call, and the one real constraint is that "everything else stays close" is the goal, not a guarantee. NovelAI re-renders the face with the expression as the driver, so a strong level on a detailed character can drift other facial features. The way to tame it: start at emotion_level 1–2, check the output, and only push the level if the expression isn't reading. It's a targeted edit - pair it with the inpaint sampler if you need to protect a specific region, or with Enhance afterward to polish the result.
Also worth noting: it's a Director Tool, so it fires only when the node executes and it costs Anlas per call. There's no cache for these (the image edits are stateless one-shots), so repeated tuning runs are repeated small bills. Do the tuning on a low-res or downscaled copy if you want to save, then run the final on the full-res image.
Install
Same pack recipe: search ComfyUI-NovelAI-GENYTOOLS in ComfyUI Manager, or git clone https://github.com/XTOGENY/ComfyUI-NovelAI-GENYTOOLS.git into custom_nodes + pip install -r requirements.txt, and put your Persistent API Token in ComfyUI settings.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| emotion | COMBO | 开心 | 10 options: 自然, 开心, 悲伤, 生气, 害怕, 惊讶, +4 |
| emotion_level | INT | 00–5 | — |
| extra_prompt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 图像 | IMAGE | — |
| 统计 | STRING | — |