Nodes/ComfyUI-OC-Generator/OC Outfit Upper Part
ComfyUI Node

OC Outfit Upper Part

The upper slot

By Zhuozhuo-219·Created 3 months ago·Updated 2 months ago· 0
OC Outfit Upper Part
    • oc_part
    • prompt_preview
    • debug_text
    group__all_groups__
    modeunset
    option上衣 | 水手服衬衫 -> sailor_shirt
    color_roleauto
    seed0

    OCOutfit Upper Part fills the upper slot of the character outfit - everything from the waist up. 73 options under the single 上衣 (tops) subcategory, which sounds narrow until you look at what's actually in there. Alongside the expected blouses, camisoles, cardigans, and T-shirts sit the tags that make this pack feel purpose-built for character art: sailor_shirt, backcutout (露背上衣), clothes_open, clothes_down (褪下衣物), clothes_removed, button_gap, cleavage_ccutout, borrowec_garments (borrowed clothes). The catalog is a proper Danbooru-style top list, not a clothing-store inventory.

    It's one of the 13 part nodes that feed Character Outfit Block. Pick a top, set the mode, and the part resolves to a tag like sailor_shirt; the outfit block joins it in fixed slot order with your other garments and hands the composed outfit phrase to OC Generator.

    How it works

    The standard part-node controls, with the two that matter being:

    • mode - unset (default, emits nothing), fixed (your pick), or randomize (seeded sample from the pool). This is the whole game: forget to change it off unset and your character wears nothing, silently.
    • option - the static dropdown, formatted 上衣 | 水手服衬衫 -> sailor_shirt.

    group filters the single 上衣 subcategory (two choices, __all_groups__ or 上衣, so it's mostly ceremony here), and the dropdown is static - it won't shrink when you change group. In a one-subcategory node like this, a group mismatch can't really happen, so the fallback behavior that nags the bigger nodes is a non-issue. randomize is deterministic (same seed, same top), and color_role defaults to auto, which maps the upper slot to primary - so with a palette connected, your top gets the palette's primary color prefixed, keeping the whole outfit coordinated.

    Outputs

    The standard trio: oc_part (typed OC_PART_OUTFIT_UPPER, wire it into Character Outfit Block's upper_part), prompt_preview (the resolved tag), and debug_text (mode, color role, pool index).

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
    

    Restart ComfyUI, or use ComfyUI Manager and search ComfyUI-OC-Generator. No extra dependencies, no model files - the tag catalog ships with the repo.

    Honest caveat: the pack is new and under-discussed, so don't expect a stack of community workflows to copy. The 上衣 catalog covers the common tops well and the expressive "state of clothing" tags even better, but for a specific niche garment you'll want OC Generator's prefix_prompt as the escape hatch. And seriously - check that mode isn't unset before you run.

    CategoryOC Generator/Parts

    Inputs (5)

    NameTypeDefaultDescription
    groupCOMBO__all_groups__Limit the part to one subgroup inside this slot. The option dropdown is still static in the UI.
    modeCOMBOunsetunset emits no prompt. fixed keeps the selected option. randomize samples within the current slot pool.
    optionCOMBO上衣 | 水手服衬衫 -> sailor_shirtStatic dropdown for all options in this part node. If the selected option is outside the current group, execution falls back to the first valid item in that group.
    color_roleoptCOMBOautoHow this part should consume the global palette. auto lets Character Outfit Block assign a role by slot.
    seedoptINT00–4294967295Seed used by randomize mode for reproducible part selection.

    Outputs (3)

    NameTypeDescription
    oc_partOC_PART_OUTFIT_UPPERStructured local part data for Character Outfit Block.
    prompt_previewSTRINGThe prompt fragment resolved by this part node.
    debug_textSTRINGExecution details for slot filtering and random selection.