OC Outfit Pants Part
Pants for the lower slot — and the sibling it shares a socket with
- oc_part
- prompt_preview
- debug_text
OCOutfit Pants Part is the trousers half of the lower slot: 49 options under a single 裤子 (pants) subcategory, feeding Character Outfit Block's lower_part input. The catalog runs the full bottom-half spectrum - bike_shorts, bloomers, buruma, cargo_pants, capri_pants, chaps, crotchless_pants, cutoffs, denim_shorts, dolfin_shorts - and, in true Danbooru fashion, a few state-of-clothing entries like asymmetricallegwear that describe how the pants are worn rather than what they are.
Here's the structural quirk you need to know before anything else: pants and skirts fight over the same socket. OCOutfit Pants Part and OCOutfit Skirt Part both output the OC_PART_OUTFIT_LOWER type, and the outfit block has exactly one lower_part input. You can't have both in the outfit at once - pick pants or pick a skirt, wire one node into lower_part, and leave the other out. If you genuinely want to flip between them per run, put a switch upstream; otherwise this is a one-or-the-other situation by design.
How it works
The standard part-node controls:
mode-unset(default, emits nothing),fixed, orrandomize. The pack-wide footgun applies: leave it onunsetand your character silently gets no pants.option- static dropdown over all 49, formatted裤子 | 不对称的裤子 -> asymmetricallegwear.
group only has __all_groups__ and 裤子, so the static-dropdown/group-mismatch fallback doesn't really come into play here. randomize is deterministic (same seed, same pants), and color_role defaults to auto, which maps the lower slot to secondary - with a palette connected, your pants take the palette's secondary color while the top takes primary. That two-tone split is exactly how a coordinated outfit should read.
Outputs
The standard trio: oc_part (typed OC_PART_OUTFIT_LOWER, wire into lower_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 downloads - the tag catalog ships in-repo.
The honest take
49 options covers the pants that actually show up in anime character art well, and the "worn state" tags are a nice bonus. But it's a thin catalog next to the fashion vocabulary you might want - when your OC needs a specific cut the list doesn't have, that's a job for OC Generator's prefix_prompt. The pack is young and quiet with no real community trail yet, so treat the debug output as your documentation. And remember the socket rule: pants here, skirt over there, one lower_part, your choice.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| group | COMBO | __all_groups__ | Limit the part to one subgroup inside this slot. The option dropdown is still static in the UI. |
| mode | COMBO | unset | unset emits no prompt. fixed keeps the selected option. randomize samples within the current slot pool. |
| option | COMBO | 裤子 | 不对称的裤子 -> asymmetricallegwear | Static 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_roleopt | COMBO | auto | How this part should consume the global palette. auto lets Character Outfit Block assign a role by slot. |
| seedopt | INT | 00–4294967295 | Seed used by randomize mode for reproducible part selection. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| oc_part | OC_PART_OUTFIT_LOWER | Structured local part data for Character Outfit Block. |
| prompt_preview | STRING | The prompt fragment resolved by this part node. |
| debug_text | STRING | Execution details for slot filtering and random selection. |