Load Audio UI
Trim audio without leaving the ComfyUI canvas
- audioUI
- audio
- duration
- filename
Load Audio UI is the WhatDreamsCost pack's upgrade to ComfyUI's stock Load Audio node, and honestly it's the one you want once you're doing anything serious with LTX. ComfyUI's built-in audio loader is fine for grabbing a whole file, but the moment you need "just the line of dialogue from 0:03 to 0:07" you're either clipping in another app or feeding a node a wall of numbers. This one gives you a little trim UI on the node itself, so you can scrub and cut without leaving the graph.
It's part of the WhatDreamsCost-ComfyUI collection, a grab bag of free LTX-focused nodes from the creator of LTX Director. Like the rest of the pack, it's built for LTX-2's audio track workflows (custom audio in Director, audio-conditioned generation), but it outputs the standard ComfyUI AUDIO type, so it feeds any audio consumer you already have.
How it works
The node scans your ComfyUI input/ folder plus a whatdreamscost workspace subfolder and shows the results in a dropdown - no more hand-typing paths into a text box. You can also drag and drop a file straight onto the node (the original Load Audio node famously wouldn't let you drop files). Under the hood it decodes with the same av (PyAV) pipeline ComfyUI uses, so it handles mp3, wav, whatever you already throw at ComfyUI.
The trim itself happens on the raw waveform: start_time/end_time set the window in seconds, and the node slices the tensor before it ever reaches the sampler. It's non-destructive - your source file stays untouched. One nice touch in the source: if the selected file is missing or won't decode, it falls back to one second of silence instead of hard-crashing your run. That looks like a bug when it happens, but it's deliberate - a failed queue beats a dead backend.
The inputs that matter
audio- the dropdown of discovered files. Everything else is secondary.start_time/end_time- the trim window in seconds. Leaveend_timeat 0 and it trims to the end of the file.duration- read-only-ish; it's synced from your trim, which is how the UI shows you the resulting length.audioUI(optional) - lets another node drive the trim programmatically instead of the widget.
Outputs
You get three: audio (the trimmed AUDIO tensor), duration (a FLOAT with the exact trimmed length in seconds - handy to feed into the Speech Length Calculator or an LTX Director audio track), and filename (a STRING with the source filename, which the pack added in 2.0.4 after people kept asking for it).
Install
Same routine as every node in this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/WhatDreamsCost/WhatDreamsCost-ComfyUI
Or just search WhatDreamsCost in ComfyUI Manager and hit install. Restart ComfyUI after. No extra Python dependencies - this one leans entirely on ComfyUI's own av, torch, and numpy, which is why it's been a low-drama install. One caveat from the author's own update notes: you want a reasonably current ComfyUI, because the pack targets the newer node API and the LTX nodes it pairs with (ComfyUI-LTXVideo) should be on their latest version before you run its workflows.
Gotchas
The only real trap is that missing-file fallback: if you pick a file in the dropdown and then move/rename it, you'll silently get a second of silence, not an error. If your audio track is mysteriously empty, check that the file actually still exists. Beyond that, it's one of those nodes you install, forget about, and only notice when you swap it out and immediately miss it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | COMBO | 1 options: none | |
| start_time | FLOAT | 0.000–100000 | — |
| end_time | FLOAT | 0.000–100000 | — |
| duration | FLOAT | 0.000–100000 | — |
| audioUIopt | AUDIO_UI | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| duration | FLOAT | — |
| filename | STRING | — |