Nodes/ComfyUI-OC-Generator/OC Character Face Block
ComfyUI Node

OC Character Face Block

358 ways to say 'look at this face' without typing a single tag

By Zhuozhuo-219·Created 3 months ago·Updated 2 months ago· 0
OC Character Face Block
    • oc_block
    • prompt_preview
    • debug_text
    group__all_groups__
    modefixed
    option舌头 | 眨眼舌头上伸 -> ;p
    enabledtrue
    seed0
    step1

    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, randomize is genuinely useful for concept exploration - same seed, same face, guaranteed.
    • option - the static dropdown over all 358 entries, formatted subcategory | 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.

    CategoryOC Generator/Blocks

    Inputs (6)

    NameTypeDefaultDescription
    groupCOMBO__all_groups__Limit selection to one subgroup. The option dropdown itself is static and will not visually shrink when group changes.
    modeCOMBOfixedfixed keeps the chosen option when valid for the current group. randomize / increment / decrement operate only within the selected group pool.
    optionCOMBO舌头 | 眨眼舌头上伸 -> ;pStatic 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.
    enabledoptBOOLEANtrueDisable this block without deleting it from the workflow.
    seedoptINT00–4294967295Seed used by randomize mode to get reproducible results inside the current group pool.
    stepoptINT11–1024Step size for increment / decrement mode inside the current group pool.

    Outputs (3)

    NameTypeDescription
    oc_blockOC_BLOCKStructured OC block data for downstream aggregation in OC Generator.
    prompt_previewSTRINGThe prompt fragment resolved by this dimension node.
    debug_textSTRINGExecution details, including group filtering and selection behavior.