**BETA** Flex Video Speed β‘π ‘π π £π
Reactive speed ramping with RIFE-backed slow-motion
- images
- opt_feature
- IMAGE
Speed ramping a video isn't just "play some frames faster" - speed it up and you're dropping frames, slow it down and you need frames that don't exist yet. Flex Video Speed handles both directions, with speed_factor swinging from β100 to 100 (negative values reverse playback while also slowing or speeding it, tying it conceptually to the pack's FlexVideoDirection and FlexVideoSeek siblings) and an interpolation_mode that pulls in real frame-interpolation methods for the slow-motion case. Like Flex Video Frame Blend, it ships marked BETA.
How it works
At speed_factor near Β±1, you're close to normal playback; push it further from zero and frames get skipped (speeding up) or synthetic in-between frames get generated (slowing down). interpolation_mode is the control for how those in-between frames are made: none just duplicates or drops frames - the cheapest, choppiest option; linear does a plain crossfade blend; Farneback uses classic optical-flow estimation; rife47 and rife49 use two versions of RIFE, a well-established neural frame-interpolation model that estimates real motion between frames rather than blending or duplicating. fast_mode and ensemble are standard RIFE knobs - fast_mode trades some quality for speed, ensemble runs a heavier, higher-quality pass at the cost of more compute - and scale_factor (0.25 to 4) resizes the internal processing resolution RIFE works at, a common way to trade speed/VRAM against motion-estimation accuracy on this kind of model. feature_param is fixed to speed_factor, so a FEATURE can push the speed itself up and down reactively - a clip that lurches into slow-motion on a loud hit, say.
Inputs and outputs that matter
images(required,IMAGE) - your source sequence.speed_factor(default 1, β100 to 100) - negative reverses, magnitude sets speed.interpolation_mode- none, linear, Farneback, rife47, or rife49.fast_mode/ensemble(booleans, default on) - RIFE quality/speed trade-offs.scale_factor- 0.25, 0.5, 1, 2, or 4; internal processing resolution for RIFE.opt_feature(optional,FEATURE) - drivesspeed_factorreactively.- Output - a single
IMAGEbatch.
Installing it
Via ComfyUI Manager: search "RyanOnTheInside," install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
then restart. RIFE-based interpolation modes typically pull their own model weights on first use, the same convention most RIFE-backed nodes across ComfyUI follow - expect a one-time download the first time you actually select rife47 or rife49.
Common issues & troubleshooting
Slow-motion looks choppy despite a slow speed_factor. Check interpolation_mode isn't set to none - that mode just holds/duplicates frames rather than generating real in-between motion, which reads as stuttery at low speeds. Switch to rife47/rife49 for genuinely smooth slow-motion.
RIFE mode is slow or runs out of VRAM. Drop scale_factor below 1, or disable ensemble, before assuming the node itself is broken - both are direct, expected quality-for-speed trade-offs on RIFE-family models.
Being beta, don't be surprised by rough edges - treat it as an experimental node, and if results look wrong at extreme speed_factor values, try dialing closer to Β±1 first to confirm the base pipeline behaves before pushing to the extremes.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| strength | FLOAT | 1.000β1 | Overall strength of the effect (0.0 to 2.0) |
| feature_threshold | FLOAT | 0.000β1 | Minimum feature value to apply the effect (0.0 to 1.0) |
| feature_param | COMBO | Parameter to be modulated by the feature | |
| feature_mode | COMBO | relative | How the feature modulates the parameter ('relative' or 'absolute') |
| images | IMAGE | Input video frames (IMAGE type) | |
| speed_factor | FLOAT | 1.0-100β100 | Speed factor for playback (-100.0 to 100.0) |
| interpolation_mode | COMBO | Method for frame interpolation ('none', 'linear', 'Farneback', 'rife47', 'rife49') | |
| fast_mode | BOOLEAN | true | Enable fast processing mode for RIFE interpolation |
| ensemble | BOOLEAN | true | Enable ensemble mode for better quality in RIFE interpolation |
| scale_factor | COMBO | 1 | Scale factor for processing (0.25, 0.5, 1.0, 2.0, 4.0) |
| opt_featureopt | FEATURE | Optional feature input for modulation Connect any feature node here to control the effect. Features can come from audio, motion, color, or other sources. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |