Pose 1
The cheapest way to vary a character
- text
- id
Pose 1 is the pack's first pose block dropdown, and it's worth being precise about what it does and doesn't do. It does not pose your character like ControlNet - no skeleton, no conditioning image, no pixel-level control. It's a text block: a description of the pose that gets dropped into your prompt. That's the cheap version of varying a character, and for a lot of gallery runs it's plenty.
Here's the mental model. If you're making a "same character, many poses" set, you have two dials. The ControlNet dial gives you structural control - exact body position via OpenPose - at the cost of preprocessing, a control checkpoint and per-pose conditioning images. The text dial, which is what this node is, gives you suggested poses (standing, hands in pockets, sitting cross-legged, looking up) for the cost of a dropdown. On tag-based models the text dial works surprisingly well, and it composes fine with ControlNet too - the prompt poses the character, the skeleton enforces it.
How it works
Lists .txt files in ComfyUI/custom_nodes/ComfyUI-Prompt-String-Selector/data/pose1/. Standard pack mechanics: filename minus extension = dropdown label, leading number = id output, // and /* */ comments stripped, sorted by numeric prefix. Ships with 01_none.txt as a no-op.
Inputs and outputs
- pose1 - dropdown of your pose blocks.
- pose1_custom - multiline override;
custom_inputuses this box's text,idbecomes 0.
Outputs: text (STRING, comma-terminated) and id (INT). Wire text into your positive prompt path - alone, or through the pack's Aggregator alongside the character block.
Install
ComfyUI Manager → search "Prompt String Selector", or:
cd ComfyUI/custom_nodes
git clone https://github.com/itom0717/ComfyUI-Prompt-String-Selector.git
Restart. No dependencies, no models - the entire pack is the Python standard library.
Gotchas
Same restart-to-refresh dropdowns. The real gotcha is expectation-setting: don't reach for Pose 1 expecting ControlNet-level fidelity, and don't write pose files as essays. Keep them prompt-shaped (dynamic pose, one leg forward, confident stance) - that's the format the model actually reads. If you need the character's foot exactly there, that's what the pose-extraction + ControlNet path is for.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| pose1 | COMBO | 2 options: 01_none, custom_input | |
| pose1_custom | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| id | INT | — |