Nodes/Painting Coder Utils/Web Image Loader 🌐(URL Or Base64)
ComfyUI Node

Web Image Loader 🌐(URL Or Base64)

Pull an image straight off the web — URL or base64 — no browser, no save-as

By jammyfu·Created 2 years ago·Updated about a year ago· 16
Web Image Loader 🌐(URL Or Base64)
    • image
    image_source
    use_cachetrue
    preview_enabledtrue

    The normal ComfyUI image loader reads from a file on disk, which means every web image you want to use has to be downloaded, saved into input/, and reloaded first. Web Image Loader cuts that step: paste a URL (or a base64 data URI), and the image lands on its output port. It's the pack's most distinctive node and the natural inverse of its Image To Base64 🎨.

    It's part of the Painting Coder Utils pack, and it's the only node there that touches the network - worth remembering on both sides of that fact: it's genuinely handy, and it's a node that makes HTTP requests.

    How it works

    You feed image_source a URL like https://example.com/cat.png or a base64 string (with or without the data:image/png;base64, prefix - it strips the header automatically). It detects which format it's looking at, downloads or decodes it, converts to RGB, and returns a proper IMAGE tensor. You can put several sources in, one per line, and it processes them as a batch.

    Two features earn their keep:

    • Caching - use_cache (default on) keys a hash of the source and saves the fetched image to the pack's local cache directory, so re-running doesn't re-download. Turn it off if the URL points to something that changes and you want a fresh fetch.
    • Graceful failure - an unreachable URL or a garbage base64 string doesn't kill the workflow. It returns a placeholder image (a 512×512 block with an error message drawn on it) and logs the failure, so you can see which source broke instead of hunting through the console. An empty input returns a plain image rather than crashing.

    preview_enabled (default on) controls whether the loaded image is written to ComfyUI's preview output.

    Inputs and output

    • image_source - the URL or base64 string (multiline, so multiple sources work).
    • use_cache - cache fetched images (default on).
    • preview_enabled - show the image in the preview feed (default on).
    • Output: image - the IMAGE tensor.

    Where you'll use it

    Dynamic workflows that pull reference images from the web, batch image ingestion from a list of URLs, or feeding an image that's being handed to you as a base64 payload (from an API response, a clipboard, or your own Image To Base64 node). It's also handy for prototyping with an online image before you commit to saving it locally.

    Two honest cautions: this node makes outbound HTTP requests, so in a hardened or offline setup that's a consideration - and for large batch pulls you're better off scripting the downloads than letting the node fetch dozens of images one at a time. For one-off URL loading it's exactly right.

    Install

    ComfyUI Manager → Painting Coder Utils, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jammyfu/ComfyUI_PaintingCoderUtils.git
    

    Restart ComfyUI. No models or API keys - the only "dependency" beyond the pack's usual set (numpy, Pillow, torch, gradio) is the requests library, which ComfyUI already ships with. And if an inherited workflow can't find this node, the v0.3.0 namespace rename is the culprit - the bundled docs/fix/workflow_fixer.html repairs old JSON.

    Category🎨Painting👓Coder/🌐Web

    Inputs (3)

    NameTypeDefaultDescription
    image_sourceSTRING
    use_cacheBOOLEANtrue
    preview_enabledBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    imageIMAGE