ComfyUI Node

FELoadImageQQUrl

Load an image from any URL, no QQ required

By fexli·Created 3 years ago·Updated about a year ago· 3
FELoadImageQQUrl
    • IMAGE
    • MASK
    url
    file_typepng
    file_unique

    The name says "QQ" and the category says "remote," so your first guess is probably that this downloads images from Tencent's chat platform. The name is a lie - FELoadImageQQUrl just downloads an image from any HTTP URL and loads it into ComfyUI as an IMAGE (plus a MASK if the file has an alpha channel). No QQ account, no API key, no special service. If it's a URL and it returns bytes, this node will happily fetch it.

    Why would you want that? Because ComfyUI's stock image loader only reads local files. Any workflow that starts from a web image - a reference you grabbed from a website, a face from a shared URL, a bot that pipes images in - needs something that pulls from a link. This is that something.

    How it works

    It takes three inputs, all strings:

    • url - the image's address.
    • file_type - the extension, default png. Used for the local cache filename, so .jpg, .webp, .png all work.
    • file_unique - a cache key. If you leave it empty, the node generates a random one; the downloaded file lands in your ComfyUI input directory as <unique>.<type>. If a file with that name already exists, it's reused - so a fixed file_unique means "download once, then load from cache," which is a great way to keep a workflow reproducible across runs and avoid hammering a server.

    Outputs: IMAGE (the pixels, normalized to 0–1) and MASK. The mask is derived from the alpha channel if present; otherwise you get an empty 64×64 zero mask - that's the "no alpha" sentinel, not a bug.

    The two things to watch

    First, it doesn't check content-type or do any real validation - if the URL 404s or returns garbage, you get whatever error PIL throws at open time. Don't point it at a page instead of an image file.

    Second, and this is the important one: this node fetches arbitrary URLs from your machine. That's a security surface, same as any "load from URL" tool. Only wire it to URLs you trust. In a world where custom nodes are executed with full user-level access (see the ComfyUI_LLMVISION incident in the ecosystem write-ups), an image downloader that fetches whatever string you give it deserves a moment of caution before you paste an unknown link into it.

    Install

    Part of fexli-util-node-comfyui:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fexli/fexli-util-node-comfyui
    cd fexli-util-node-comfyui
    pip install -r requirements.txt
    

    Or via Manager (search fexli-util-node-comfyui), then restart. Light dependencies; config.yaml is only for the pack's API nodes.

    Is it the most polished URL loader in the ecosystem? No. But for a quick "grab this link, keep it cached, move on" job it does exactly what it says, and the built-in cache key is a genuinely nice touch.

    Categoryremote/image

    Inputs (3)

    NameTypeDefaultDescription
    urlSTRING
    file_typeSTRINGpng
    file_uniqueSTRING

    Outputs (2)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK