OC Character Face Block
358 ways to say 'look at this face' without typing a single tag
- oc_block
- prompt_preview
- debug_text
OC Character Face Block is the biggest single catalog in the pack - 358 options spread across ten subcategories - and it's the one you'll spend the most time in. It covers everything from structural face shape down to the weirdly specific booru tags this ecosystem runs on: face shape, general facial features, ears, eyebrows, eyes, pupils, nose, mouth, teeth, and tongue.
That last group is where this block gets fun. Because it's drawing on Danbooru-style tags, you're not limited to "blue eyes, smile." You get the whole expressive vocabulary: ahegao, ;p, :>, :0, :3, animal ears (aguar_ears, alpaca_ears, angel_ears), alien ears, star pupils (+_+), tongue-in-the-corner-of-the-mouth tags. If your character needs a very specific anime face, this dropdown almost certainly has the exact tag - and the tag the model actually understands, which beats your paraphrased sentence every time on the Illustrious/NoobAI lineage.
How it works
Same block-node system as the rest of the pack, and the parts that matter:
group- filter to one subcategory (mouth, pupils, ears, …). Default is__all_groups__(everything).mode-fixed/randomize/increment/decrement. For expression-heavy catalogs like this,randomizeis genuinely useful for concept exploration - same seed, same face, guaranteed.option- the static dropdown over all 358 entries, formattedsubcategory | Chinese label -> English tag(e.g.瞳孔 | 十字星星眼 -> +_+).
The gotcha is the same one that bites every block node in this pack, so it's worth internalizing once: the option dropdown is static and does not filter down when you change group. Pick a mouth option, then switch group to "ears," and at execution the block finds your mouth pick isn't in the ear pool - it falls back to the first ear option and logs the mismatch in debug_text. So the dropdown order and your group setting can silently disagree, and debug_text is how you find out.
One subtlety specific to this block: it's a "face structure and expression-capable features" block. Emotion states like smiling or angry live in a different node (the presentation expression block), which also outputs to the Face category. If your character ends up expressionless, check that you're not fighting between two face-flavored blocks - only one of them is this one.
Outputs
The standard three: oc_block (wire into OC Generator), prompt_preview (the resolved tag), and debug_text (group, pool index, and any fallback notes). The enabled toggle lets you keep the block in the graph while silenced, and seed/step drive the randomize and increment modes.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
Restart ComfyUI - or ComfyUI Manager, searching ComfyUI-OC-Generator. No dependencies beyond the host ComfyUI runtime, no model downloads. The catalog rides in the repo.
The honest caveat: the pack is new and under-discussed, and the face catalog is a curated cut, not the full Danbooru list. It's deep where anime faces are deep, but if your OC needs a face trait that isn't in the 358, drop it in OC Generator's prefix_prompt instead of fighting the dropdown.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| group | COMBO | __all_groups__ | Limit selection to one subgroup. The option dropdown itself is static and will not visually shrink when group changes. |
| mode | COMBO | fixed | fixed keeps the chosen option when valid for the current group. randomize / increment / decrement operate only within the selected group pool. |
| option | COMBO | 舌头 | 眨眼舌头上伸 -> ;p | Static dropdown for the whole catalog. If the chosen option does not belong to the current group, execution falls back to the first valid item in that group. |
| enabledopt | BOOLEAN | true | Disable this block without deleting it from the workflow. |
| seedopt | INT | 00–4294967295 | Seed used by randomize mode to get reproducible results inside the current group pool. |
| stepopt | INT | 11–1024 | Step size for increment / decrement mode inside the current group pool. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| oc_block | OC_BLOCK | Structured OC block data for downstream aggregation in OC Generator. |
| prompt_preview | STRING | The prompt fragment resolved by this dimension node. |
| debug_text | STRING | Execution details, including group filtering and selection behavior. |