Load Video UI
Trim, crop, and preview your reference video in the node
- images
- audio
- duration
- frame_count
- filename
Load Video UI is the WhatDreamsCost pack's take on ComfyUI's stock Load Video node, and the pitch is "trim, resize, crop, and preview your clip in real time, all inside the node." For anyone doing LTX video extension, retakes, or IC-LoRA control videos, this is the node you'll actually want on the canvas - mostly because the stock loader makes you guess trim values and can't be dropped onto, which gets old fast.
It's part of the same free pack as LTX Director and Load Audio UI, so it shares their philosophy: fewer round-trips to an external video editor, more of the edit happening where the generation happens.
How it works
Under the hood it's still the standard ComfyUI video pipeline - decode with av, hand you back an IMAGE tensor plus the extracted AUDIO - but the interface does the annoying work for you. A dropdown lists every video in your input/ folder and the whatdreamscost workspace subfolder, and you can drag and drop a file straight onto the node. A progress bar shows decode status, and the node previews so you can actually see where the good part of the clip is instead of counting frames in your head.
A display_mode toggle switches the whole interface between seconds and frames - set your trim in whichever unit you think in, and the node keeps the two in sync. The trim controls come in both flavors (start_time/end_time/duration and start_frame/end_frame/duration_frames), and frame_rate lets you force the extraction to a specific FPS so your video frames line up with your latent's frame count. One genuinely useful quirk from the author's notes: unlike the stock node's ~100MB cap, this one will load long videos without complaining - see the gotcha below for why that's a double-edged sword.
Inputs that matter
video- the file dropdown. Set the rest after you've picked one.start_time/end_time(or frame equivalents) - your trim window.resize_method-maintain aspect ratio,stretch to fit,pad, orcrop. Crop is the one people actually reach for when forcing an odd source into LTX-friendly dimensions.custom_width/custom_height- 0 means keep original. Set both to resize.crop_x/crop_y/crop_w/crop_h- normalized (0–1) crop box, added in v1.2.8 with aspect-ratio presets.
Outputs
Five of them: images (IMAGE), audio (the AUDIO track, so you can feed the clip's sound into an LTX audio-conditioned workflow), duration (FLOAT), frame_count (INT), and filename (STRING, added in 2.0.4 after requests). The typical wiring is images into a video-to-video or IC-LoRA node, or straight into LTX Director's timeline for extension and retakes.
Install
Same as the rest of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/WhatDreamsCost/WhatDreamsCost-ComfyUI
Or search WhatDreamsCost in ComfyUI Manager and install, then restart. No model downloads, no extra Python deps - it runs on ComfyUI's own av and torch. Keep ComfyUI reasonably current since the pack targets the newer node API.
Gotchas
The big one is RAM. The author is upfront about it: this node uses no extra libraries and can't stream - decoding a large video into a tensor is memory-hungry, so trimming a 10-minute clip is fine, but outputting large videos will eat your RAM. Trim for the part you need; don't load a feature film and wonder why your machine swapped to death. Also note the same silent-fallback behavior as Load Audio UI - a missing file degrades gracefully rather than erroring, so a blank output usually means the file moved.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| video | COMBO | 1 options: none | |
| start_time | FLOAT | 0.000–100000 | — |
| end_time | FLOAT | 0.000–100000 | — |
| duration | FLOAT | 0.000–100000 | — |
| start_frame | INT | 00–10000000 | — |
| end_frame | INT | 00–10000000 | — |
| duration_frames | INT | 00–10000000 | — |
| resize_method | COMBO | maintain aspect ratio | 4 options: maintain aspect ratio, stretch to fit, pad, crop |
| custom_width | INT | 00–100000 | Custom width. 0 means original width. |
| custom_height | INT | 00–100000 | Custom height. 0 means original height. |
| frame_rate | INT | 241–120 | Force the video to a specific frame rate for extraction. |
| display_mode | COMBO | seconds | 2 options: seconds, frames |
| crop_x | FLOAT | 0.0000–1 | — |
| crop_y | FLOAT | 0.0000–1 | — |
| crop_w | FLOAT | 1.0000–1 | — |
| crop_h | FLOAT | 1.0000–1 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| audio | AUDIO | — |
| duration | FLOAT | — |
| frame_count | INT | — |
| filename | STRING | — |