Nodes/comfyui-image_psss/🔗 Load Image from URLs
ComfyUI Node

🔗 Load Image from URLs

Load Image from URLs fetches your references for you

By heyzne·Created 4 months ago·Updated 2 months ago· 0
🔗 Load Image from URLs
    • image_1
    • image_2
    • image_3
    • image_4
    • image_5
    • image_6
    • image_7
    • image_8
    • image_9
    • image_10
    ◄url_1►
    ◄url_2►
    ◄url_3►
    ◄url_4►
    ◄url_5►
    ◄url_6►
    ◄url_7►
    ◄url_8►
    ◄url_9►
    ◄url_10►
    ◄on_error报错提示 (推荐)►

    You know the drag: someone hands you a workflow, it has a Load Image node, and before anything runs you have to download every reference into your input folder. If you work from image links a lot - a temp image host, a Discord attachment link, a CivitAI preview, a remote server you'd rather not sync - this node is for you. Load Image from URLs skips the file picker entirely: ten text boxes, you paste https:// links, and it fetches them itself. No download step, no API, no key.

    It's the third node in comfyui-image_psss by heyzne, the same utility pack as Load Image (Multi 5/10), and it's the pure-URL member of the family. Dependencies are just torch, numpy, and Pillow - already in every ComfyUI - so install is clone-and-restart:

    cd ComfyUI/custom_nodes
    git clone https://github.com/heyzne/comfyui-image_psss.git
    

    Restart, or search "comfyui-image_psss" in ComfyUI Manager. No models, nothing else to configure.

    What's on the node

    Ten inputs, url_1 through url_10, each producing its own IMAGE tensor out of image_1–image_10. Paste a link into any slot and leave the rest empty. Beyond plain URLs, the box accepts a Base64 data:image/... URI, and since v2.1 even a bare filename sitting in your input folder - handy when you dragged a file in and the field got a name instead of a path. Same on_error control as the pack's other nodes: keep the default (fail loudly, node turns red with the reason) or switch to the placeholder mode that outputs a magenta tile and lets the run continue.

    How the fetching works

    This is where the pack earns its keep. The fetch sends a browser User-Agent, waits up to 60 seconds, and retries twice with a delay. Then it validates: HTTP status code, Content-Type (it refuses things that aren't images - a login page, an HTML error page - instead of trying to decode them), and finally Pillow. This used to be the pack's biggest trap: in older versions, a dead link (404, expired temp-host link, hotlink block, timeout) silently produced a black image, and you'd chase a phantom NaN or a bad VAE forever - the classic black-output dead end the KB's troubleshooting section warns about. v2.1 fixed that by making failures loud. If you installed the pack long ago and a URL gives you black, git pull and re-test.

    Realistic pain points

    • 403 / hotlink protection. The fetch sends a browser User-Agent but no referer, so CDNs that check referer headers can still refuse. Get a direct image URL if the host offers one, or save the file to input and use the bare filename.
    • Expired ephemeral links. Temporary image hosts die constantly. The node now names the exact HTTP code instead of going black.
    • Empty vs failed slots. A 64×64 black tile means "no input here"; a magenta one means "this slot failed." They're deliberately different colors, so don't confuse the two when debugging.
    • Metadata caveat. Whatever the URL points at may itself have been re-encoded by its host, which strips the embedded ComfyUI workflow - so pasting a link is fine for pixels, just don't expect to drag that fetched image back into ComfyUI and recover a graph.

    It plugs into anything that eats IMAGE tensors: ControlNet references, IPAdapter style inputs, face-swap source images, img2img starting points. If you live on image links, this is the node that lets a workflow run without the download-and-sort dance.

    Categoryimage

    Inputs (11)

    NameTypeDefaultDescription
    url_1STRING—
    url_2STRING—
    url_3STRING—
    url_4STRING—
    url_5STRING—
    url_6STRING—
    url_7STRING—
    url_8STRING—
    url_9STRING—
    url_10STRING—
    on_erroroptCOMBO报错提示 (推荐)加载失败时:报错提示(节点变红显示原因)或输出品红占位图

    Outputs (10)

    NameTypeDescription
    image_1IMAGE—
    image_2IMAGE—
    image_3IMAGE—
    image_4IMAGE—
    image_5IMAGE—
    image_6IMAGE—
    image_7IMAGE—
    image_8IMAGE—
    image_9IMAGE—
    image_10IMAGE—