Nodes/ComfyUI-MultiPoseToolkit/MultiPose ▸ ONNX Loader
ComfyUI Node

MultiPose ▸ ONNX Loader

Two model dropdowns, one POSEMODEL handle — the gateway to this pack

By starsFriday·Created 9 months ago·Updated 21 days ago· 3
MultiPose ▸ ONNX Loader
    • pose_model
    vitpose_model
    yolo_model
    onnx_deviceCUDAExecutionProvider

    This is the node every other node in ComfyUI-MultiPoseToolkit hangs off. Before you can extract a pose from anything, something has to load the two ONNX models that do the actual work - a person detector and a whole-body pose estimator - and this is the only node that does it. No image input, no prompt box, no API key. Think of it as the Load Checkpoint of the pose world, except instead of one model it loads two and hands them to the rest of the pack as a single POSEMODEL handle.

    How it works

    When the node runs it opens two ONNX Runtime sessions - one YoloRuntime, one ViTPoseRuntime - from the checkpoint paths you pick, and returns them bundled as a {"yolo": ..., "vitpose": ...} dict typed POSEMODEL. Both MultiPersonPoseExtraction and MultiPoseCoordinateSampler take that handle as their model input and pull the two runtimes out of it.

    The onnx_device dropdown does what it says: CUDAExecutionProvider (the default) runs on GPU with CPUExecutionProvider registered as an automatic fallback, and CPUExecutionProvider forces CPU. Nothing fancy, but it's what keeps this pack usable on machines with no NVIDIA card - everything here is ONNX, so there's no torch weight magic to get stuck on.

    One nice touch buried in the source: the node's IS_CHANGED hook returns true whenever anything in your models/detection folder changes, so if you drop in a new model the loader re-initializes instead of serving you a stale session. If it looks like it re-runs for no reason, that's this working, not a bug.

    Inputs and outputs

    • vitpose_model - ViTPose ONNX checkpoint (per the author's tooltip), picked from ComfyUI/models/detection/.
    • yolo_model - YOLO ONNX checkpoint from the same folder.
    • onnx_device - CUDAExecutionProvider (default) or CPUExecutionProvider.

    Both model dropdowns are populated live from your detection folder, so if they're empty, that's your clue the models aren't downloaded yet. The single output is pose_model (POSEMODEL), which wires into either of the two processing nodes' model inputs.

    Installation

    Via ComfyUI Manager, search ComfyUI-MultiPoseToolkit - or drop it in by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/starsFriday/ComfyUI-MultiPoseToolkit
    pip install -r custom_nodes/ComfyUI-MultiPoseToolkit/requirements.txt
    

    That requirements file is the real one: onnx, onnxruntime-gpu, opencv-python, tqdm, matplotlib. Restart ComfyUI and the three nodes appear under the WanMultiPose menu group.

    The fiddly part is the models, because the README names them but doesn't link them. You need a yolov10m.onnx (or any YOLO v8/v10 person detector) and a ViTPose whole-body ONNX (Large or Huge; Huge needs its matching .bin shard in the same directory). yolov10m.onnx exports cleanly from Ultralytics; the ViTPose whole-body checkpoints float around Hugging Face and the pose-detection repos. They all land in ComfyUI/models/detection/ - the same folder other detection-based packs use, so you may already have ONNX weights sitting there.

    Where people get burned

    onnxruntime-gpu is the dependency that fights back. If another pack already installed the CPU onnxruntime wheel into your environment, the CUDA provider silently won't be available and you'll see "CUDAExecutionProvider not available" warnings. Either uninstall the CPU wheel (pip uninstall onnxruntime) so the GPU one owns the name, or accept CPU mode and eat the speed. Also note the pack is brand new - one commit at the time of writing - so if something odd happens, check the repo issues before assuming you misconfigured something.

    CategoryWanMultiPose

    Inputs (3)

    NameTypeDefaultDescription
    vitpose_modelCOMBOViTPose ONNX checkpoint
    yolo_modelCOMBOYOLO ONNX checkpoint
    onnx_deviceCOMBOCUDAExecutionProvider2 options: CUDAExecutionProvider, CPUExecutionProvider

    Outputs (1)

    NameTypeDescription
    pose_modelPOSEMODEL