Nodes/ComfyUI-SAM3DBody/SAM 3D Body: Save Skeleton
ComfyUI Node

SAM 3D Body: Save Skeleton

Save just the pose, without the weight of a full mesh

By PozzettiAndrea·Created 9 months ago·Updated 2 months ago· 321
SAM 3D Body: Save Skeleton
  • skeleton
  • filepath
output_filenameskeleton
formatjson

A mesh from SAM 3D Body carries a lot you might not need - full surface geometry for a nude, textureless body. If what you actually care about is the pose (joint positions and angles, useful for retargeting onto a different character, or for building a library of reference poses), SAM3DBodySaveSkeleton lets you keep just that, written to disk as a much lighter file than a full mesh export.

How it works

Take the skeleton output from SAM3DBodyProcess (or Advanced), and this node writes it out in your chosen format. Skeletons are separate from meshes throughout this pack - SAM3DBodyProcess gives you both at once, but they don't have to travel together, and this node is specifically for the case where the pose is what you want to keep around, not the geometry.

The inputs and outputs that matter

  • skeleton (SKELETON) - required, from SAM3DBodyProcess or SAM3DBodyProcessAdvanced.
  • output_filename (default skeleton) - the base filename to write.
  • format (default json) - the file format for the saved skeleton. JSON is a sensible default for pose data - human-readable, easy to inspect or hand-edit if you know what you're doing.

One output: filepath (STRING) - the path the file got written to, useful for logging or chaining into another node that wants a path string.

How to install it

Comes with the pack - via ComfyUI Manager, search SAM3DBody, install, restart. Manual install:

cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-SAM3DBody.git
cd ComfyUI-SAM3DBody
pip install -r requirements.txt --upgrade
python install.py

No extra dependency for this node specifically - it's writing data you've already generated, not touching the SAM 3D Body checkpoint.

Common issues & troubleshooting

Not sure why you'd bother saving a skeleton instead of just the full mesh. Two real reasons: file size (a pose is a lot smaller than full geometry), and reuse - if you're building a library of poses to apply to different body shapes later via SAM3DBodyAddMeshToSkeleton, the skeleton is the reusable part; the mesh is specific to one photo's body.

Loaded skeleton later doesn't reconstruct a matching mesh. Remember a skeleton is pose data only - proportions and identity live in the mesh, not the skeleton. If you save a skeleton and later feed it into SAM3DBodyAddMeshToSkeleton, expect a generic body in that pose, not the original subject's specific shape.

File location isn't where you expected. Check the returned filepath output directly rather than assuming a default location - this pack has had reports of exports landing relative to the ComfyUI launch directory rather than the standard input/output folders on some setups.

CategorySAM3DBody/skeleton

Inputs (3)

NameTypeDefaultDescription
skeletonSKELETONSkeleton data from SAM3D Body Process node
output_filenameSTRINGskeletonOutput filename (extension will be added based on format)
formatCOMBOjsonExport format: JSON (full data), BVH (animation), or FBX (armature)

Outputs (1)

NameTypeDescription
filepathSTRING