CivitAI Download
Pull a model straight off CivitAI by ID, no browser tab required
- filename
Normally, getting a model off CivitAI into ComfyUI is a three-tab dance: find the model page, click download, wait, then drag the file into the right folder on disk and restart ComfyUI so it shows up. CivitAI Downloader collapses that into one node - give it a model ID, it fetches the file straight into your ComfyUI models folder while the graph runs. Handy if you're iterating on a workflow that pulls in different LoRAs or checkpoints, or if you're running ComfyUI somewhere headless (a pod, a container) where "open a browser and click download" isn't really an option.
How it works
You give it a model_id - the number in the CivitAI model page URL - and it hits CivitAI's API to fetch that model's file into whichever folder you point it at. That's it. No scraping, no login flow inside the node; it's a direct API call.
The inputs that matter
model_id- required, the CivitAI model ID (the node ships a default of360292just so the field isn't empty). This is not the same as a version ID - a CivitAI model page can have several versions (different training runs, pruned vs. full, fp16 vs. fp32), andmodel_idalone grabs whichever version CivitAI considers current.version_id- optional, and this is the one people skip and regret. Leave it blank and you get "whatever's currently primary" for that model, which can quietly change out from under you if the creator pushes an update. If you care about reproducing a specific result later, grab the version ID off the model page and pin it here.api_key- optional, but not always optional in practice. Plenty of models on CivitAI require you to be logged in to download at all (login-gated or restricted content is common on the platform), and this node has no browser session to fall back on - without a key, those downloads just fail. Generate one from your CivitAI account settings and paste it in.save_dir- a dropdown covering every standard ComfyUI model folder:checkpoints,loras,controlnet,clip_vision,embeddings, and about twenty more. Get this wrong and the download still "succeeds" - it just lands somewhere nothing will ever look for it.
The single output, filename, is the downloaded file's name as a string. Wire it into anything that takes a string - most usefully the pack's own Downloaded Checkpoint Loader, so you go from "just an ID" to a loaded MODEL/CLIP/VAE in the same run.
Installing it
Easiest path: open ComfyUI Manager, search "ComfyUI Model Downloader", install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ciri/comfyui-model-downloader.git
Restart ComfyUI afterward either way. There's no huge dependency footprint here - it's a lightweight API-fetch node, not something bundling its own inference stack - but Manager will still resolve whatever's pinned in its requirements.txt for you, which is one less thing to babysit compared to installing by hand.
Common issues
Authentication failures on models that "should just work." If you hit an auth error on a download, it's almost always a missing or wrong api_key - CivitAI gates a meaningful chunk of its catalogue (NSFW-tagged, restricted, or creator-limited content) behind a logged-in session, and the API mirrors that. Generate a fresh key rather than assuming an old one is still valid; CivitAI's had a genuinely turbulent few years around what requires login and what doesn't.
Getting the wrong version. If your output looks different from what you tested last week and you never touched the workflow, check whether you left version_id blank - the model's "current" version isn't a fixed target.
Download lands, nothing uses it. This is almost always a save_dir mismatch - a checkpoint saved into loras (or vice versa) downloads fine and then simply doesn't appear anywhere you're looking for it.
It re-downloads every single run. This one's in the README, not a bug: the node has no "already downloaded, skip it" memory by default. Once you've got the file, bypass the node (right-click → Bypass) so it stops re-fetching a multi-gigabyte checkpoint on every queue.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_id | STRING | 360292 | — |
| version_id | STRING | — | |
| api_key | STRING | Optional CivitAI API key | |
| save_dir | COMBO | 25 options: audio_encoders, background_removal, checkpoints, classifiers, clip_vision, configs, +19 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |