Nodes/ComfyUI-NO8D-controls/NO8D-Load-images
ComfyUI Node

NO8D-Load-images

Load a batch, not a single file

By no8d·Created 2 months ago·Updated 14 days ago· 271
NO8D-Load-images
    • images
    image_files[]
    output_files[]

    Stock ComfyUI loads one image per Load Image node. That's fine for a single img2img pass, but the moment you want to analyze twenty reference images, caption a folder, or run a batch through the same pipeline, you're pasting twenty Load Image nodes or reaching for a folder loader. NO8D-Load-images is the batch version: you open its file picker, drag files in, or paste from the clipboard, and it loads the lot as a single IMAGE list output, ready to flow through your graph.

    The workflow here is visual, not typed. You get thumbnails, you can reorder them, and you can select which ones actually get sent downstream. That selection behavior is the point: send only the selected images, send all of them, or - deliberately - send none.

    What you set

    • image_files - the JSON list of image references the node is holding. It's the node's internal state, populated by the picker/drag/clipboard UI. You won't edit it by hand.
    • output_files - a second JSON state field tracking what was output last run.

    Output is images - an IMAGE list, not a single tensor. That's the part that trips people up: you're feeding nodes that consume lists (a prompt node that analyzes each image in turn, an img2img batch, a save loop), not a plain Load Image consumer. If your downstream node expects one image, you'll need something to pull an item out of the list.

    How it works

    The node resolves each image reference against ComfyUI's input, output, or temp directories - so it can pull from anywhere ComfyUI already knows about, including images you previously generated. It applies EXIF orientation, converts to RGB, and hands you tensors. The "first image auto-selected" behavior means a freshly imported batch starts with item one selected, which is a nice touch when you're importing one at a time. Selection is the gate: with nothing selected, the node outputs nothing, and downstream work simply doesn't fire - which is how you build a "review, then process" step into a workflow.

    Where it fits

    This node pairs naturally with the rest of the pack: load a folder of references into NO8D-Prompt for image analysis, or load a batch of candidates and feed them through a comparison or save pipeline. It's also the right tool for the caption-and-save workflow with NO8D save - load your dataset images here, run a captioner over the list, save image-plus-caption pairs. The load-once semantics beat re-importing a folder every run.

    Install and gotchas

    Standard pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/no8d/ComfyUI-NO8D-controls.git
    python -m pip install -r requirements.txt
    

    ComfyUI Manager → "NO8D-controls". No models, no downloads. The two gotchas worth remembering: the output is a list (match it with list-aware nodes), and the selection controls what runs - a workflow that appears to do nothing is often this node sitting on an empty selection. Also give the frontend a hard refresh after updating, since the drag-and-drop picker is browser JS and stale tabs misbehave.

    CategoryNO8D-control

    Inputs (2)

    NameTypeDefaultDescription
    image_filesSTRING[]
    output_filesSTRING[]

    Outputs (1)

    NameTypeDescription
    imagesIMAGE