Video Clip · screenshot coming soon
What this node does
Video Clip cuts [start_s, end_s] from a full clip and drops the rest. Use it to pull the best part from a long generation, align lip-sync segments, or shorten before Crop / Resize. If end_s is 0 or ≤ start_s, duration extends to the source end. No GPU — PyAV streams read/write; output lands in ComfyUI output as a/view? URL.
When to use it
- Extract a usable segment from long T2V / I2V output
- Normalize clip length before timeline concat
- Trim then Demux or Extract Frame
How ComfyTV designed this
- Stage + ▶ Run: re-trims upstream snapshot only.
- Snapshot: downstream reads Clip output; change times → Run again.
- PyAV:
trim_videoinrunners/media.py.
Types (COMFYTV_* vs native ComfyUI)
See bridges.md.
Parameters
video (input)
SourceCOMFYTV_VIDEO. Required.
start_s
Clip start in seconds, default 0.end_s
Clip end in seconds, default 5. 0 or empty → source duration. Must be > start_s.Outputs
Step by step
- Run upstream Video Stage or Load Video.
- Add Video Clip, wire video.
- Set start_s / end_s.
- ▶ Run, check preview duration.
- Wire Video Crop or Demux.
Full guides (recommended reading)
This page covers one node only. For end-to-end workflows, multi-stage pipelines, type conversion, and design rationale, see the ComfyTV user guides on GitHub:
Repository and workflows
FAQ
Q: end_s beyond duration?A: Clamped; must still be > start_s. Q: Frame rate changed?
A: No — PyAV preserves source rate. Q: mesh2motion VIDEO?
A: → ComfyTV Video first (Run snapshot), then Clip.
Related nodes
- Video Crop / Video Resize
- Demux · Audio Track / Silent Video
- → ComfyTV Video