QwQModelLoader
65 GB just to count the r's in strawberry
- model
- tokenizer
QwQModelLoader does one thing: pull Qwen's QwQ-32B reasoning model off Hugging Face, load it into your ComfyUI process, and hand the result to its partner node, QwQTextGenerator. That's the whole pack - two nodes, one model, no API, no key. The name isn't lying in the way you might expect: this is the real model running locally, not a wrapper around a hosted endpoint.
For context on where this fits: most LLMs inside ComfyUI show up as text encoders - the things that turn your prompt into tokens for a diffusion model, like the Qwen encoder behind Z-Image. QwQModelLoader is the other direction. It's a full generator, a 32.8-billion-parameter reasoning LLM from Alibaba's Qwen team, the kind that thinks out loud before it answers. Apache-2.0 licensed, so no license drama. You use it to write prompts, critique them, or transform text inside the graph, and then feed the result back into your image pipeline.
Here's the part nobody warns you about: there's no quantization option. Most people run QwQ-32B as a GGUF quant via llama.cpp or Ollama, or through an API, because at full precision it's roughly 65 GB of weights (32.8B params at bf16). This loader skips all that. First run, it downloads the full safetensors build into ComfyUI/models/QWQ32B/ and loads it with AutoModelForCausalLM - device_map="auto", torch_dtype="auto", then .to(device). That device_map="auto" is doing real work: if your GPU can't hold 65 GB, it spills onto CPU and system RAM, and it works, it's just slow, because every token shuttles weights across the bus.
The inputs that actually matter
- model_name - a dropdown with exactly one option:
Qwen/QwQ-32B. Don't overthink it. - load_local_model (default
false) - flip this on if you already have the model somewhere else, so it doesn't re-download into ComfyUI's cache. - local_qwq_model_path - where that local copy lives, when the flag is on. Note: this expects Hugging Face format (safetensors), not a GGUF file - this loader can't read GGUF.
Outputs are model and tokenizer, which wire straight into the matching inputs on QwQTextGenerator in the same pack. There's nothing else to connect; the two nodes are a matched set.
Installing it
ComfyUI Manager support is listed as "on the way" in the README, which after 17 months of silence reads like a polite no. The reliable path:
cd ComfyUI/custom_nodes
git clone https://github.com/leeguandong/ComfyUI_QWQ32B.git
Restart ComfyUI and the QwQ category appears. One dependency gotcha: this pack has no requirements.txt. It imports transformers at load time and assumes your ComfyUI env already has it. Most installs do (plenty of other packs pull it in), but if the import fails, pip install transformers into your ComfyUI Python environment first.
Where people get burned
The first run is a 65 GB download. Kick it off when you're not mid-workflow and check your disk has room. If you're on a consumer GPU with CPU offload, generation will be glacial - that's physics, not a bug. Also worth knowing: the pack is a single commit from March 2025, untouched since, and the source has a typo in its display-name mapping ("QweQModelLoader" instead of "QwQModelLoader"), which is why the node shows its raw class name in the menu. Cosmetic, but a good thermometer for how polished this repo is.
Security note, because it's the standard caveat: custom nodes are unsandboxed Python with full OS access, and this one will happily fetch 65 GB of weights into your model folder. I'm not saying it's malicious - it's transparent, tiny, and easy to read - just know what you installed.
Verdict: reach for it only if you specifically want QwQ running at full precision inside your graph. If you just want a thinking LLM to help write prompts, a GGUF node or an API call is a lighter, faster road. This one is a working toy with real teeth.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | Qwen/QwQ-32B | 1 options: Qwen/QwQ-32B |
| load_local_model | BOOLEAN | false | — |
| local_qwq_model_pathopt | STRING | Qwen/QwQ-32B | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| tokenizer | TOKENIZER | — |