Video Temporal Blend
Blend frames together over time — a cheap long exposure and motion trails
- video
- video
- output_path
- summary
MKRVideoTemporalBlend mixes each frame with the frames before it, producing that ghosted, smeared, long-exposure look - or, in its trail mode, light-streak motion. It's the node for "make this clip feel like a slow shutter" without owning a slow shutter, and it's a classic finishing trick for AI video: generated footage is often too crisp and too floaty, and a touch of temporal smear makes it read more like something a camera actually recorded.
Mechanically it's a sliding-window blend, per frame. blend_window (1–16, default 3) is how many frames back are considered; blend_strength (0–1, default 0.5) is how much of that average replaces the current frame. The mode input changes the character:
mean- plain average of the window. Smooth, dreamy ghosting, like dragging the shutter. Best for a soft, filmic smear.motion_trail- the window frames are weighted so more recent ones count more, which stretches motion into streaks rather than a uniform ghost. That's your light-trail / comet effect.
The two controls interact: with a 3-frame window and 0.5 strength you get a subtle drift; crank the window to 12 and strength to 0.9 and motion dissolves into pure smear. At blend_strength 0 or a window of 1, it's a passthrough.
The inputs that matter
blend_window- how many frames to look back. 3–5 is subtle; 8+ is heavy.blend_strength- how much of the blend replaces the current frame. Start at 0.3–0.5.mode-meanvsmotion_trail, above.video,fallback_fps,output_format,filename_prefix,subfolder,overwrite- the standard pack inputs.
Outputs: video (MKR_VIDEO payload), output_path, summary.
Install
Part of MKRShift Nodes - install the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
or ComfyUI Manager → search MKRShift_Nodes → restart. mp4/mov/webm output needs system ffmpeg on PATH; gif/webp work without it. No pip dependencies.
Where people get burned
The big misunderstanding is thinking this is motion-blur-with-optical-flow. It's not - it's frame averaging, so fast motion produces ghosting (multiple visible copies) rather than clean directional blur. That's the look when you want it, but it's not a substitute for real motion blur. Second: fast-moving footage at a large blend_window will smear into an unreadable mess - use small windows on fast shots, big windows on slow, drifting ones. And the standard one: no audio carried through, since every frame is reprocessed.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| video | * | — | |
| blend_window | INT | 31–16 | — |
| blend_strength | FLOAT | 0.500–1 | — |
| mode | COMBO | mean | 2 options: mean, motion_trail |
| fallback_fps | FLOAT | 24.01–240 | — |
| output_format | COMBO | auto | 6 options: auto, gif, webp, mp4, mov, webm |
| filename_prefix | STRING | MKR_temporal_blend | — |
| subfolder | STRING | — | |
| overwrite | BOOLEAN | false | — |
| filename_labelopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | MKR_VIDEO | — |
| output_path | STRING | — |
| summary | STRING | — |