OC Presentation Interaction Block
Three hundred and ten ways for a character to use their hands
- oc_block
- prompt_preview
- debug_text
Hands are the part of a prompt that separates "character standing there" from "character doing something." OC Presentation Interaction Block is the biggest catalog in the ComfyUI-OC-Generator presentation family for exactly that reason: 310 hand and interaction actions, from adjusting a hat to an arm slung around a neck, each one a correctly-spelled tag you'd otherwise have to remember or look up.
It's the interaction slot in the pack's presentation layer - a sibling to the pose, expression, and camera blocks. Where OC Presentation Pose Block handles whole-body movement, this one covers the granular stuff: hands holding, grabbing, resting, pointing, and the pose-adjacent cues that live close to it. The catalog is grouped under 手部动作 (hand actions) and 人物动作 (character actions), with finer subgroups for hands holding things, hands grabbing things, and hands resting somewhere. Dropdown entries read like 手部动作 / 手上拿着东西 | 单手搂着脖子 -> arm_around_neck.
How you drive it
The three inputs that matter are the pack's standard trio, so muscle memory from any other OC block transfers:
- mode -
fixedholds your pick;randomizesamples inside the current group;increment/decrementstep through the pool. The step size is configurable via thestepinput (default 1), so a step of 10 lets you jump through the catalog faster. - option - the static dropdown over all 310 options. Beware: it never shrinks to match your group.
- group - the active pool filter (hand actions, character actions, etc.).
enabled mutes the block without deleting it; seed makes randomize reproducible. Outputs are the standard block triad - oc_block (structured data for OC Generator to aggregate), prompt_preview (the resolved tag), and debug_text (selection details).
The gotcha is the same one
Because the option dropdown is static, choosing an option outside your selected group triggers a silent fallback to the first valid item in the group. With 310 options and overlapping groups, this is the most likely way this node will confuse you: you pick "hand on shoulder," set group to something narrow, and get "adjusting gloves" without a visible error. debug_text is your friend - it prints requested option not in current group; fallback applied. when that happens. In practice: either leave group on __all_groups__ when you're happy with a specific option, or read the debug output before rerunning.
Install and what it needs
The pack's entire dependency story is "nothing." requirements.txt lists no standalone packages, there are no model downloads, and the catalogs ship as JSON inside the repo.
cd ComfyUI/custom_nodes
git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
Or use ComfyUI Manager and search "ComfyUI-OC-Generator", then restart ComfyUI. You'll find this node under OC Generator → Blocks. As with the rest of the pack, it produces prompt fragments, not pixels - hook the final assembled prompt into an anime SDXL checkpoint where booru tags are the native language.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| group | COMBO | __all_groups__ | Limit selection to one subgroup. The option dropdown itself is static and will not visually shrink when group changes. |
| mode | COMBO | fixed | fixed keeps the chosen option when valid for the current group. randomize / increment / decrement operate only within the selected group pool. |
| option | COMBO | 手部动作 | 整理帽子 -> adjusting_clothes | Static 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. |
| enabledopt | BOOLEAN | true | Disable this block without deleting it from the workflow. |
| seedopt | INT | 00–4294967295 | Seed used by randomize mode to get reproducible results inside the current group pool. |
| stepopt | INT | 11–1024 | Step size for increment / decrement mode inside the current group pool. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| oc_block | OC_BLOCK | Structured OC block data for downstream aggregation in OC Generator. |
| prompt_preview | STRING | The prompt fragment resolved by this dimension node. |
| debug_text | STRING | Execution details, including group filtering and selection behavior. |