Load Media Range (Upload)
Cut a clip by waveform, not by guessing timestamps
- audio
- start_seconds
- end_seconds
- duration_seconds
- video
Every video workflow starts with the same chore: "I need the 12 seconds of this clip starting at 3.4 seconds." Most loaders make you type a start and end time and hope you got it right, then render the whole thing to find out you didn't. Load Media Range (Upload) shows you the waveform up front and lets you drag an A-B range directly on it. You see where the beat hits before you commit.
It's one of the media-loading nodes in ComfyUI ALICE Lab Audio Tools - a brand-new alpha pack (Apache 2.0, no pip deps, bilingual EN/JA README) with no community write-up to speak of yet. This is the "upload a file" flavor of the range picker; its sibling Load Media Range (Path) reads straight from disk, and Media Range (Input) selects from an upstream AUDIO/VIDEO already in the graph. The trio covers every way a clip enters a workflow.
How it works
The node lists every supported media file sitting in ComfyUI/input (mp4, mov, mkv, webm, avi, wav, mp3, m4a, ogg, flac, aac, and more - the full extension list is in the README). Pick one, and the node probes it with ffprobe for the duration, then extracts your selection: audio comes out as 44.1 kHz stereo via ffmpeg, and when the source has a video stream you also get a trimmed VIDEO object through ComfyUI's current video API. The selection itself lives in two floats, start_seconds and end_seconds (millisecond steps), which the interactive waveform UI writes for you.
The controls are the point: drag A or B to move a boundary, click the waveform to seek, use A−/A+/B−/B+ for 10 ms nudges, left-drag inside the selection to slide it, mouse-wheel zoom, right-drag pan, and play or loop the selection. When you zoom in, the node requests a finer signed min/max waveform for the visible range, so the detail is real, not stretched pixels.
Inputs and outputs
Inputs: media (the file picker), start_seconds, end_seconds. Outputs, in order:
audio- the selected range as 44.1 kHz stereoAUDIO.start_seconds/end_seconds/duration_seconds- the actual selected range, so downstream nodes can read the true trim.video- the trimmedVIDEOwhen the source has video; otherwise no video value.
That last pairing is the workflow trick: wire audio into your processing (or the Audio Mixer) and video straight into Replace Video Audio's video input, then the processed audio into its audio input. Original picture, freshly processed soundtrack, same trim.
The gotchas
The upload limit. Under ComfyUI's default config you can't upload more than 100 MB through this node - for bigger files use the Path variant or raise the upload-size setting. Only files already inside ComfyUI/input show up in the list, so drop your media there first (or symlink it). And remember the audio output is always 44.1 kHz stereo, which is fine for most pipelines but worth knowing if you needed the original sample rate - the Media Range (Input) node preserves format, this one normalizes.
Install
# ComfyUI Manager → search "ComfyUI ALICE Lab Audio Tools" → Install → restart
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/alice-lab-dev/ComfyUI-ALICE-Lab-Audio-Tools
# restart, then Add Node → ALICE_Lab → Media
Requires ffmpeg and ffprobe on the PATH of the process running ComfyUI (macOS checks /opt/homebrew/bin and /usr/local/bin automatically) and a recent ComfyUI with the AUDIO/VIDEO types. No model downloads, no Python dependencies.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| media | COMBO | 1 options: | |
| start_seconds | FLOAT | 0.0000–86400 | — |
| end_seconds | FLOAT | 10.0000.001–86400 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| start_seconds | FLOAT | — |
| end_seconds | FLOAT | — |
| duration_seconds | FLOAT | — |
| video | VIDEO | — |