SMPL Loader
Loading .pt SMPL Files
- SMPL
If you've spent real GPU time generating a motion with the MotionDiff pack, you'll eventually want to stop and start over without regenerating everything from scratch. That's exactly what this node is for: SMPL Loader takes a .pt file you saved earlier and drops a ready-to-render SMPL object back into your graph. It's the load side of the pack's Save SMPL → Load SMPL round trip, and once you've made a motion you like, it's the node that lets you reuse it forever.
The subtle thing here is that the pack is actually three stages - generate motion, convert it to a body (SMPL), then render that body. The expensive part is usually the middle: converting raw joint positions into SMPL body parameters with optimization. Save that result once and this loader skips all of it.
How it works
Under the hood, a "SMPL" object in this pack isn't a single tensor - it's a tuple of the body model path, the pose/translation parameters (thetas), and metadata that records how the motion was normalized. SaveSMPL writes those as a {thetas, meta} dict into a .pt file. This loader does the reverse: it torch.loads the file from Comfy's input folder, then reattaches the body model you pick, and hands you back the same SMPL object the save node gave it.
The inputs that matter
smpl- a dropdown that lists every.ptfile currently sitting in your ComfyUIinputfolder. This isn't a fixed list; the node scans the folder, so files you add show up after a refresh.smpl_model- which body model to pair the saved parameters with:SMPL_NEUTRAL.pkl(default),SMPL_MALE.pkl,SMPL_FEMALE.pkl,FLAME_NEUTRAL.pkl(the face model),SMPL_to_J19.pkl, orsmpl_mean_params.npz. These ship bundled inside the pack'ssmpl_models/folder, so nothing to download.
The single output, SMPL, wires straight into Render SMPL Mesh, Export SMPL to 3DCGI Software, or SMPL Shape Parameters.
Installation
This is one of the 20-ish nodes in Fannovel16/ComfyUI-MotionDiff, so there's no separate install. Grab the whole pack:
- ComfyUI Manager (recommended): search for "ComfyUI MotionDiff" and install, then restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/Fannovel16/ComfyUI-MotionDiff, install requirements, restart.
Be warned, it's a chunky one - smplx, pyrender, trimesh, mapbox_earcut, spacy, timm, and friends - and on Linux you'll want the OpenGL dev packages first: sudo apt-get install libglfw3-dev libgles2-mesa-dev freeglut3-dev. First loads also auto-download model weights from HuggingFace, so give the first run patience.
Where people get burned
The classic trap is a one-way street: Save SMPL writes to Comfy's output folder, but SMPL Loader reads from the input folder. The README says it plainly - you have to copy your .pt files from output to input yourself before they'll show up in the dropdown. It's a fiddly bit of housekeeping that catches basically everyone once.
Also worth knowing: the saved file doesn't embed the body model, so make sure the smpl_model you load with matches the one you rendered with - the parameters and the mesh need to speak the same dialect.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| smpl | COMBO | 0 options: | |
| smpl_model | COMBO | SMPL_NEUTRAL.pkl | 6 options: SMPL_NEUTRAL.pkl, SMPL_to_J19.pkl, FLAME_NEUTRAL.pkl, SMPL_MALE.pkl, smpl_mean_params.npz, SMPL_FEMALE.pkl |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SMPL | SMPL | — |