Folder Image Load
Folder Image Load skips the LoadImage wiring
- images
The whole trick of Folder Image Load is in the name, and it's exactly the thing you'll want the moment you stop generating single images and start processing folders. Give it a directory path and it reads every supported image file in there, then hands you one batched IMAGE tensor - no dropping eight Load Image nodes onto the canvas, no hand-queuing a run per file. Point it at a folder of reference shots, wire the images output into an img2img or upscaling pipeline, and the entire folder goes through in one queue.
That's the classic batch-testing workflow: checking a LoRA against a gallery of characters, running a style pass over a whole shoot, or feeding a frame sequence into an interpolation or video pipeline. Without a node like this you end up either building a small army of image loaders or scripting outside ComfyUI. This collapses it to one text box.
How it works. The mechanism is deliberately borrowed from the pack's own Load Image Batch From Dir node, minus most of the knobs. It filters the folder down to .jpg/.jpeg/.png/.webp/.bmp/.gif/.tif/.tiff/.avif, ignores subfolders, and sorts the survivors with natural ordering - so 1.png, 2.png, 10.png come out in that order rather than 1.png, 10.png, 2.png like a dumb string sort would. Each image is converted to RGB and EXIF-transposed, then everything is stacked onto one batch dimension.
The size handling is the one thing that bites people: the first image in the folder sets the target dimensions, and any later image of a different size is resized with bilinear upscale plus center-crop to match. A batch tensor has to be rectangular, so something has to give - and that something is your aspect ratio. Feed it uniformly-sized images and you'll never notice; feed it mixed sizes and the edges of the smaller ones get cropped to fit the first image's frame.
The inputs that matter. This node's UI is refreshingly short, and that's by design:
folder_path(STRING) - the only input. An absolute path works (D:/shoots/run_a), or a path relative to the ComfyUI root, sooutput/folderlands inside your normal output directory. It'll strip wrapping quotes, expand environment variables and~. A missing or empty folder throws a clear error that echoes the resolved path back at you.images(IMAGE) - the single output: your whole folder as one batch, ready for any node that takes IMAGE.
Installing it. This node ships in the wcx_-prefixed grab-bag that is ComfyUI-Practical-Tools. Easiest is ComfyUI Manager - search for "ComfyUI-Practical-Tools" and install, then restart. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/wenchengxiang/ComfyUI-Practical-Tools
Then restart ComfyUI. No model downloads, and the requirements file is effectively empty - it only uses the PIL/torch/numpy that ship with ComfyUI itself, so there's no dependency hell to inherit. The catch: the README is one line long, so the code is the documentation. For a pack this young with no real community footprint, read anything before you trust it - but this particular node is about as benign as custom nodes get.
Where people get burned. It loads everything into one tensor in memory at once. Point it at 200 high-res scans and you'll feel it in RAM and VRAM the instant the batch hits a sampler. There's no cap, no start index, no per-file downscale before the batch forms - the sibling Load Image Batch From Dir node in the same pack adds those options if you outgrow this one. And because the first file decides the batch shape, sort your folder (natural order handles numbered names, but do it consciously) or your "first" image might be a random thumbnail that drags everything else down to its size.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| folder_path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |