π§± Generate Inbetween Frames
A gap-filler, not a frame interpolator β know which one you're getting
- frames
- frames
Let's get the naming straight before anything else: Generate Inbetween Frames [DVB] does not do motion interpolation. It will not invent new motion like RIFE or Fannovel16's Frame Interpolation. What it does is fill index gaps in a frame set - places where the timeline expects a frame and there isn't one - so the sequence becomes dense and complete. That's a real job, and it's a job people reach for constantly in this pack. It just isn't the flashy job the name might suggest.
How it works
A frame set is a bundle of images with frame indices and a framerate. If you create one with a step of 2, or you split and re-merge sets, you get holes: index 0, 2, 4 with no 1 and 3. This node walks every gap between consecutive existing frames and manufactures the missing frames. The fill_mode dropdown decides how:
- BLEND - crossfades between the two neighboring frames, weighted by how far into the gap each new frame sits. This is the default and the one you usually want; it gives a smooth-ish dissolve rather than a jump.
- CLOSEST FRAME - copies whichever neighbor is nearest. Perfect for holding a pose when you want zero ghosting.
- PREVIOUS FRAME - duplicates the earlier frame all the way to the next one. A simple hold.
The output is a frame set with every missing index filled, merged back into the original. Nothing here touches the GPU - it's PIL blending and copying.
When you'd actually use it
Three common situations. First: you created a frame set with step greater than 1 (sampling every other frame to save VRAM) and now you want a full-speed clip back - this densifies it. Second: after splits, merges, or an append that left gaps, before you hand the set to something that demands contiguity (Blended Transition errors on gaps; Unwrap in FAIL mode errors too). Third: a cheap slow-motion - take every other frame, generate the in-betweens, and the clip runs at full frame count again.
For genuine motion interpolation - actual new in-between motion - pair this pack with ComfyUI Frame Interpolation by Fannovel16, which the pack's own README lists as a companion. The pattern is: Create Frame Set, generate inbetween fills to make the sequence contiguous, unwrap, and let the interpolator do the heavy lifting.
The gotcha everyone hits
Because this node outputs a FRAME_SET, it won't plug directly into standard video output nodes. The most common beginner failure with this exact pack is trying to wire the frames output into Save Video and getting nothing - no line, no connection, just a confused silence. The answer is always Unwrap Frame Set [DVB] first, which converts the set into a plain IMAGE batch plus framerate values, and then those feed your encoder and save node. It's a real thread out there, and it's the single most useful thing to know before you build around this node.
Install
Search "Dream Video Batches" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-video-batches.git
cd comfyui-dream-video-batches
pip install -r requirements.txt
Restart ComfyUI after. No model files, no downloads - this node is pure image processing, so it runs anywhere the pack runs.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | FRAME_SET | β | |
| fill_mode | COMBO | 3 options: BLEND, CLOSEST FRAME, PREVIOUS FRAME |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| frames | FRAME_SET | β |