OC Presentation Pose Block
From afloat to all fours, pick a pose without the thesaurus
- oc_block
- prompt_preview
- debug_text
The difference between a character and a mannequin is usually one good pose tag. OC Presentation Pose Block is the ComfyUI-OC-Generator node for that job: 278 base poses, body actions, and non-interaction movements in a single dropdown, each one stored as a correct English tag. Floating on water, arched back, aiming at the viewer, kneeling, makeup application - if it's a body position a booru tag exists for, it's probably in here.
It belongs to the pack's presentation layer and handles the body-level action, while its sibling OC Presentation Interaction Block takes the hand-level and inter-character cues. Pose groups are 基础动作 (basic actions like afloat, against glass, applying makeup), 腿部动作 (leg poses like all fours and ankle straps), and 其他动作 (everything else). The dropdown labels keep the Chinese and English side by side - 基础动作 | 瞄准 -> aiming - so you always know what tag is about to hit your prompt.
The control scheme, briefly
Same engine as every other OC block, so there's no new vocabulary to learn:
- mode -
fixedholds your selection;randomizepicks inside the current group pool;increment/decrementwalk through the pool, stepping by the optionalstepvalue (default 1). This is the "batch through every pose and see which ones sing" workflow, and it works great. - option - the static full-catalog dropdown. Yes, static - see below.
- group - narrows the active pool to one subgroup.
Optional inputs: enabled to silence the block, and seed to make randomize reproducible. Outputs are the standard block set - oc_block (structured data), prompt_preview (the tag), debug_text (what was selected and from which pool). Wire oc_block into OC Generator, which places the pose between outfit and camera in the assembled prompt.
The thing to remember about group
Changing the group does not shrink the option dropdown. It only changes which options are legal at execution time, and if your selected option isn't in the group, the node falls back to the first valid item in that group - visible only in debug_text (requested option not in current group; fallback applied.). With 278 options and three groups, this is the single most common way people get "why is my character doing something I never asked for." Either keep group on __all_groups__, or check debug_text when a pose doesn't match your intent.
Install
Nothing heavy here: the pack has no model files and no pip dependencies - its requirements.txt is a comment saying so. The tag data ships as JSON in the repo.
cd ComfyUI/custom_nodes
git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
Or install "ComfyUI-OC-Generator" from ComfyUI Manager and restart. The node lives under OC Generator → Blocks. And the standing reminder applies: this generates prompt text, so pair it with an anime SDXL model (Illustrious, NoobAI, Pony) where those tags actually resolve.
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 | 基础动作 | 浮(在水上) -> afloat | 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. |