Nodes/ComfyUI Griptape Nodes/Griptape Load: Image From URL
ComfyUI Node

Griptape Load: Image From URL

Grab an image straight from the web — no downloading, no drag-and-drop

By griptape-ai·Created 2 years ago·Updated about a year ago· 238
Griptape Load: Image From URL
    • IMAGE
    • WIDTH
    • HEIGHT
    image_url

    Paste a URL, get an image. That's the whole node - one input, one image out, no API key, no Griptape account, no need to save anything to disk first. It's the "I found a reference on the web and I want it inside the graph right now" node, and it's the thing you reach for before feeding a picture into Griptape's image-description or image-query tasks.

    It's part of ComfyUI-Griptape, the pack from the griptape.ai team that dropped a full LLM-agent framework into ComfyUI. But this particular node is the boring, useful end of that project: it's really just a web fetch dressed as a loader. The code is adapted from the older mnemic-nodes fetch-image node, so if you've used that, this will feel familiar.

    How it works

    Under the hood it does exactly what you'd do by hand: requests.get(image_url), check the status code is 200, open the bytes with PIL, convert to RGB, and turn it into a standard ComfyUI image tensor (float values scaled to 0–1). If the fetch fails - wrong URL, 403 from the host, network error - it prints the reason to the console and hands you None outputs, so downstream nodes that assumed an image will quietly stop. There's no retry and no timeout tuning, so a slow host just hangs until requests gives up.

    The inputs and outputs that matter

    The only input is image_url. Paste a direct, raw image link - think https://example.com/photo.jpg, not a page URL.

    Three outputs come out of it:

    • IMAGE - the standard image tensor. Wire this into an image-description node or an image-query task to ask an LLM what's in the picture.
    • WIDTH and HEIGHT - plain integers for the image's dimensions. Handy if you want to scale a generated image to match the reference, or compute an aspect ratio.

    The node is flagged as an output node, so the fetched image shows up in the output area too - useful for sanity-checking that you actually got the right picture before you burn tokens describing it.

    Installing it

    Install the pack once and you get every node in this series. ComfyUI Manager is the easy path: open Manager, search for Griptape, find ComfyUI-Griptape, install, restart. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/griptape-ai/ComfyUI-Griptape
    

    Then restart ComfyUI. The pack's dependencies (griptape[all], python-dotenv) install automatically; if not, pip install "griptape[all]" python-dotenv.

    Common issues

    Where people get burned: URLs that aren't direct image links. Imgur gallery pages, Google Image results, and any page with hotlink protection will return an HTML page or a 403, and the node prints an error and gives you nulls. Paste the raw .jpg/.png/.webp URL instead. Some CDNs also block requests that don't look like a browser, and there's no user-agent override here, so a stubborn host just won't work. And an empty image_url field returns nothing with an error message - the node won't guess for you.

    That's the whole trick. If the URL is right and the host is friendly, this node is one of the most boring, reliable things in the pack - which is exactly what you want from a loader.

    CategoryGriptape/Image

    Inputs (1)

    NameTypeDefaultDescription
    image_urlSTRING

    Outputs (3)

    NameTypeDescription
    IMAGEIMAGE
    WIDTHINT
    HEIGHTINT