ComfyUI Node

LoRA Downloader

The LoRA downloader node that does its real work in a browser tab

By huihuihuiz·Created 9 months ago·Updated 4 months ago· 1
LoRA Downloader
      lora_nameexample.safetensors
      download_urlhttps://example.com/lora.safetensors

      When you're staring at a Civitai page with a LoRA you want, the traditional move is: download it to your Downloads folder, then fish it out of your file manager and drop it into ComfyUI/models/loras. It's a five-step chore you repeat every single time. LoRA Downloader tries to kill that chore - you paste a URL and a filename, and the file lands in the right folder, no file manager involved.

      LoRAs, if you're new here, are the little 10–200 MB adapter files that patch a checkpoint's cross-attention layers to add a specific character, style, or concept. They're the currency of Civitai, and every workflow that uses them flows through a LoraLoader (or the rgthree Power Lora Loader if you're stacking several at once). This pack handles the "get the file onto disk" half of that loop. That's the whole job.

      The honest part: the node itself does nothing

      Here's the thing nobody tells you. The LoraDownloader node you drop into the graph - two string inputs, no outputs, flagged as an output node - has a download_lora() method that's literally a no-op. The source comment is blunt: "Real download handled via HTTP endpoint."

      The actual work happens over ComfyUI's API. The pack registers a couple of HTTP endpoints (/lora_downloader/download, /lora_downloader/list) and adds a button to ComfyUI's right-hand menu. Click it and a separate web page opens where you enter a filename and a URL; the server then streams the file straight into your loras folder. The graph node is essentially a UI placeholder.

      Where people get burned: they queue the workflow, watch the node "run," and nothing downloads. No error, no file. That's not a crash - the node just isn't where the downloading happens. If your goal is "download this LoRA," use the menu button's page, not the graph.

      The two inputs

      Only two, both plain strings:

      • lora_name - the filename to save, e.g. my-style.safetensors. You can include a subfolder (styles/my-style.safetensors) and the server creates the directories for you.
      • download_url - a direct URL to the file. Civitai direct links are supported, with one catch: a lot of Civitai files now require an API token. Append it to the URL (https://civitai.com/api/download/models/123?token=yourkey) or you'll get a 403. The pack adds no auth of its own.

      No outputs, so nothing wires downstream - normal for a download utility node.

      Installing

      Via ComfyUI Manager, search for "LoRA Downloader for ComfyUI" and install. Manual:

      cd ComfyUI/custom_nodes
      git clone https://github.com/huihuihuiz/lora_downloader
      

      Then restart ComfyUI. The only Python dependency is requests, which ComfyUI almost certainly already has, so this is about as light an install as custom nodes get.

      Gotchas worth knowing

      • No overwrite. If the file already exists, the server skips the download and just reports it. To re-fetch a version, delete the old file first.
      • The new file may not show up in your LoraLoader dropdown immediately - ComfyUI scans the loras folder at startup. Hit refresh on the loader node, or restart.
      • Path traversal is blocked - the code resolves the target path and refuses anything outside the loras folder. Subfolders are fine, ../ is not.
      • Auth, or the lack of it. The pack also exposes endpoints that list and serve every file in your loras folder with no authentication at all. If you've exposed your ComfyUI to the internet (the LLMVISION malware incident made the stakes clear), this turns your models folder into an unauthenticated file server. Keep ComfyUI behind a password.
      • The web UI is in Chinese - the menu button literally reads "LoRA 下载器". The layout is guessable, but worth knowing before you're hunting for the submit button.

      It's a small, single-purpose pack that does one thing well. Just remember the "download" is a browser-tab operation, and you'll be fine.

      Categoryutils

      Inputs (2)

      NameTypeDefaultDescription
      lora_nameSTRINGexample.safetensors
      download_urlSTRINGhttps://example.com/lora.safetensors

      Outputs (0)

      No outputs