Save SMPL
Saving SMPL Motion to Disk
- smpl
You spent GPU minutes fitting a body to your generated motion. Save SMPL is the node that stops you from ever doing it twice: it writes the fitted SMPL data to a .pt file so you can reload it later with SMPL Loader and skip straight to rendering or exporting. If you're iterating on a motion - trying different cameras, resolutions, or backgrounds - saving the body once and reloading it is dramatically cheaper than re-running the whole text-to-SMPL chain.
It's also just good hygiene for long projects. The fit you liked at 2am is one click from being permanent, and your later self will thank you for not re-fighting the optimization.
How it works
The node takes the SMPL object and saves its two essential parts to disk as a PyTorch checkpoint: the pose/translation parameters (thetas) and the metadata (meta) that records how the motion was normalized. It's the exact inverse of SMPL Loader, which reads that file back and reattaches a body model. The file lands in Comfy's standard output folder with a _smpl suffix added to your prefix.
The inputs that matter
smpl- the body to save.filename_prefix- the name base (defaultmotiondiff_pt). Your file ends up as something likemotiondiff_pt_00001_.ptinComfyUI/output/.
It's a terminal node: no outputs, just a file.
Installation
Part of Fannovel16/ComfyUI-MotionDiff. Install the pack via ComfyUI Manager (search "ComfyUI MotionDiff") or git clone https://github.com/Fannovel16/ComfyUI-MotionDiff into ComfyUI/custom_nodes, install requirements, restart. Note that this node itself is lightweight - the heavy install cost is in the rest of the pack (smplx, pyrender, trimesh, and the auto-downloaded model weights).
Where people get burned
The README spells out the one real trap, and it's a classic ComfyUI folder asymmetry: Save SMPL writes to the output folder, but SMPL Loader reads from the input folder. You have to copy your .pt files from output to input yourself before the loader will see them. It's easy to lose a few minutes hunting for the file in the wrong place.
Also worth remembering: the saved file doesn't carry the body model, so when you reload you need to pick the same smpl_model you saved with, or the mesh will look subtly wrong. And .pt files aren't as portable as mesh exports - if your goal is Blender or Unreal, use the export nodes instead of this one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| smpl | SMPL | — | |
| filename_prefix | STRING | motiondiff_pt | — |
Outputs (0)
No outputs