Load Multi-HMR
One-pass whole-body estimation, CPU-friendly — this is the one to start with
- smplx_model
- model
Load Multi-HMR is the loader for the path most people should start with in this pack. Multi-HMR is NAVER's expressive whole-body estimator (ECCV 2024): one forward pass over the image and you get body pose, hand pose, face expression, and real fitted shape parameters all at once. No piecing together separate hand and face models. That's why the README lists it as the one that "runs on CPU too" - it's also the one that needs the least assembly.
There's a real niche of people who want exactly this in ComfyUI: drop an image in, get a posed 3D body out that you can rig or drive a ControlNet with. Multi-HMR is the current state of the art for that whole-body-in-one-shot job, and this loader is what gets it into your graph.
What you set
- model_source -
local(default) orhuggingface. - model_path - the folder holding the weights:
ComfyUI/models/multihmr/, expectingmultiHMR_896_L.pt. - hf_token - for gated/private HF repos only.
- smplx_model - required, from Load SMPLx. Multi-HMR predicts SMPL-X parameters, but the loader needs the actual body model to hand the estimator something it can forward through.
- device -
auto/cuda/cpu. Unlike NLF, this estimator genuinely runs on CPU if you're stuck without a GPU. Slower, but it works.
Output is a single model connection (type MULTIHMR_MODEL) feeding Full Body: Multi-HMR.
The one manual step: the multiHMR_896_L.pt weight comes from the naver/multi-hmr repo, where you have to accept NAVER's non-commercial license before the download works. It's a two-click thing, not a registration wall like SMPL-X - but it's a common "why is my download failing" moment.
Installing
Same as the rest of the pack - ComfyUI Manager, search SMPLx Estimator, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ameliacode/ComfyUI-SMPLx-Estimator.git
cd ComfyUI-SMPLx-Estimator
pip install -r requirements.txt
python install.py
install.py clones the Multi-HMR source into vendor/multi-hmr (loaded by path, with a MULTIHMR_DIR env var override if you ever want to point elsewhere). The dependency set this pulls in is the heavier end of the pack: einops, roma, pillow on top of torch/opencv/scipy. First install is chunky; deal.
Gotchas
- The license gate is real. The checkpoint is NAVER non-commercial. The loader itself is MIT, but the weight you feed it is not, so this pipeline is research-use only. Same story as every estimator in the pack - just know it going in.
- det_thresh lives on the estimator, not here. The loader has no quality knobs; person-detection confidence (default 0.3) is a parameter on Full Body: Multi-HMR. If a person isn't being detected, that's where you tune, not here.
- A load-time OOM retries on CPU. The loader wraps the network load with an out-of-memory fallback: if the GPU is busy at load time it clears the cache and retries on CPU. Slow, but it won't just crash.
If you want one estimator that does body, hands, and expression without extra nodes, this is the loader to reach for. The whole pack is worth installing for this path alone.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_source | COMBO | local | 2 options: local, huggingface |
| model_path | STRING | /tmp/ComfyUI/models/multihmr | local: folder holding the weight file(s). huggingface: leave model_path; set hf_token for gated/private repos. |
| hf_token | STRING | HuggingFace access token. | |
| smplx_model | SMPLX_MODEL | — | |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MULTIHMR_MODEL | — |