Nodes/ComfyUI Load Image Media Browser/LoadImageThumbnailsModern
ComfyUI Node

LoadImageThumbnailsModern

Your Load Image node, now with an actual file browser

By puk77·Created 4 months ago·Updated 4 months ago· 9
LoadImageThumbnailsModern
    • IMAGE
    • MASK
    image

    You know the feeling: your input folder has 800 files, and the stock Load Image node gives you a dropdown of names. Fine if you name everything hero_shot_final_v12.png, misery if your folder is anything like the average input directory. This node is the fix - it wraps the core Load Image node and bolts a real media browser with thumbnails onto it.

    LoadImageThumbnailsModern comes from puk77's small pack, ComfyUI Load Image Media Browser, an independently published, AGPL-licensed derivative of audioscavenger/ComfyUI-Thumbnails. The author (puk77, posting as Due-Quiet572 on r/comfyui) built it as their first node after getting tired of the original's quirks in their own daily workflow. Version 1.0.0. It's one of those "how did I live without this" quality-of-life things rather than a model loader, and it needs no models, no API keys, and no extra pip packages.

    How it works

    The Python class is, functionally, the core Load Image node - same one-input/two-output shape, same upload widget - so it drops into any workflow as a drop-in replacement. The magic lives in the JavaScript. When you click the Browse Media button that appears on the node, the frontend asks the server (/thumbnails-modern/list) for a listing of everything in your input tree: files, folders, sizes, mtimes, and media type, recursively scanned and cached until the input folder's timestamp changes. The dialog then renders thumbnails straight from the original files in the browser. Nothing gets written to disk - no thumbnail cache, no temp files, nothing to clean up when you close ComfyUI. Selecting an entry writes the file path back into the node's widget, so your workflow stays a perfectly normal ComfyUI workflow.

    There's real polish in the details. The browser shows both images and videos (toggles to hide either), sorts by date or name in either direction, remembers the last folder you were in across sessions, and only lets each node pick what it can actually use - Load Image can select image files, Load Video gets the videos, even though both are visible for context. It even handles animated images: a GIF or APNG gets decoded into a frame stack on load.

    Inputs and outputs

    The interface is deliberately boring, which is the point:

    • image (required) - an enum of every image file found in the input directory tree, including subfolders. You can type to filter or use the upload button like normal.
    • IMAGE output - a tensor (with a batch dimension for animated files) that feeds anything expecting an image: VAE encode, ControlNet, an img2img refiner.
    • MASK output - the alpha channel as a mask, or a zero tensor when the image has no transparency.

    One nice behavior: the node fingerprints the file by path, size, and mtime, so it re-runs when the file on disk changes rather than serving you a stale cached result.

    Installing

    Two ways, both trivial since there are no dependencies to resolve:

    cd ComfyUI/custom_nodes
    git clone https://github.com/puk77/ComfyUI-Load-Image-Media-Browser.git
    

    Then restart ComfyUI and hard refresh the browser (Ctrl+Shift+R) - this is a JS-frontend pack, so a plain refresh can leave you staring at a node with no new button. Or just search "Load Image Media Browser" in ComfyUI Manager and let it handle it.

    Gotchas

    Worth knowing before you install: the pack replaces the built-in LoadImage node globally at import time, so every existing workflow that uses plain Load Image suddenly has the browser button too. That's mostly a pleasant surprise, but if you'd rather keep the stock node, that override is the thing to know about. It's also a real trap that the delete button in the browser permanently deletes files from your input folder - there's no undo, and it's guarded only to files inside the input tree. By all means use it, but maybe not on a folder you care about while half-asleep.

    If files don't show up, check they're actually inside ComfyUI/input (the browser scans there, recursively) and hit Refresh in the dialog. If the button is missing entirely after a clean restart, it's almost always the hard-refresh step. And if you're coming here because you searched "load image with preview" - this is the node people point to.

    Categoryimage

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png

    Outputs (2)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK