π§ Z2J Subject Pose
Stillness you can reproduce β Z2J Subject Pose for repeatable character shots
- text
Poses are the ground truth of a character image. Get the stance right and everything else has somewhere to hang; get it vague and the model freewheels into the same three default poses you've already seen a thousand times. Z2J Subject Pose is the ComfyUI-Zero2JSON node that hands you a concrete, reproducible body configuration - arms, head, torso, expression - without you having to rephrase "arms crossed, looking slightly up" for the fifteenth time.
It sits in the subject family of the pack and feeds the pose field of a FLUX2_SubjectCreator in the FLUX2-JSON workflow. Where its sibling Z2J Subject Action generates motion and energy, this one generates the static configuration: standing, seated, leaning, gesture, gaze direction. Use the two as a deliberate pair - action for movement shots, pose for stillness - and you cover both ends of the "what's the subject doing" question.
How it works
Same position-as-seed core as every node here: hash (seed, prompt_index, slot) with xxhash32, then use the result to pick a template and one word from each pool. The subject_pose_default.json profile ships 4 templates over four pools - body_position (12), arm_position (12), head_position (12), expression (12) - around 83,000 combinations. Each generated phrase reads like a direction to an actor: body stance, what the arms are doing, where the head is turned, and the face.
The inputs that matter
seed- the world seed.prompt_index- the position coordinate. Bump it to walk through poses while keeping the world seed fixed.profile- dropdown ofsubject_pose_*.jsonfiles. Custom profiles dropped intoprofiles/show up after a restart.prefix/suffix- anchors glued around the phrase, handy for forcing a consistent subject or expression tag.
No filter dropdown on this one - just the base four plus the profile. Output is a single text string, meant for the FLUX2-JSON pose field or any text input.
Install
The pack is one repo with all seventeen nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/ComfyUI-Zero2JSON
cd ComfyUI-Zero2JSON
pip install -r requirements.txt
Restart after. Dependency is a single line - xxhash>=3.0.0. No models, no API, no drama. ComfyUI Manager users can search "ComfyUI-Zero2JSON" and skip the terminal.
Where people get burned
The subtle trap is stacking pose on top of an action that contradicts it - "standing at attention" with "mid-lunge" in the same prompt reads as a glitch, not art. If you're using the full FLUX2-JSON subject stack, decide per subject whether pose or action is driving, and let the other one go. Also worth knowing: the pose phrase only steers strongly if the subject itself is described concretely first - a pose with no body to hang on is just words. That ordering problem is a prompt-craft issue, but it's the difference between this node feeling magic and feeling pointless.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00β4294967295 | World seed for deterministic generation |
| prompt_index | INT | 00β4294967295 | Position in infinite prompt space |
| profileopt | COMBO | subject_pose_default.json | Select vocabulary profile |
| prefixopt | STRING | Text to prepend to generated prompt | |
| suffixopt | STRING | Text to append to generated prompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | β |