MotionGPT Model Loader
Loading MotionGPT
- mgpt_model
The diffusion models in this pack generate motion by denoising. MotionGPT works differently - it's a language model that has been taught to speak motion, generating joint positions the way a transformer generates tokens. MotionGPT Model Loader is the node that loads it, and it's your entry point to the pack's second-generation text-to-motion path: an autoregressive model that tends to produce more natural, varied motion than the diffusion models, and one that people genuinely seem to enjoy prompting.
You get two choices: MotionGPT and AnimationGPT. MotionGPT is the base model from the MotionGPT paper, trained on HumanML3D. AnimationGPT is a pruned, re-hosted variant (from Kijai, the well-known node developer) that runs more practically inside ComfyUI. The loader's dropdown lists both; the default text you'll see ("MotionGPT-base") is a leftover that isn't actually in the list, so pick one of the two explicitly.
How it works
On first load, the node downloads the chosen model - an *_fp16.safetensors pruned checkpoint from the Kijai/AnimationGPT_pruned HuggingFace repo - into the pack's motiondiff_modules/mGPT/checkpoints folder, then builds the mGPT architecture from its bundled config and loads the weights. It's a normal GPT-style autoregressive transformer: given your prompt, it predicts a motion sequence one step at a time rather than refining noise. That's why it can feel more "creative" and less stiff than the diffusion options.
The inputs that matter
model-MotionGPTorAnimationGPT. If you're just trying it,MotionGPTis the honest base experience;AnimationGPTis the leaner fork.
Output: MGPTMODEL, which feeds MotionGPT Text2Motion (mgpt_t2m).
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. MotionGPT drags in some extra dependencies over the rest of the pack - spacy, bert-score, omegaconf, pytorch_lightning, huggingface_hub, rich - so expect a longer install than a typical custom node.
Gotchas
Two things. First, the first-load download: the pruned checkpoint comes from HuggingFace automatically, and it's a solid download, so don't mistake the long first queue run for a hang.
Second, the loader caches the model in memory once loaded (it reuses it across runs unless you switch model names), which is nice for speed but means changing the model choice forces a reload. Also note this is a separate world from the diffusion pipeline - mgpt_model_loader outputs MGPTMODEL, which only connects to the mGPT text2motion node, not to MotionDiff Simple Sampler. If you're comparing models, you'll run two parallel branches.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | MotionGPT-base | 2 options: MotionGPT, AnimationGPT |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| mgpt_model | MGPTMODEL | — |