Video Speed
Slow it down without the chipmunk soundtrack
- video
- video
Retiming is one of those edits you do constantly and rarely think about - a slow-motion beat, a fast-forward montage, a clip played backwards. Video Speed is ComfyTV's version, and the good news is it actually keeps your audio in tune by default, which is more than you can say for a lot of editors.
What it does
It retimes a COMFYTV_VIDEO by a multiplier, optionally reversed, re-encodes on ▶ Run, and saves the result as a snapshot. The controls:
- speed - playback multiplier, 0.1–10.0. Above 1 is faster (shorter clip); below 1 is slower.
2.0= double speed,0.5= half. - reverse - play the clip backwards. Combines with a speed change.
- pitch_compensate - on by default. When on, the audio is time-stretched so voices and music keep their pitch instead of going chipmunk-fast or sluggish-slow. Turn it off if you want the classic tape-style pitch shift.
The one grounded trap: speed = 1x with reverse off is nothing to do, and the run errors out. The node refuses to run a no-op. Set a real speed or flip reverse on - that's the failure mode beginners hit first.
What it does and doesn't do
Worth being honest about: extreme slow-motion here stretches existing frames; it does not synthesize new in-between frames. If you want a buttery 0.25× slow-mo, put a Frame Interpolate (minterpolate) step in front of this and let it generate the motion - then speed changes stay smooth instead of turning into a slideshow.
Compositionally it pairs with Video Clip (trim before or after retiming) and Video Volume (fine-tune audio after a speed change), and it's a frequent precursor to transition work - one common move is slowing the tail of a clip so a fade lands on a dramatic frame.
Install and quirks
Pack-standard: git clone https://github.com/jtydhr88/ComfyTV into ComfyUI/custom_nodes, restart, under ComfyTV → Video. No models - PyAV on disk, no GPU. The only environmental dependency is PyAV being present (pip install av into your venv if it's missing).
Output is a COMFYTV_VIDEO snapshot, so native-ComfyUI consumers need a ← ComfyTV Video Bridge. Two quick troubleshooting notes:
- Run errors "nothing to do" - you left speed at 1 and reverse off. Change one.
- Audio sounds stretched at extreme speeds - that's the pitch-compensating time-stretch doing its job; at 0.1× it can get warbly on music. Use a smaller slow factor, or pair with interpolation first.
Small node, one slider, and the pitch handling is the reason you'd pick it over DIY ffmpeg.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| force_run_token | INT | 00–2147483647 | Internal — bumped on Run to invalidate ComfyUI's input cache. |
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| speed | FLOAT | 1.000.1–10 | — |
| reverse | BOOLEAN | false | — |
| pitch_compensate | BOOLEAN | true | — |
| videoopt | COMFYTV_VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | COMFYTV_VIDEO | — |