Download Huggingface Model | Ollama Nodes
Grab any Hugging Face model file without leaving ComfyUI
- output_text
This is the odd one out in the Ollama Nodes pack, and it pays to know that up front. PullModel downloads models from Ollama's own registry; DownloadHuggingfaceModel doesn't touch Ollama at all. It downloads a single file from a Hugging Face repo into a folder on disk. No API key, no Ollama server required, no model gets loaded. It's a glorified wget with a ComfyUI front end - which is exactly what makes it useful when you want a raw model file and can't be bothered to open a terminal.
Why you'd reach for it
The realistic use case: you want a GGUF that isn't in the Ollama library. Ollama can serve a GGUF you already have on disk if you point a Modelfile at it, but you still need the file itself first. This node drops it into ./models/llm/ (relative to your ComfyUI root) without you hunting for the right download URL or dealing with git lfs. It's also a decent way to pull a tokenizer or a LoRA file into the right folder mid-workflow.
Just don't expect it to wire into your image-generation pipeline by itself. The pack's roadmap mentions a converter node to turn safetensors into GGUF (so you can actually serve downloaded models), but that's a TODO - not shipped. As of now this node downloads, confirms, and stops.
How it works
Under the hood it's a thin wrapper around huggingface_hub.hf_hub_download, the same function the huggingface-cli download command uses. It resolves the file in the repo, downloads it (with caching), and returns a confirmation string. The huggingface_hub dependency ships with the pack's requirements.txt, so Manager installs it for you.
Three inputs, all strings:
repo_id- the HF repo, e.g.microsoft/Phi-3-mini-4k-instruct-gguf. This is the owner/repo slug from the huggingface.co URL.filename- must exactly match a file in that repo, including case and extension. The default is a Phi-3 GGUF, so swap both fields together if you change one.local_dir- where the file lands. Default./models/llm/, relative to ComfyUI.
The single output, output_text, is just "Model downloaded successfully" - a string, so you can wire it into a ShowText node or use it as a cheap "did it work" signal.
Where people get burned
The biggest trap: filename has to be byte-for-byte right, and HF repos rename files without warning. If the default file no longer exists in the repo, the node fails with an HF EntryNotFoundError and no obvious message. Open the repo page, confirm the filename, paste it exactly.
Second gotcha: the code actually has more knobs - subfolder, revision, force_download, token - but they're commented out of the node's UI. So you can't fetch a specific revision, re-download a cached file, or grab a gated/private model from the graph. Need any of that? Do it from a terminal. The README also flags that progress bars for this node aren't implemented yet, so a big download will just sit there looking frozen. It isn't; give it time.
Installing it
Same as the rest of the pack. Easiest: ComfyUI Manager → search "comfyui-ollama-nodes" → Install → restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/slyt/comfyui-ollama-nodes
cd comfyui-ollama-nodes
pip install -r requirements.txt
then restart ComfyUI. Requirements are just ollama and huggingface_hub - nothing heavy, nothing that should fight your existing environment.
My take: it's a convenience node, not a headline feature. If you spend a lot of time in ComfyUI and hate alt-tabbing to download model files, it's worth having. If you only use Ollama models, you can skip it entirely - PullModel is the node you actually want.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| repo_id | STRING | microsoft/Phi-3-mini-4k-instruct-gguf | — |
| filename | STRING | Phi-3-mini-4k-instruct-q4.gguf | — |
| local_dir | STRING | ./models/llm/ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_text | STRING | — |