Nodes/Eden.art nodesuite/All Media Loader πŸ“
ComfyUI Node Runs on cloud

All Media Loader πŸ“

One loader for images, folders, video, and GIFs

By edenartlabΒ·Created 3 years agoΒ·Updated 6 months agoΒ· 119
All Media Loader πŸ“
    • image
    • WIDTH
    • HEIGHT
    • COUNT
    • FILE_NAME
    • FILE_PATH
    • FPS
    β—„pathβ€”β–Ί
    β—„image_load_cap0β–Ί
    β—„force_rate0.0β–Ί
    β—„max_res2048β–Ί
    β—„sortNoneβ–Ί

    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_cap to 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's py7zr dependency 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, or random. 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.

    CategoryEden 🌱/general

    Inputs (5)

    NameTypeDefaultDescription
    pathSTRINGPath to media file(s). Can be an image, directory of images, video file, or archive.
    image_load_capINT00–9223372036854776000Maximum number of images to load. 0 means load all images.
    force_rateFLOAT0.0Force extracting frames at this FPS rate. 0 means use original rate.
    max_resINT20480–9223372036854776000Maximum resolution (width or height). Images larger than this will be resized. 0 means no resize.
    sortCOMBONoneMethod to sort multiple images.

    Outputs (7)

    NameTypeDescription
    imageIMAGEβ€”
    WIDTHINTβ€”
    HEIGHTINTβ€”
    COUNTINTβ€”
    FILE_NAMESTRINGβ€”
    FILE_PATHSTRINGβ€”
    FPSFLOATβ€”