DownloadWhatIWant
DownloadWhatIWant Drops Them in the Right Folder
You load a shared workflow, hit run, and it fails: missing checkpoint. So you tab over to Civitai, grab the download link, save it somewhere, then hunt for the right models/ folder to drag it into, then refresh ComfyUI so the loader notices. Every time. DownloadWhatIWant exists to kill that little ritual: paste the URL into the node, pick the folder, hit run, and the file streams straight into place. It's a fork of the well-known Kosinkadink DownloadNode, republished under the comfyui-wiki account, and it does exactly one thing - which is all it needs to do.
The name is a slight lie. It doesn't figure out what you want and go get it, and it calls no API and needs no key. You supply the exact URL. What it saves you is the placement - the part of manual downloading where files end up in the wrong folder or under a mangled name and the workflow still can't see them.
How it works
Under the hood it's refreshingly boring, and that's a compliment. It streams the file from your URL with requests in 128 KB chunks, shows a progress bar and a "Downloading X GB from …" message right on the node, and writes to a temp folder first. Once the download finishes cleanly it moves the file into the destination. Two things worth knowing about that temp-then-move dance: an interrupted run won't leave a half-written model sitting in your checkpoints folder, and the node checks whether processing was cancelled between chunks, so you can bail out of a 6 GB pull mid-way instead of being stuck.
The destination is picked from the folder_name dropdown, which lists every folder ComfyUI already knows about - checkpoints, loras, vae, embeddings, and so on. That's the whole trick: you're not guessing paths, you're picking from the same registry the loaders use, so the file lands exactly where a Load Checkpoint or Load LoRA will find it.
The inputs that matter
There are only three, and a beginner sets all of them:
- url - the direct link to the file. No API tokens, no headers, just a URL.
- name_override - what to call it. Leave it blank and the node uses the last segment of the URL. Give it a name with no dot and it appends the original extension; with a dot, it uses your name verbatim.
- folder_name - the dropdown of ComfyUI's model folders.
It has no outputs - it's an output node, so nothing wires out of it. It finishes a branch; think of it as the "Save" button of model management. After a run, refresh the loader's dropdown (or ComfyUI) and the model is just… there.
Where people get burned
The real gotcha is the extension allowlist, which is a deliberate safety feature. The node only accepts .safetensors, .sft, .txt, .csv, .json, and .yaml, and anything else dies with Unsupported unsafe file for download. That's the guard against pulling an arbitrary executable (a pickle-format .pt) into your model folders - .safetensors exists precisely to dodge that attack. But it means this is the wrong tool for a .ckpt, .pt, or .gguf quant; a GGUF you'll still fetch by hand. It also means query strings bite: a HuggingFace copy-link like …?download=true usually fails the check because the extension is read off the raw URL. Fix: put the extension in name_override (e.g. model.safetensors) and it validates against that instead.
Also know what it doesn't do: no checksum verification and no resume. A flaky connection on a big model starts over from zero. For a one-off that's fine; for an 8 GB pull on hotel Wi-Fi, wget -c is more forgiving.
Installing it
It's a one-file node with no heavy dependencies - it imports requests and tqdm, both already present in any ComfyUI environment, so there's no requirements dance. Either way, restart ComfyUI after installing:
- ComfyUI Manager: search "ComfyUI-DownloadWhatIWant" (or "DownloadWhatIWant") and install, then restart.
- Manually:
cd ComfyUI/custom_nodes git clone https://github.com/comfyui-wiki/ComfyUI-DownloadWhatIWant
Worth saying: the repo's README is literally the sentence "This is a README." The code is simple and fine, but this is a "know what you're running" situation - custom nodes execute arbitrary Python, so only fetch from hosts you trust, and glance at the single __init__.py if you're curious. For your own machine, a curl one-liner is often just as fast; where DownloadWhatIWant earns its keep is baked into a shared workflow, so models pull themselves into the right folders on first run and your friend's graph works the moment they open it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | The URL of the file to download. | |
| name_override | STRING | What to call the name after downloading. | |
| folder_name | COMBO | The folder to download the file to. |
Outputs (0)
No outputs