Nodes/ComfyUI_MieNodes/Model Downloader ๐Ÿ‘
ComfyUI Node

Model Downloader ๐Ÿ‘

Pull a checkpoint straight into ComfyUI from inside the graph

By MieMieeeeeยทCreated 2 years agoยทUpdated 25 days agoยท 225
Model Downloader ๐Ÿ‘
  • trigger_signal
  • log
โ—„urlโ–บ
โ—„save_pathcheckpointsโ–บ
โ—„overridetrueโ–บ
โ—„use_hf_mirrorfalseโ–บ
โ—„rename_toโ–บ
โ—„hf_tokenโ–บ
โ—„skip_ssl_verifytrueโ–บ
โ—„timeout30โ–บ

The most common way people share a ComfyUI workflow that doesn't just work is "here's the JSON, and also go find these six model files and drop them in the right folders yourself." Model Downloader turns that step into a node in the graph itself: give it a URL, a target folder, run the workflow, and the file lands where ComfyUI expects it before anything else tries to load it.

What it does. It's a straight HTTP(S) download node aimed at the models directory, with a few conveniences bolted on for the sources people actually pull from: Hugging Face (with an optional mirror and token for gated repos), GitHub, or, per the README, "anywhere." It writes a log string as output so you can see what happened - useful when you're chaining it before other nodes and want confirmation the file actually landed before the rest of the workflow tries to use it.

The inputs that matter.

  • url and save_path are the two you always set - save_path defaults to checkpoints, so point it at loras, vae, controlnet, or wherever the file actually belongs relative to your models/ folder.
  • override (default true) controls whether a re-run replaces an existing file of the same name; flip it off once you've got the file and don't want a slow re-download every time you re-run the workflow.
  • use_hf_mirror swaps in a Hugging Face mirror endpoint - relevant if huggingface.co is slow or blocked from where your ComfyUI instance runs.
  • rename_to and hf_token are optional: rename on save, or authenticate against a gated Hugging Face repo.
  • skip_ssl_verify (default true) and timeout (default 30s, up to 600) are the two you'll only touch when something's already broken - see below.
  • trigger_signal is an optional wildcard input with no logic of its own beyond forcing this node to wait on whatever feeds it, useful for sequencing the download after some other step instead of letting ComfyUI run it in parallel.

The single output is log (a STRING) - wire it into a Show Anything node or similar if you want to actually see it rather than just trust it.

Installing the pack. Through ComfyUI Manager: search ComfyUI_MieNodes and install. By hand: cd ComfyUI/custom_nodes && git clone https://github.com/MieMieeeee/ComfyUI-MieNodes, then restart ComfyUI. No extra Python dependencies specific to this node beyond what the pack already needs.

Troubleshooting.

  • Download fails or hangs. The default 30-second timeout is short for anything but a small file - a multi-gigabyte checkpoint over a slow connection will blow past it. Bump timeout up (max 600s) before assuming the URL is broken.
  • SSL errors on a source you trust. skip_ssl_verify defaults to true specifically because some mirrors and less-common hosts have certificate chains that trip strict verification. If you're pointed at something you don't trust, flip it back on rather than downloading blind.
  • Gated Hugging Face repo returns 401/403. You need hf_token set to a token with access to that repo - a plain URL isn't enough for anything behind a license gate.
  • File downloads but nothing that uses it can find it. Double-check save_path matches the subfolder ComfyUI actually scans for that model type (checkpoints, loras, vae, controlnet, etc.) - a typo here downloads the file successfully into a folder nothing else looks at, which reads exactly like a broken download even though it isn't one.
  • Every re-run redownloads a multi-gigabyte file you already have. That's override defaulting to true - set it to false once the file is in place so subsequent runs skip it. This is also the node that gives you the "download models 90% of the time" ComfyUI pain point some actual relief on, since it makes fetching part of the graph instead of a manual pre-flight checklist - dependency hell in the wider ecosystem is mostly about missing nodes, but missing models is the other half of it, and this is the node built to close that gap without leaving the workflow.
Category๐Ÿ‘ MieNodes/๐Ÿ‘ Downloader

Inputs (9)

NameTypeDefaultDescription
urlSTRINGโ€”
save_pathSTRINGcheckpointsโ€”
overrideBOOLEANtrueโ€”
use_hf_mirrorBOOLEANfalseโ€”
rename_tooptSTRINGโ€”
hf_tokenoptSTRINGโ€”
skip_ssl_verifyoptBOOLEANtrueโ€”
timeoutoptINT301โ€“600โ€”
trigger_signalopt*โ€”

Outputs (1)

NameTypeDescription
logSTRINGโ€”