Nodes/Eric Composer Studio/Save Pose Keypoint
ComfyUI Node

Save Pose Keypoint

Freeze a pose to JSON and reuse it forever

By EricRollei·Created 5 months ago·Updated 4 months ago· 3
Save Pose Keypoint
  • pose_keypoint
    namemy_pose
    output_folderposes

    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 like woman 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's output/ directory; absolute paths are used as-is. Default is poses.

    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_folder for 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.

    CategoryEric_Composer_Studio

    Inputs (3)

    NameTypeDefaultDescription
    pose_keypointPOSE_KEYPOINT
    nameSTRINGmy_poseDescriptive name for this pose, e.g. 'woman standing arms folded'. Used in the filename and stored in the file metadata.
    output_folderSTRINGposesFolder 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