Nodes/ComfyUI vsLinx Nodes/Load (Multiple) Images (List)
ComfyUI Node

Load (Multiple) Images (List)

Load (Multiple) Images (List) — stop hand-wiring a loader per reference image

By vslinx·Created about a year ago·Updated 26 days ago· 25
Load (Multiple) Images (List)
    • images
    • filenames
    selected_paths
    fail_if_emptytrue
    filename_handlingfull filename

    Stock ComfyUI's Load Image takes one file per node. Want five reference images in a workflow? Five nodes, or a growing pile of them when you swap references around. This vsLinx node replaces that with a "Select Images" button that opens a multi-select dialog, uploads the chosen files to your input folder (exactly like the core Load Image does), and hands them downstream as a list - so you can iterate over them one at a time instead of cramming everything into one tensor.

    What it is

    Part of a two-sibling pair in the vsLinx pack. The List version returns the images as a Python list, which is what you want when downstream nodes process each image independently - an img2img loop, a per-image ControlNet pass, or a detailer that should treat each reference separately. The Batch sibling packs everything into one tensor (faster, but forces uniform dimensions - a batch is a single shape, so differing resolutions get resized, cropped or padded to match). Choose based on whether you want "each one processed separately" or "all at once".

    Inputs and outputs

    • selected_paths - the widget holding your picked files (you set it via the Select Images button, not by typing).
    • fail_if_empty (default on) - throw an error if the selection resolves to no images, which happens when files were deleted or moved. Turn it off if you want the workflow to limp on with nothing.
    • filename_handling - controls what the filenames output contains: "full filename" gives image (1) from image (1).png; "deduped filename" strips ComfyUI's auto-appended (1) counters that appear when you upload several same-named files.

    Outputs: images (IMAGE, list) and filenames (STRING, list) in matching order. That parallel filename list is genuinely useful - you can feed names into metadata, an Image Saver, or a captioning pass.

    Two more behaviors worth knowing, from the README: a max_images property caps how many you can load (0 or empty = unlimited), and the preview shows a tile view you can click into for a full-size look, with the X returning to tiles and corner numbers switching images.

    When to reach for it

    • Reference sheets and multi-image prompts: load a folder of style refs in one click.
    • Batch img2img on a set of inputs you keep swapping.
    • Any workflow where "the images I want change every session" - because re-selecting in one dialog beats deleting and rewiring nodes.

    Install

    Ships in the vsLinx pack. ComfyUI Manager → search "ComfyUI vsLinx Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vslinx/ComfyUI-vslinx-nodes.git comfyui-vslinx-nodes
    

    Restart, look under vsLinx/image. No extra dependencies.

    Gotchas

    The list vs batch decision is the one that bites people. If you wire a list output into a node expecting a batch tensor, you'll get a type error - pick the matching sibling deliberately. And note the upload behavior is the same as core Load Image: files land in your input folder and get deduped names there, which is why the filename_handling option exists. If you're selecting a huge folder, the multi-select dialog is the bottleneck, not the node - select what you actually want.

    CategoryvsLinx/image

    Inputs (3)

    NameTypeDefaultDescription
    selected_pathsSTRING
    fail_if_emptyBOOLEANtrue
    filename_handlingCOMBOfull filename2 options: full filename, deduped filename

    Outputs (2)

    NameTypeDescription
    imagesIMAGE
    filenamesSTRING