Download URL (Soze)
Fetch anything into your workflow without leaving ComfyUI
- saved_path
- status
Grabs whatever's at a URL and saves it to disk - a reference image someone linked, an asset your workflow needs, anything reachable over HTTP. Nothing fancier than that, which is exactly why it's useful: half of "quality of life" in ComfyUI is not having to leave the graph to fetch a file by hand.
Nothing in the schema restricts this to images specifically - it's a generic URL-to-file downloader, so it's just as at home pulling down a text file, a JSON blob, or anything else with a stable direct link, provided the rest of your graph knows what to do with whatever comes out the other end.
How it works
Point it at a URL and a destination path, and it downloads the content there. The one bit of real behavior worth knowing: by default it follows ComfyUI's own save-image convention and appends an incrementing counter (_00001, _00002, …) to the filename, so repeated downloads to the same base path don't overwrite each other.
The inputs and outputs that matter
url(STRING, required) - what to fetch.filepath(STRING, required) - where to save it. Per its own tooltip: relative to ComfyUI's output directory, or an absolute path if you give one.append_suffix(BOOLEAN, default true) - appends that incrementing_00001-style counter to the filename, per its tooltip, matching ComfyUI's own save-image convention. Turn it off if you need an exact, predictable filename every time - for example because a downstreamDoes File Existcheck needs to look for that precise name.- Outputs:
saved_path(the actual path it wrote to - which may differ from your inputfilepathif a counter got appended) andstatus.
How to install it
Via ComfyUI Manager: search "Quality of Life Nodes for ComfyUI", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
No API key required - it's a plain HTTP GET, works against any public URL.
Common issues & troubleshooting
Downstream node can't find the file it just downloaded. This is almost always append_suffix doing its job - the file didn't land at your literal filepath, it landed at saved_path with a counter tacked on. Wire saved_path into whatever needs the file next, not the original filepath input, or turn append_suffix off if you need the exact name.
Download fails silently or status reports an error. Check the URL is actually publicly reachable - a link behind auth, a private cloud-storage URL, or a page requiring a session cookie will fail here the same way a plain HTTP client would.
Relative path lands somewhere unexpected. Remember the tooltip's rule: relative paths resolve against ComfyUI's output directory, not the pack's folder or your current working directory.
You're downloading the same URL repeatedly and don't need to. Pair this with Does File Exist, checking saved_path (with append_suffix off, so the path is predictable) before you download - skip the request entirely if you already have the file, rather than re-fetching it every run.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | — | |
| filepath | STRING | Relative to ComfyUI output dir, or an absolute path. | |
| append_suffixopt | BOOLEAN | true | Append an incrementing _00001 counter to the filename (ComfyUI save-image convention). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| saved_path | STRING | — |
| status | STRING | — |