Nodes/ComfyUI MotionDiff/MotionDiff Loader
ComfyUI Node

MotionDiff Loader

MDM, MotionDiffuse, or ReMoDiffuse

By Fannovel16·Created 3 years ago·Updated 2 years ago· 212
MotionDiff Loader
    • MD_MODEL
    • MD_CLIP
    model_dataset-human_ml3d

    Every text-to-motion pipeline in this pack starts here. MotionDiff Loader is the one node that decides which motion diffusion model you're running - MDM, MotionDiffuse, or ReMoDiffuse, all fine-tuned on the HumanML3D dataset - and hands you the two things everything else needs: the model and its CLIP text encoder. It's the motion-world equivalent of picking a checkpoint, and your choice of model is the single biggest quality/speed tradeoff in the whole pack.

    The three options aren't interchangeable:

    • mdm-human_ml3d - the classic Human Motion Diffusion. Older, simpler, and noticeably faster to sample. Good enough for rough drafts and pose experiments.
    • motiondiffuse-human_ml3d - MotionDiffuse, a more expressive iterative model. This is the one most community demos reach for, including the original announcement workflow.
    • remodiffuse-human_ml3d - ReMoDiffuse, the retrieval-augmented one. It pulls motion priors from a text-retrieval database during sampling, which generally makes it the best-quality output - at the cost of extra work and, in practice, more time.

    If you just want to see it work, start with motiondiffuse. If you're after the best result for a real project, remodiffuse.

    How it works

    On load, the node builds the chosen architecture from bundled config files and loads its checkpoint. The download is automatic: on first use it fetches the model weights, the dataset mean/std statistics, and a text-retrieval database from the ReMoDiffuse HuggingFace space, and drops them into ckpts/, datasets/, and retrieval_dbs/ inside the pack folder. First load is a big download; subsequent loads are fast.

    The inputs that matter

    • model_dataset - the only input. Choose from the three -human_ml3d options above.

    Outputs: MD_MODEL feeds the sampler, MD_CLIP feeds MotionCLIP Text Encode. Both are required for a complete text-to-motion graph.

    Installation

    Part of Fannovel16/ComfyUI-MotionDiff - ComfyUI Manager, search "ComfyUI MotionDiff", install and restart. Manual: git clone https://github.com/Fannovel16/ComfyUI-MotionDiff into ComfyUI/custom_nodes, then install requirements.txt. Expect a heavy install (smplx, pyrender, spacy, timm, the lot) and make sure the Linux OpenGL packages are present (sudo apt-get install libglfw3-dev libgles2-mesa-dev freeglut3-dev).

    Where people get burned

    The download is the main friction point. People think the pack is broken because the first queue run sits there for ages - it's pulling a checkpoint plus dataset files from HuggingFace, and if your network is slow or the HF space is having a moment, it fails midway with a download error. Re-run and it resumes; it's not you.

    Also keep the 20 fps reality in mind: every model here was trained on HumanML3D, which is a 20 fps dataset. 196 frames of motion is about 9.8 seconds, and going past that on Empty Motion Data isn't allowed. If you want a longer video, generate in batches and sample every other frame - that's exactly how people put together multi-second music-video clips with this pack.

    CategoryMotionDiff

    Inputs (1)

    NameTypeDefaultDescription
    model_datasetCOMBO-human_ml3d3 options: remodiffuse-human_ml3d, motiondiffuse-human_ml3d, mdm-human_ml3d

    Outputs (2)

    NameTypeDescription
    MD_MODELMD_MODEL
    MD_CLIPMD_CLIP