OC Outfit Waist Part
Corsets, belts, and waist capes, without fighting the tag list
- oc_part
- prompt_preview
- debug_text
Want your character in a corset, a maid apron, or a bow tied at the waist - without remembering whether the tag is waist_apron or apron_waist? That's what this node is for. OC Outfit Waist Part is the waist slot in the ComfyUI-OC-Generator outfit assembly line: pick a look from a dropdown, and it hands your prompt a correctly-spelled English tag plus structured data a downstream block can actually reason about.
It lives in the "OC Generator/Parts" menu, and it's one of thirteen slot nodes (upper, outer, lower, legwear, footwear, neckwear, handwear, waist, headwear, facewear, jewelry, decoration) that all feed the same thing: OC Character Outfit Block. That block stitches every connected slot into one outfit prompt fragment and hands it to OC Generator, which merges all your blocks into the positive prompt that goes into your CLIP Text Encode. So a part node on its own does nothing visible - it only earns its keep once you wire its oc_part output into a Character Outfit Block's waist_part socket.
How it picks a tag
Under the hood the node reads a catalog built from the pack's bundled tag data (Chinese labels plus their English booru prompts, e.g. 腰部 | 围裙 -> apron). The waist catalog is small - twelve options including corset, girdle, loincloth, sweater around waist, and waist cape. You get three controls that matter:
- mode -
unsetemits nothing (the outfit block skips the slot entirely),fixeduses whatever option you selected,randomizesamples from the current pool. - option - the static dropdown listing all twelve waist options.
- group - filters to one subgroup (here just
腰部, or__all_groups__).
Two optional inputs do the interesting work. color_role tells the Character Outfit Block how this part should consume the global palette: auto means "assign by slot," and the pack's default for the waist is accent - so if you've connected an OC Palette Block, a waist part will automatically get your accent color prepended ("red corset"). seed makes randomize reproducible.
The trap in the dropdown
The one thing that bites people: the option dropdown is static and never shrinks, even when you pick a group. If your selected option isn't in the current group, execution silently falls back to the first valid item in that group. You won't notice until you read the third output, debug_text, which helpfully prints requested option not in current group; fallback applied. If an outfit suddenly features an unsolicited loincloth, that's where to look.
Outputs, for completeness: oc_part (the structured part data, OC_PART_OUTFIT_WAIST), prompt_preview (the resolved tag), and debug_text (what actually got selected and why).
Install and requirements
There are no models to download and no heavy dependencies - the pack's requirements.txt explicitly declares zero standalone PyPI packages. Install from ComfyUI Manager (search "ComfyUI-OC-Generator") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
Then restart ComfyUI. Because this pack is just JSON catalogs plus Python, it's a genuinely light add - and remember it's a prompt-builder, not a generator, so pair it with an anime SDXL checkpoint (Illustrious, NoobAI, Pony) where comma-separated booru tags still speak the model's language.
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 | 腰部 | 腰围夹克 -> acket | 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_WAIST | 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. |