Save Pose Keypoint
Freeze a pose to JSON and reuse it forever
- pose_keypoint
You've composed the perfect pose - detected from a photo, arranged on a canvas, transformed to frame just right. The worst outcome is losing it when you rebuild the workflow. Save Pose Keypoint is the "don't lose that" node: it writes any POSE_KEYPOINT to a timestamped JSON file you can load back into any future session. Combined with its sibling Load Pose Keypoint, it turns a hard-won pose into a permanent asset.
How it works
An output-only node: it takes the pose, wraps it in a JSON structure with an eric_pose_studio_meta header (name, person count, canvas dimensions, timestamp) plus the full keypoint array, and writes it to disk. Files never overwrite - every queue produces a new timestamped filename, so you won't silently clobber yesterday's good pose.
A detail worth knowing: the metadata key is kept as eric_pose_studio_meta rather than the new project name, because the pack used to be published as Eric_pose_studio and this keeps every file saved under the old name loading without conversion.
Inputs
pose_keypoint- the pose to save.name- a descriptive label likewoman standing arms folded. It becomes part of the filename (slugified) and is stored in the metadata.output_folder- where the file goes. Relative paths resolve from ComfyUI'soutput/directory; absolute paths are used as-is. Default isposes.
Output filename: {folder}/{YYYYMMDD_HHMMSS}_{name_slug}.json, for example output/poses/20260421_153045_woman_standing_arms_folded.json.
How to make it useful
Multi-person saves are all-or-nothing: if you save the Pose Composer's output with three people arranged on a canvas, loading that file later reproduces the full three-person pose on the same canvas. So build a small library around it:
- Use
output_folderfor categories -poses/standing,poses/seated,poses/action. - The Load Pose Keypoint gallery browses those subfolders directly, so consistent folder names make browsing painless.
- Files are plain JSON - you can rename or delete them in Explorer/your file manager and the gallery reflects it after a Refresh.
A typical save chain: detect → crop/fit → transform → Save Pose Keypoint (name it well). Then in any later workflow, Load Pose Keypoint → render → ControlNet. Once you've saved the pose, the source photo isn't needed anymore.
Installing it
Same pack, same drill: ComfyUI Manager → search Eric Composer Studio → install → restart, or git clone https://github.com/EricRollei/Eric_Composer_Studio.git into custom_nodes and pip install -r requirements.txt. It's a pure serialization node - no models, no rtmlib, no inference. It does need comfyui_controlnet_aux present so the POSE_KEYPOINT socket type exists, but that's the only dependency beyond Python's stdlib json.
The only real gotcha is forgetting where things went: relative paths land under output/, which is where your generated images already go, so check there before you go hunting.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| pose_keypoint | POSE_KEYPOINT | — | |
| name | STRING | my_pose | Descriptive name for this pose, e.g. 'woman standing arms folded'. Used in the filename and stored in the file metadata. |
| output_folder | STRING | poses | Folder to save into. Relative paths are resolved from ComfyUI's output directory. Use an absolute path to save anywhere on disk. |
Outputs (0)
No outputs