Nodes/ComfyUI-Zero2JSON/🧘 Z2J Subject Pose
ComfyUI Node

🧘 Z2J Subject Pose

Stillness you can reproduce β€” Z2J Subject Pose for repeatable character shots

By MushroomFleetΒ·Created 7 months agoΒ·Updated 5 months agoΒ· 1
🧘 Z2J Subject Pose
    • text
    β—„seed0β–Ί
    β—„prompt_index0β–Ί
    β—„profilesubject_pose_default.jsonβ–Ί
    β—„prefixβ–Ί
    β—„suffixβ–Ί

    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 of subject_pose_*.json files. Custom profiles dropped into profiles/ 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.

    CategoryZero2JSON/Subject

    Inputs (5)

    NameTypeDefaultDescription
    seedINT00–4294967295World seed for deterministic generation
    prompt_indexINT00–4294967295Position in infinite prompt space
    profileoptCOMBOsubject_pose_default.jsonSelect vocabulary profile
    prefixoptSTRINGText to prepend to generated prompt
    suffixoptSTRINGText to append to generated prompt

    Outputs (1)

    NameTypeDescription
    textSTRINGβ€”