Hypereel Clip (cut by seconds)
Cut a window out of a 7-hour VOD without loading it into VRAM
- video
- clip
- actual_start
- actual_duration
Hypereel Clip is the "cut here" node in the symbiotica-ai/comfyui-nodes pack's streamer-reel pipeline (the Hypereel section). You hand it a VIDEO, a start time in seconds, and a duration, and it hands back the slice. That's the whole job, but the way it's built makes it quietly the most important node in the Hypereel chain.
The reason it matters: it doesn't touch frame tensors. Most video-cutting in ComfyUI means decoding the source into the graph, which for a multi-hour gameplay VOD is a non-starter - you'd blow out RAM and take forever for nothing. This node shells out to ffmpeg and cuts the window directly from the file. A 7-minute source and a 7-hour source cost the same. That's the difference between "I can actually process my stream VODs" and "I can't."
How it works
The video is written to a temp file, ffprobe measures the real duration, and ffmpeg decodes only the requested window - [start_sec, start_sec + duration_sec] - and writes it out. Two details make it production-grade:
- The window is clamped inside the source. Ask for a highlight that starts near the end of the file and you still get a full slice, just moved to fit. No "index out of range" errors from a bad timestamp.
keep_audiois on by default. Off drops the audio track entirely, which is handy for a silent clip. On, you keep the game audio for the compositor.
Inputs and outputs
- start_sec - where the cut begins, in seconds (0.1 precision).
- duration_sec - how long the slice is, min 0.5.
- keep_audio (optional) - default true.
Outputs are the useful part:
- clip - the cut VIDEO, ready to feed Hypereel Screen Glow or Hypereel Stack Composite.
- actual_start / actual_duration - what the window actually became after clamping. Wire
actual_durationinto Hypereel Highlight Pick'ssource_durationguard and the two clocks can never disagree - that's the intended flow and it's a genuinely good idea, because "the highlight analysis says 2:30 but the video is 2:15" is exactly the kind of mismatch that silently kills a reel.
Install
Ships with symbiotica-ai/comfyui-nodes (search "Symbiotica" in ComfyUI Manager, or git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica + pip install -r requirements.txt). This node specifically needs ffmpeg and ffprobe reachable on PATH - the pack finds them via PATH, Homebrew and /usr/bin. On a Mac with Homebrew you're already fine; on a headless box you may need apt install ffmpeg first. No model downloads, no API key.
Gotchas
If you wire in a start_sec + duration_sec that overshoot the end, you don't get an error - you get a shifted window, which can be confusing when you expected exactly the highlight you asked for. That's why actual_start/actual_duration exist: trust them, not your arithmetic. And remember the output is a file re-encode at default settings, so it's fast but not lossless - fine for a working cut that gets re-encoded again downstream anyway.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — | |
| start_sec | FLOAT | 0.00–359999 | — |
| duration_sec | FLOAT | 10.00.5–359999 | — |
| keep_audioopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| clip | VIDEO | — |
| actual_start | FLOAT | — |
| actual_duration | FLOAT | — |