ComfyUI Node

Pose Library Load

The Pack's Built-In Sprite Poses

By Spit8·Created 2 months ago·Updated 2 months ago· 1
Pose Library Load
    • pose
    pose_file
    width1024
    height1024

    Before the 3D composer existed, this pack was a library of hand-built 2D .pose files - idle, walks, runs, jumps, fights, each with SE and NE (south-east / north-east) variants for the classic isometric RPG look. CP_PoseLibraryLoad is the legacy door into that library: a dropdown of every .pose file it can find, scaled to your canvas, delivered as a POSE object.

    It's still supported and still genuinely useful. The 3D composer and PoseTransferPrep are the newer path, but the legacy poses are hand-tuned, lightweight, and need nothing beyond the pack itself - no 3D projection, no LLM, no camera math.

    How it works

    On graph load it scans the pack's built-in poses/ directory and ComfyUI/input/poses/ for .pose files and lists them in the pose_file dropdown. On execution it loads the JSON (keypoints + canvas size), scales it to your width/height, and returns the POSE.

    The inputs that matter

    • pose_file - the dropdown. Built-ins include idle (plus _se/_ne/_side variants), walk_01..04 (plus _se/_ne/_side), run_01..04 (plus _se/_ne), jump (plus _se/_ne), fight_se/ne_01/02, work_se/ne_01/02, and the legacy attack, death, hurt.
    • width / height - 1024 square default; the pose is rescaled to fit.

    Output: a single pose. Feed it to CP_ApplyPose to see it, CP_WarpToPose to move a sprite into it, or CP_Composer3D's outputs to start a full pipeline.

    Installing

    Same pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Spit8/_ComfyUI_CharacterPose
    pip install -r _ComfyUI_CharacterPose/requirements.txt
    

    Restart ComfyUI; it's under CharacterPose/Pose. No models, no downloads.

    Gotchas

    • The dropdown only refreshes on graph load. Drop a new .pose into input/poses/ and you'll need to reload the workflow to see it.
    • If you want to add your own poses, the convention is plain JSON with a keypoints array of 18 [x, y, confidence] triples plus width/height. Drop one in input/poses/ and it appears in the dropdown.
    • There's a mismatch to keep in mind: CP_SavePose writes to output/poses/, but this loader scans input/poses. To use a pose you saved, copy it from output to input first. It's the pack's one real wart.

    The old reliable. When you just need a decent walk cycle without touching a 3D skeleton, CP_PoseLibraryLoad gets you there in one dropdown.

    CategoryCharacterPose/Pose

    Inputs (3)

    NameTypeDefaultDescription
    pose_fileCOMBO46 options: attack.pose, death.pose, fight_ne_01.pose, fight_ne_02.pose, fight_se_01.pose, fight_se_02.pose, +40
    widthoptINT102464–4096
    heightoptINT102464–4096

    Outputs (1)

    NameTypeDescription
    posePOSE