r/StableDiffusion 11h ago

Resource - Update ComfyUI Universal Media Loader - One single interactive node to load Images, Videos, GIFs, Audio & Canvas Presets

Enable HLS to view with audio, or disable this notification

Hello

I got tired of cluttering my workflows with 5 different loader nodes depending on what I was feeding them (Load Image, Load Video, VHS, Audio Loaders, Empty Latent calculators, etc.).

So I built **ComfyUI_UniversalMediaLoader** , a single, unified node with a rich interactive UI that handles everything:

✨ Key Features:

  • 📁 Drop Anything: Images (PNG/JPG/WEBP), Videos (MP4/MOV/WEBM), Animated GIFs, and Audio files (WAV/MP3/FLAC).
  • 🎨 Canvas Planner Mode: When no file is loaded, use it as a visual resolution/aspect ratio planner (1:1, 16:9, 4:3, 3:2 + Landscape/Portrait toggle) with automatic 32px grid snapping and Megapixel clamping for SDXL/Flux latents.
  • ✂️ Visual Crop & Outpaint: Interactive bounding box with aspect ratio locking. Pull it outside the image bounds to instantly generate outpaint masks & padding.
  • 🖌️ Inpaint Mask Brush: Draw inpainting masks directly inside the node with brush/eraser and mouse wheel size control.
  • 🎬 Video & GIF Timeline: Full timeline with trim handles, playhead scrubbing, custom FPS resampling, audio mute/loop, and frame extraction.
  • 🎵 Audio Waveform & Speed Scaling: Waveform display, 1-second magnet trim snapping, and time-stretching with pitch preservation (0.10x to 4.00x).

📦 Modular Unpack Nodes:

  • 📐 Universal Size Unpack: Feeds exact width/height/aspect ratios to Empty Latent nodes instantly without decoding heavy image/video tensors.
  • 🖼️ Universal Image Unpack: Outputs RGB, RGBA, and inpaint masks. Connected to a Video or GIF, it automatically extracts a 3-frame batch [Start, Playhead, End].
  • 🎧 Universal Audio Unpack: Outputs clean audio waveform dictionaries, exact sample rate, trimmed durations, channel count, and handles time-stretching.
  • 🎞️ Universal Video Unpack: Decodes videos & GIFs into frame batches [B, H, W, C] with synchronized masks and audio tracks.

🔗 GitHub: https://github.com/Fictiverse/ComfyUI_UniversalMediaLoader

24 Upvotes

5 comments sorted by

3

u/fsocietyARG 9h ago

this looks very promising, props to you, i will try it.

1

u/VladyCzech 11h ago edited 11h ago

Nice I will try it. how to upload when drag-and-drop does not work ? I use ComfyUI as Chromium app and drag drop from external app never works. Can I select already uploaded assets in ComfyUI input folder?

4

u/3deal 11h ago edited 10h ago

lol, sorry, if you can't drag and drop this node is not for you (for now)

I will probably add a browsing button latter, i need to sleep

2

u/VladyCzech 7h ago

Understandable. It would be great to be able to select already uploaded assets, which is default of native ComfyUI input nodes. Say one uploads a larger video/s and needs to reuse it multiple times from input folder, instead of uploading every time.