OC Outfit Decoration Part
Decorative clothing details that make an OC memorable
- oc_part
- prompt_preview
- debug_text
OCOutfit Decoration Part is the pack's junk drawer - in the best way. 83 options under 装饰 (decoration) and 其他 (other) covering the clothing details that don't fit neatly into any other slot: aiguillette (shoulder cord), amulet, anchor_symbol, arm_garter, argyle_legwear, bandaid, bandaid_on_knee, ankle_lace-up, bandaged_leg. It's the "little things that make a character read as designed" slot, and in character art those little things are half the battle.
It feeds Character Outfit Block's decoration_part input, right at the end of the slot order, so decorations land last in the outfit phrase. That's fine - they're garnish, applied after the silhouette is set.
How it works
mode-unset(default, emits nothing),fixed, orrandomize. The pack's universal footgun: leave it unset and none of the details get emitted. With a details node like this one, that's the whole point of the node, so it stings more when you forget.option- static dropdown over all 83, formatted其他 | 肩带 -> aiguillette.
group has three choices (__all_groups__, 装饰, 其他) and the option dropdown is static, so a group/option mismatch falls back to the first item in the chosen group with a debug_text note. randomize is deterministic (same seed, same decoration). color_role defaults to auto, mapping the decoration slot to accent - the palette's small-emphasis role, which suits decorative details exactly: a connected palette colors the amulet or the lace-up as the accent against a primary-colored outfit.
The overlap to expect
Because the catalog is assembled from 装饰 and 其他, you'll see the same tag in both subgroups (ankle_lace-up appears twice) and overlapping with other parts (arm_garter also lives in handwear, argyle_legwear in legwear). This is the pack's data being inconsistent, not a bug - and OC Generator's dedupe (on by default) quietly drops duplicates when the same fragment resolves twice. Just don't be surprised when the dropdown shows near-identical entries a few rows apart.
Outputs
oc_part (typed OC_PART_OUTFIT_DECORATION, wire into decoration_part), prompt_preview (the resolved tag), 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 (search ComfyUI-OC-Generator). No extra dependencies, no model downloads - the catalog ships in-repo, so the dropdown is ready offline.
The honest take: this is one of the more fun nodes in the pack precisely because it's unsystematic - the details slot is where personality sneaks in. 83 options is a decent curated cut, and the things it's missing are easily covered via OC Generator's prefix_prompt. The pack is young and quiet, so treat debug_text as the docs and check mode before you run - with a decorations node, "unset" means you lose the entire point of the node.
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 | 其他 | 肩带 -> aiguillette | 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_DECORATION | 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. |