Image From URL
Paste a URL, get an image — the workflow-sharing helper
- image
If you've ever shared a ComfyUI workflow and watched someone stall at the "you need to download this reference image yourself" step, you'll get this node immediately. Image From URL does exactly one thing: you give it a link, it downloads the image, and it spits out a standard ComfyUI IMAGE tensor ready to wire into the graph. That's the whole node, and it exists so a shared workflow can be self-contained.
It rides along in the jitcoder/lora-info pack - the author actually apologizes in the README for shoving it into a LoRA repo and promises to split it into its own pack eventually. So you'll find it under the same "jitcoder" category as Lora Info, install them together, and pretend it lives where it belongs.
How it works
The whole fetch is a handful of lines: requests.get(url, stream=True), decode with Pillow, exif_transpose (so phone photos with rotation metadata come out the right way up), force to RGB, then scale to float32 / 255 and reshape into the [batch, height, width, channels] tensor ComfyUI expects. One input, one output, no state.
The thing to internalize: it fetches fresh on every queue. No cache, no timeout, no retry. Big images will sit there while the graph waits on the download. It's a convenience node, not a CDN.
Inputs and outputs
- url (
STRING) - single-line field, paste a direct link to an image (.png,.jpg,.webp- anything Pillow can open). - image (
IMAGE) - the decoded tensor, which wires into anything that accepts a Load Image output: an img2img init image, an IPAdapter or ControlNet reference input, a face-swap pipeline, whatever.
It's marked as an output node, so you can run the graph and it'll display the fetched image in the UI - handy for sanity-checking that you pasted the right link before it flows downstream.
Installation
Same as its sibling - either route works:
cd ComfyUI/custom_nodes
git clone https://github.com/jitcoder/lora-info.git
…or search "lorainfo" in ComfyUI Manager and hit install. Restart ComfyUI. No extra dependencies: it leans on requests, Pillow, torch and numpy that ComfyUI already bundles. There's a mildly funny detail in the source - the frontend tries to POST to a /fetch_image endpoint that the backend never defines, so that call 404s silently while the real fetching happens in the node's own Python. Harmless, just... there.
Common issues
The failure mode you'll actually hit is a dead or protected URL. Hotlink-protected hosts (many gallery sites, some image hosts) return a 403 to a bare requests.get with no browser User-Agent, and the node just errors out. Paste the URL in a browser first; if it loads there but fails here, that's the host blocking you, not the node.
Worth saying once, plainly: this node will fetch any URL your machine can reach, including localhost and internal addresses. ComfyUI community workflows have been a malware vector before - the ecosystem doc is honest about that reputation - so don't paste a fetch-URL node from a workflow you don't trust. For images you control (or that a friend shared alongside the workflow), it's completely fine and genuinely convenient.
And the obvious one: the URL has to be a direct image link, not a page that contains an image. Paste the page URL and you'll get a parse error - grab the actual .jpg/.png link from the image's context menu.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |