KIE • Download Image
The Node That Barely Needs KIE
- config
- image
A URL goes in, an image tensor comes out. That's the whole node. The interesting part is that it will happily fetch an image from anywhere - the first thing it does is just GET your URL, no key, no KIE involved. KIE's involvement only starts if that fails.
Why you'd need it
The API nodes in this pack hand you a native IMAGE directly, so you rarely need this. You reach for it when the image didn't arrive through a node:
- You generated something in KIE's own web playground and have a URL.
- A workflow from a friend has the URL baked in but not the credential.
- A generated result's temp file got cleaned up and you want the image back without re-running the paid job.
- Someone sends you a link to a render and you want it inside ComfyUI, not in a browser tab.
How it works
url is a required string widget. Optionally you can wire a config in (type KIE_CONFIG), but for the common case you don't - the fetch is unauthenticated.
The mechanism has two stages, and the second is where KIE shows up: the client tries a plain GET on your URL with the configured timeout. If that fails - expired link, host that refuses bare requests - it asks KIE's Common API to convert the URL into a short-lived direct download URL, then retries. So a KIE-hosted result works either way, and a random reachable URL usually works on the first attempt.
Once the bytes are in, it's decoded with PIL into a ComfyUI IMAGE tensor. Two consequences: the image is converted to RGB, so an alpha channel is dropped rather than preserved; and it's re-encoded as a tensor, so this isn't a byte-for-byte pass-through if that matters to you.
The file is also archived under output/KIE-Results/images/ with a content-addressed filename, which is why re-downloading the same URL doesn't litter your output folder with duplicates - and why a successful download survives ComfyUI's temp-folder cleanup. If the output directory isn't writable it falls back to temp rather than failing the run.
Output: image, a single IMAGE. Wire it into an upscale, an image-to-video node, a Save Image, or a preview.
Install
ComfyUI Manager → ComfyUI-KIE-Nodes-Next. The README has Registry publication as prepared rather than shipped:
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
cd ComfyUI-KIE-Nodes-Next
pip install -r requirements.txt
Restart. This node is registered from the pack's base mappings, so it appears immediately - it doesn't wait on the live catalog sync that builds the model nodes. Python 3.10+; the network does the work, so there's nothing to download and no GPU cost.
Common issues
HTTP error on the first attempt and a KIE error on the second. The first GET failed, and the fallback converter needs a key it doesn't have. Save one in Settings → KIE.ai Nodes Next → Connection, or find the URL's original source. Note the fallback mints a short-lived link, so don't cache KIE URLs in a workflow and expect them to work a week later.
Expired URL. KIE's generated links are temporary by design; the archived copy in output/KIE-Results/images/ is the durable artifact. Re-download before it dies, or re-run the generation.
Alpha channel vanished. The decode path converts to RGB. This node is for getting pixels into a graph, not for preserving file fidelity.
A huge image, slowly. The fetch timeout defaults to 90 seconds and is adjustable through the advanced connection override; very large PNGs over a slow link can trip it.
The node has almost no community footprint. Corpus searches for this pack come back empty - the Kie.ai node chatter out there belongs to a different project. Nothing about this node is scary (it fetches a URL you gave it), but the pack as a whole holds a credential and calls the network by design, which is the one category that's already been weaponized once in this ecosystem. Read before you install.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | — | |
| configopt | KIE_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |