vlo Memory Load Image Batch
Feed ComfyUI batches of images without junking up your input folder
- images
- masks
The normal way to get an image into ComfyUI is to drop it in ComfyUI/input. That works great until the thing driving ComfyUI is an external app generating dozens of throwaway inputs per run - then your input folder becomes a landfill and your graph is full of one-off files that mean nothing to anyone. vloMemoryLoadImageBatch is the batch loader from PxTicks' ComfyUI-vlo pack built for exactly that situation: media never touches ComfyUI/input at all. It lives in an in-memory registry, keyed by id, and this node just looks it up.
It's the bridge node between the vlo app and your graph. If you're hand-building workflows in the ComfyUI UI and don't run vlo, most of this node's magic is invisible to you - but the fallback isn't, which is why the pack bothered to build it.
How it works
vlo registers short-lived media into an in-memory registry over HTTP endpoints this pack adds (/api/vlo-memory/*), and a small web extension replaces the node's static multi-select with an ordered selector that refreshes straight from that registry. You pick images in the order you want them; arrow controls pin the exact order that flows downstream. Each selection is resolved at execution time, and because the node fingerprint-hashes the media content, ComfyUI re-runs when a registered image actually changes rather than trusting a stale cache.
The two inputs are all there is: images (your ordered multi-selection) and disable_in_memory. That boolean is the one you'll touch when testing a workflow by hand without vlo in the loop - flip it true and the same selector now loads files from your normal input directory instead of the registry, which is the same plumbing you already know.
What comes out
Two outputs, both Comfy lists rather than concatenated tensors: an ordered images IMAGE list and a matching masks MASK list in the same order. That distinction matters more than it sounds. Because each image is an independent list item, they don't need to share dimensions - a 512×512 and a 1344×768 can ride in one batch, which is exactly the messy, real-world input an automation layer produces. Downstream, a consumer that wants the whole set in one execution has to opt into ComfyUI list inputs; an ordinary node will just execute once per item. Selections are capped at 100 as a safety bound.
Install and caveats
Whole-pack install - Manager search "ComfyUI-vlo", or:
cd ComfyUI/custom_nodes
git clone https://github.com/PxTicks/ComfyUI-vlo.git
then restart. No extra Python dependencies. If you're not using vlo, remember disable_in_memory is your friend - otherwise the node validates selections against the registry and will tell you a media id is unknown. And if you load this node fresh, don't be surprised if your ComfyUI needs to be reasonably recent: the pack is built on ComfyUI's newer extension API, and the repo is young enough that Manager may not list it yet (clone works regardless).
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMBO | 0 options: | |
| disable_in_memory | BOOLEAN | false | When true, load every selection from ComfyUI's normal input directory instead of the vlo in-memory registry. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | Ordered image list. |
| masks | MASK | Masks in the same order as the image list. |