Load Image From Url (mtb)
Pull an image straight from a URL into ComfyUI
- IMAGE
The stock Load Image node makes you upload a file first. This one skips that: give it a URL, it downloads the image and drops it into your graph as an IMAGE. That's the whole pitch, and it's more useful than it sounds the moment you stop working purely by hand.
Where it shines is automation and API-driven runs. If you're triggering ComfyUI from a script, a webhook, or a service, you don't want to pre-upload every input - you want to pass a link. Load Image From Url lets the workflow fetch its own input at runtime. It's also just convenient for grabbing a reference off the web without a save-then-upload dance, and for building reproducible example workflows that pull a known image so anyone can run them.
It's in the IO section of MTB Nodes (comfy_mtb) by melMass, the same pack that has the URL-based save/load helpers.
How it works
It makes an HTTP request for the URL, decodes the response into an image tensor, and outputs it like any other loader. Because the network is involved and networks flake, it has retry logic built in - if the first request fails it waits and tries again, up to a limit you set. The default URL in the field is just a Wikipedia example placeholder so the node does something sensible before you've typed anything.
The inputs and outputs that matter
url- the direct link to the image. It has to point at the actual image file (the thing that ends in.jpg/.png), not a gallery or preview page that merely displays one.retry_count(default 3) - how many times to retry before giving up. Bump it if you're hitting a flaky or rate-limited host.retry_interval(default 1s) - how long to wait between retries. Raise it for servers that rate-limit; a longer pause is politer and more likely to succeed.
Output is a single IMAGE, ready to wire into a VAE encode, a ControlNet preprocessor, an img2img sampler - anywhere a loaded image goes. Note there's no MASK output here, so if you need an alpha mask you'll extract it downstream.
How to install it
ComfyUI Manager: search MTB Nodes, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb
then restart. Pure Python, no models, nothing extra to download - it just needs network access from wherever ComfyUI is running.
Common issues & troubleshooting
It downloads a webpage, not an image. The single most common mistake: pasting the URL of the page that shows the image instead of the image's own direct link. Right-click the image, "copy image address," and use that. If the host serves an HTML page at your URL, decoding fails.
Hotlink protection / 403s. Plenty of sites (and image hosts) block requests that don't come from a browser, or block hotlinking entirely. If a URL works in your browser but not here, that's usually the cause - host the file somewhere that allows direct access, or download it and use the normal loader.
It fails intermittently. Flaky host or rate limiting. Raise retry_count and lengthen retry_interval so the node backs off and tries again instead of failing on the first hiccup.
Running headless / on a remote box. The download happens wherever ComfyUI's server process runs, not on your local machine. If that host has no route to the URL (internal-only, firewalled, or air-gapped), the fetch fails even though the link opens fine on your laptop.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Example.jpg/800px-Example.jpg | — |
| retry_count | INT | 31–20 | — |
| retry_interval | FLOAT | 1.00–60 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |