All Media Loader π
One loader for images, folders, video, and GIFs
- image
- WIDTH
- HEIGHT
- COUNT
- FILE_NAME
- FILE_PATH
- FPS
ComfyUI's stock Load Image handles one file. The moment you want to batch-process a folder, extract frames from a video, or slurp an archive of inputs, you're suddenly chaining three different loaders and praying they agree on output format. All Media Loader π is Eden.art's attempt to collapse that into a single node: point it at a file, a folder, a video, or a GIF, and it hands you a clean tensor batch plus the metadata you'd otherwise have to compute yourself.
It's the "simplified media loader" the pack's docs describe - one node that normalizes everything into ComfyUI's [B, H, W, C] format. It won't replace your favorite specialized loader for exotic formats, but for "just load all of this and give me the numbers" it's hard to beat.
What it handles
- A single image - loads it, done.
- A folder of images - loads them all (optionally sorted), with
image_load_capto limit the count. - A video (
.mp4/.mov) - extracts frames, at a forced FPS if you ask. - A GIF - same frame-extraction treatment.
- An archive - it resolves paths with wildcards and
[input]/[output]/[temp]annotations, which is where the pack'spy7zrdependency comes in for compressed sources.
If a path resolves to multiple files (wildcard match), it loads them all as a batch.
The inputs that matter
The tooltips in the node are the author's own descriptions, and they're accurate:
- path - "Path to media file(s). Can be an image, directory of images, video file, or archive."
- image_load_cap - "Maximum number of images to load. 0 means load all images."
- force_rate - "Force extracting frames at this FPS rate. 0 means use original rate." This is the one to know for videos: set it to e.g. 12 and you get a 12fps frame set regardless of source.
- max_res (default 2048) - "Maximum resolution (width or height). Images larger than this will be resized. 0 means no resize." Resizing is done with Lanczos, so quality holds up.
- sort -
None,alphabetical,date_created,date_modified, orrandom. Invaluable when folder order is the only thing standing between you and a coherent batch.
The outputs
Seven of them, which is the real win:
- image - the batch tensor.
- WIDTH, HEIGHT - dimensions (from the stacked tensor).
- COUNT - how many frames/images loaded. Use it to size downstream batch nodes.
- FILE_NAME, FILE_PATH - useful for saving or logging per-batch.
- FPS - the effective frame rate (original or forced).
You can build a whole "load β process β save" batch loop with nothing but this node and the count it returns.
Installing
It's in edenartlab/eden_comfy_pipelines (Eden.art nodesuite):
cd ComfyUI/custom_nodes
git clone https://github.com/edenartlab/eden_comfy_pipelines.git
cd eden_comfy_pipelines
pip install -r requirements.txt
Or ComfyUI Manager β search "Eden". Two dependencies worth knowing about: video frame extraction goes through ffmpeg (the code finds it via shutil.which("ffmpeg"), so have it on your PATH), and archive support pulls in py7zr from the pack requirements.
Gotchas
The big one is that silent problem-solver, ffmpeg: if video loading returns nothing or errors, it's almost always that ffmpeg isn't reachable - install it and restart ComfyUI. Second, max_res defaults to 2048, which means your 4K input gets downscaled by default - set it to 0 if you want originals untouched. And if you point path at a directory with mixed file types, it loads the images in it, so don't expect a single folder to produce one combined batch of images and video - separate those inputs.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| path | STRING | Path to media file(s). Can be an image, directory of images, video file, or archive. | |
| image_load_cap | INT | 00β9223372036854776000 | Maximum number of images to load. 0 means load all images. |
| force_rate | FLOAT | 0.0 | Force extracting frames at this FPS rate. 0 means use original rate. |
| max_res | INT | 20480β9223372036854776000 | Maximum resolution (width or height). Images larger than this will be resized. 0 means no resize. |
| sort | COMBO | None | Method to sort multiple images. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| WIDTH | INT | β |
| HEIGHT | INT | β |
| COUNT | INT | β |
| FILE_NAME | STRING | β |
| FILE_PATH | STRING | β |
| FPS | FLOAT | β |