Nodes/RunningHub/RH Download Image
ComfyUI Node

RH Download Image

RH Download Image drags any image URL into your graph as a real IMAGE tensor

By liangzheng1128·Created 3 months ago·Updated 3 months ago· 0
RH Download Image
    • IMAGE
    url

    The RunningHub cloud hands you URLs - every output eventually becomes a link to an image on their servers. But ComfyUI works with tensors, not URLs. RH Download Image is the bridge: paste a URL, get a proper IMAGE tensor out the other side, ready to feed a Save Image, an upscaler, a VAE encoder, whatever.

    It's the pack's most useful utility because it's the one that closes the loop. The canonical flow in the README - Settings → Node Info → Execute Workflow → Download Image - ends here: the cloud produced the image, this node pulls it home. And because it needs no API key and no RunningHub account at all, it's also just a generally handy "load an image from the internet" node for any workflow.

    Inputs and outputs

    • url (STRING) - the image URL. That's it. One field.
    • Output IMAGE - a tensor of shape [1, H, W, 3] with RGB values normalized to 0–1, which is exactly what every other image node in ComfyUI expects.

    Mechanically it downloads the file with requests (streaming, so large images don't balloon memory), opens it with Pillow, converts to RGB, and normalizes the pixel values into a float32 tensor. If the URL is empty or the download fails, you get a black 64×64 placeholder tensor rather than a crash - the pack's standard failure face, which can masquerade as a legitimately black image, so when your result looks empty, suspect the download first.

    Where you'll wire it

    The most common sources:

    • The output_url1output_url5 sockets of RH Execute Workflow. (Heads up: cloud-rendered videos also come back as URLs - for those, use RH Download Video. This node is strictly for images.)
    • The output of RH Split Output URLs, when you're splitting a block of result URLs.
    • Any plain image URL you want to inject into the graph - reference photos, style references, control images.

    It handles one URL at a time. If you have five, either wire five of these nodes or split first and route each socket to its own Download Image. There's no batch URL input, which is a mild annoyance, but for the primary use - one cloud workflow, one result - it's exactly right.

    The one thing to know about URLs

    It follows whatever URL you give it and trusts the content. RunningHub result URLs are fine, but paste anything that requires auth or a session cookie and the download will just fail into the black placeholder. And since this is a local node, the security posture is refreshing: unlike the Execute nodes, nothing here carries your API key or sends data anywhere except out to fetch the image you asked for.

    Install

    Ships with ComfyUI-RunningHub:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/liangzheng1128/ComfyUI-RunningHub
    cd ComfyUI-RunningHub
    pip install -r requirements.txt
    

    or ComfyUI Manager → search "RunningHub", restart. Light deps - requests, websocket-client, Pillow, numpy.

    CategoryRunningHub

    Inputs (1)

    NameTypeDefaultDescription
    urlSTRINGImage URL to download

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE