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 3 months ago·Updated 29 days 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_1image_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