FL Load Video
Load any video into ComfyUI — trimmed, resampled, audio included
- images
- audio
- video
- fps
- frame_count
The name undersells this node. FL Load Video doesn't just load a video - it's the front door for the whole video-to-video side of the Fill-Nodes pack. It decodes a file from your ComfyUI input folder into a frame batch, and while it's at it: trims to a time range, resamples the frame rate, resizes, caps the frame count, and hands you the audio track as its own output. One node, and you have everything a video workflow needs before the sampler ever runs.
ComfyUI core still ships no built-in video loader, so this space belongs to community packs (Video Helper Suite is the one most people reach for). FL Load Video is the Fill-Nodes answer, and its edge is the outputs: images, audio, a native VIDEO, plus fps and frame_count as raw numbers. For a video-to-video pass on a Wan or LTX-Video workflow, you feed images into the VAE, sample, and then on the far side you want the original audio back - this node carried it through, so a combine node can mux it in without you hunting down the source file again.
How it works
It's PyAV under the hood: probe the file, decode only the range you asked for, then sample. Every behavior lives in one load_settings JSON blob, which is fiddly at first but means the whole load plan is reproducible and shareable. A built-in memory check estimates peak RAM from frame count, resolution, and FPS, and refuses to load if you're about to blow up your machine - the error message tells you to reduce the range, frame count, FPS, or resolution. Trust it, it's usually right.
The inputs and outputs that matter
video - a dropdown of video files in ComfyUI's input folder (drag a file into ComfyUI/input, or straight onto the node). It accepts avi, gif, m4v, mkv, mov, mp4, and webm - and it must live in the input directory; the node rejects absolute paths pointing elsewhere.
load_settings - the JSON config. The fields you'll actually touch:
start_time/end_time- trim window in seconds. Anend_timeof 0 means "run to the end."sample_mode-sourcekeeps the native FPS,target_fpsresamples totarget_fps,every_nthkeeps every Nth frame viaselect_every_nth.frame_load_cap- 0 means every frame; set a number to keep long files from flooding your VRAM and RAM.resize_mode-original,fit, orcrop, paired withwidth/height.include_audio- whether the audio track survives to the output.
The outputs wire up like this: images (the IMAGE frame batch) goes into your VAE or sampler, audio (AUDIO) feeds a video-combine node downstream, video is a native ComfyUI VIDEO that plays in the preview, and fps / frame_count drive batch-size or timing math elsewhere in the graph.
Installing it
The node ships inside the big Fill-Nodes pack, so you're installing the whole thing for these two video nodes - that's fine, it's how it's distributed.
ComfyUI Manager - search "ComfyUI_Fill-Nodes" and install.
Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
cd ComfyUI_Fill-Nodes
pip install -r requirements.txt
Then restart ComfyUI. The pack is Patreon-funded by the author (filliptm / Machinedelusions) and the requirements list is heavy - librosa, opencv-python, moviepy, google-genai, fal-client, and friends - but you only pay for the ones that import.
Common issues
ModuleNotFoundError: No module named 'av'- the real gotcha. The video nodes import PyAV, butrequirements.txtdoesn't list it, so a fresh install can load the pack and still fail here. Fix:pip install avin ComfyUI's Python environment.- Drag-and-drop stopped working after a newer ComfyUI frontend update. The frontend changed how drop events route, and a community patch restoring image/workflow drops was merged into the main repo in mid-2026 - update the pack and it comes back.
- "Must be inside the ComfyUI input directory" - you dropped a file from elsewhere on disk. Move it into
ComfyUI/inputand pick it from the dropdown. - Import errors on very old ComfyUI - the node relies on
comfy_apiand native VIDEO/AUDIO types that older builds don't ship. Keep ComfyUI updated and this stops being a question.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video | COMBO | 1 options: | |
| load_settings | STRING | {"version":1,"start_time":0.0,"end_time":0.0,"sample_mode":"source","target_fps":24.0,"select_every_nth":1,"frame_load_cap":0,"resize_mode":"original","width":0,"height":0,"include_audio":true} | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| audio | AUDIO | — |
| video | VIDEO | — |
| fps | FLOAT | — |
| frame_count | INT | — |