Pose Library Load
The Pack's Built-In Sprite Poses
- pose
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/_sidevariants),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 legacyattack,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
.poseintoinput/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
keypointsarray of 18[x, y, confidence]triples pluswidth/height. Drop one ininput/poses/and it appears in the dropdown. - There's a mismatch to keep in mind:
CP_SavePosewrites tooutput/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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| pose_file | COMBO | 46 options: attack.pose, death.pose, fight_ne_01.pose, fight_ne_02.pose, fight_se_01.pose, fight_se_02.pose, +40 | |
| widthopt | INT | 102464–4096 | — |
| heightopt | INT | 102464–4096 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pose | POSE | — |