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 16 days agoΒ· 120
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 🌱/Loaders

    Inputs (5)

    NameTypeDefaultDescription
    pathSTRINGImage, folder of images, image wildcard (e.g. frames/*.png), video, GIF or archive (zip/tar/7z). Absolute, relative to input/, or [input]/[output]/[temp] annotated.
    image_load_capINT00–9223372036854776000Maximum number of images/frames to load. 0 means load all.
    force_rateFLOAT0.0Videos/GIFs: sample frames at roughly this FPS. 0 means use the original rate.
    max_resINT20480–9223372036854776000Downscale so width and height stay at or below this. 0 means no resize.
    sortCOMBONoneOrder for multiple images. None = by filename; random uses a fixed seed.

    Outputs (7)

    NameTypeDescription
    imageIMAGELoaded images/frames [B,H,W,3].
    WIDTHINTWidth in pixels.
    HEIGHTINTHeight in pixels.
    COUNTINTNumber of images/frames.
    FILE_NAMESTRINGFile name without extension (first three names joined with | for multiple images).
    FILE_PATHSTRINGPath of the file, archive or containing folder.
    FPSFLOATFrame rate for videos/GIFs, 0 for images.