HY-Motion Load Prompter
The little LLM that fixes your prompts before the big one reads them
- prompter
A second LLM. Yes, the pack already drags in Qwen3-8B as the text encoder - and this node adds another, much smaller model whose only job is to fix your prompt before the big encoder ever sees it. It's called the Text2MotionPrompter, it ships with the HY-Motion 1.0 project, and it's the reason the pack's recommended workflow beats the minimal one. Type "dude does a cartwheel," and this is what turns that into the standardized English description a motion model can actually direct.
The mechanism is refreshingly simple. The prompter is a Qwen3-based causal LM that gets your raw text, is prompted to emit a JSON object containing a duration (in frames) and a short_caption (the cleaned-up English motion description), and the pack parses that JSON back out. Both your text and the estimate then feed the pipeline: the rewritten caption goes to Encode Text, the duration goes to Generate. It handles Chinese and English input natively - which is the whole reason this node exists in a Tencent project - and it loads with 4-bit quantization by default, so it sits at a manageable ~2-3GB.
Inputs
- model_source - defaults to "(auto download)" with a "local: Text2MotionPrompter" option appearing if you have the model on disk.
- offload_to_cpu - here's where this matters: the README's explicit advice is to run the prompter on CPU when VRAM is tight, because it's the expendable LLM - the encoder has to be fast, the prompter just needs to finish. If you're juggling the encoder and the diffusion network on one card, flipping this on is the cheapest memory you'll reclaim all day.
Output is a prompter wire that plugs straight into HY-Motion Rewrite Prompt.
The honest gotcha
The "(auto download)" label is doing a lot of work. The shipped code loads the prompter with local_files_only=True, so in practice it does not reliably fetch anything on first use - the reliable path is downloading the Text2MotionPrompter model (~2-3GB), placing it under ComfyUI/models/HY-Motion/ckpts/Text2MotionPrompter/, and selecting "local: Text2MotionPrompter". Treat the auto-download as the optimistic branch, not the plan. If Rewrite Prompt runs and hands back your text untouched with a 5.0s duration, that's the fallback the parser returns when the prompter didn't load or its JSON came back garbled - check the model actually got loaded.
When to skip it
If your prompts are already precise English motion descriptions, you don't strictly need this node - the encoder will understand them fine and you save 2-3GB of VRAM and one LLM to manage. It earns its keep when you're brainstorming casually, writing in Chinese, or when generated motions feel like they're only half-listening. It's the "recommended" step in the README's example workflow for good reason; it's just not mandatory. Pair it with the Load LLM (GGUF) encoder and a Lite network and you have the whole pipeline in roughly the VRAM of one mid-range card.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_source | COMBO | (auto download) | 1 options: (auto download) |
| offload_to_cpu | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompter | HYMOTION_PROMPTER | — |