Nodes/Pond Nodes/🐳Pose Selector (Multi-Select)
ComfyUI Node

🐳Pose Selector (Multi-Select)

16 poses in a dropdown, zero dependencies

By Pondowner857·Created about a year ago·Updated 28 days ago· 45
🐳Pose Selector (Multi-Select)
    • english_tags
    • chinese_tags
    • combined_tags
    separatorcomma
    select_综合_1
    select_综合_2
    select_综合_3
    select_姿态_1
    select_姿态_2
    select_姿态_3
    select_手势_1
    select_手势_2
    select_手势_3
    select_视线_1
    select_视线_2
    select_视线_3
    select_整体_1
    select_整体_2
    select_整体_3
    select_上半身_1
    select_上半身_2
    select_上半身_3
    custom_tags

    Pose Selector is a single dropdown that turns into a finished prompt clause. You pick a pose - standing, arms crossed, contrapposto, whatever - and it hands you back the string Change pose to arms crossed, ready to feed straight into a CLIPTextEncode. No APIs, no models to download, no Python packages to fight. It's just string building, and that's exactly why it's useful.

    The name of the pack gives the game away: comfyui-klein9b-multi-angle. It was built alongside Flux 2 Klein 9B, Black Forest Labs' size-distilled editing model, which is happiest when you talk to it in short natural-language instructions ("change the pose to X"). That phrasing works fine on ordinary text encoders too - models have been trained on this kind of direct instruction for years - but if you're running a Klein editing workflow, this node is speaking its language natively.

    How it works

    The mechanism is almost comically simple, and it's worth knowing because it sets your expectations. When you hit Queue, the node takes your chosen pose, wraps it in the prefix Change pose to , and spits out one STRING. There's no model inference, no random walk, no hidden conditioning. The only moving part is the seed.

    Here's the part people miss: the dropdown includes a random option, and the node samples from its 16 poses using Python's random.Random(seed). Same seed, same pose, every time - so you can fix a seed and get reproducible random poses, then bump the seed to explore. Toggle the seed widget's control_after_generate to randomize and every queue gives you a fresh pose for free. That's the classic "batch 32 and get variety" trick from the prompt tooling world, just wrapped in a dropdown instead of {standing|sitting|kneeling} bracket syntax.

    Inputs and outputs that matter

    • pose - the dropdown. 16 presets plus random. Default standing.
    • seed - only does anything when pose is set to random. Otherwise it's decoration.
    • previous_prompt (optional) - connect another selector's output here to daisy-chain.
    • prefix and separator - editable, but you'll rarely touch them. The defaults (Change pose to and , ) do the right thing.
    • Output: a single STRING named prompt. Wire it into CLIPTextEncode's text, or into another selector's previous_prompt.

    The chaining is where this earns its keep. Feed previous_prompt from, say, a Camera Angle Selector, and you get Change camera angle to front view eye-level shot medium shot, Change pose to arms crossed - two nodes, one coherent instruction sentence, no manual comma wrangling. Disconnect the upstream link and this node becomes the chain head automatically, with no stray leading separator.

    Install

    The easiest path is ComfyUI Manager - search for "Multi-Angle Camera Selector" and click install. Or go manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/saluzafa/comfyui-klein9b-multi-angle
    

    Restart ComfyUI. That's the whole install: the pack has zero dependencies (the code imports only Python's standard library), so there's no requirements.txt drama and no model files to fetch. It appears under prompt/character in the node menu.

    Gotchas

    • Don't expect the pose to be perfect. This node writes the words; the model still has to obey them, and no prompt tool fixes a model that ignores pose instructions. If Klein isn't following, that's a sampler/settings conversation, not this node's fault.
    • The pack is MIT and pure text output - no network calls, nothing to audit beyond a few dozen lines of obvious string building.
    • If you set random and keep getting the same pose, check your seed widget: with control_after_generate on fixed, the seed doesn't change, so the "random" is deterministic. That's a feature, but it surprises people.
    Category🐳Pond/text

    Inputs (20)

    NameTypeDefaultDescription
    separatorCOMBOcomma3 options: comma, space, newline
    select_综合_1optCOMBO选择综合相关的姿势标签 #1
    select_综合_2optCOMBO选择综合相关的姿势标签 #2
    select_综合_3optCOMBO选择综合相关的姿势标签 #3
    select_姿态_1optCOMBO选择姿态相关的姿势标签 #1
    select_姿态_2optCOMBO选择姿态相关的姿势标签 #2
    select_姿态_3optCOMBO选择姿态相关的姿势标签 #3
    select_手势_1optCOMBO选择手势相关的姿势标签 #1
    select_手势_2optCOMBO选择手势相关的姿势标签 #2
    select_手势_3optCOMBO选择手势相关的姿势标签 #3
    select_视线_1optCOMBO选择视线相关的姿势标签 #1
    select_视线_2optCOMBO选择视线相关的姿势标签 #2
    select_视线_3optCOMBO选择视线相关的姿势标签 #3
    select_整体_1optCOMBO选择整体相关的姿势标签 #1
    select_整体_2optCOMBO选择整体相关的姿势标签 #2
    select_整体_3optCOMBO选择整体相关的姿势标签 #3
    select_上半身_1optCOMBO选择上半身相关的姿势标签 #1
    select_上半身_2optCOMBO选择上半身相关的姿势标签 #2
    select_上半身_3optCOMBO选择上半身相关的姿势标签 #3
    custom_tagsoptSTRING

    Outputs (3)

    NameTypeDescription
    english_tagsSTRING
    chinese_tagsSTRING
    combined_tagsSTRING