Dream Video Batches
Provide utilities for batch based video generation workflows (s.a. AnimateDiff and Stable Video Diffusion).
Nodes (32)
Dissolve two clips into each other without a hard cut
Named variables, real math functions, and no arbitrary code
The front door to the whole pack — turn an image batch into frames
Simple division, one important rounding surprise
Fade in the way a real editor would — across time, not just brightness
Fade a clip out instead of letting it stop cold
A named number box — the boring node that keeps workflows readable
The loop's finalizer — without it, your batch loop never advances
Batch a whole folder of clips without babysitting the queue
Stitch two clips together — with a knob for the seam
Read your frame set's dimensions, scaled — the resolution math shortcut
Slide an entire clip along its own timeline
Splice two timelines together and decide who wins each frame
Wipe the timeline clean — number your frames from scratch
Turn a two-second loop into a full-length animation, fast
Play it backward — and build a seamless ping-pong loop
Chop the first N frames off a clip — and keep the rest
Trim the tail — peel the last N frames off any clip
When One Frame Set Is Too Much, Split It in Two
A gap-filler, not a frame interpolator — know which one you're getting
An Integer on a Wire
A Camera Pan on Frames That Were Never a Video
Spinning the Camera on a Static Batch of Frames
A Steady Zoom In or Out, Without Re-Rendering a Single Frame
Load Any Image by Full Path, Not Just From ComfyUI's Input Folder
A Tiny Math Node That Saves You From Retrying Numbers
A Pan That Sways, Swings Back, and Loops Clean
A Rocking Roll for Handheld Vibes and Seamless Loops
The Breathing Zoom That Loops Without a Visible Jump
When Text Needs to Be Shared, Not Typed
Just a text box — but it's the text box this pack expects
Why Your 'Save Video' Won't Connect (and the Node That Fixes It)
Dream Project Video Batches
This is a custom node pack for ComfyUI, intended to provide utilities for other custom node sets for AnimateDiff and Stable Video Diffusion workflows.
I produce these nodes for my own video production needs (as "Alt Key Project" - Youtube channel). However, I think the nodes may be useful for other people as well.
I also run a separate Youtube channel for "Dream Project", where any videos related to my AI art generation will appear, including tutorials for my node packs (this one and the older "Dream Project Animation Nodes"). Currently, there are no videos for for "Dream Project Video Batches" but that is only a question of time.
Installation
Simple option (soon)
You should soon be able to install Dream Project Video Batches node pack using the ComfyUI Manager.
Manual option
Run within (ComfyUI)/custom_nodes/ folder:
- git clone https://github.com/alt-key-project/comfyui-dream-video-batches.git
- cd comfyui-dream-video-batches
Then, if you are using the python embedded in ComfyUI:
- (ComfyUI)/python_embedded/python.exe -s -m pip install -r requirements.txt
With your system-wide python:
- pip install -r requirements.txt
Finally:
- Start ComfyUI.
Also install
As mentioned, this node pack is intended to support other node packs. A few worth mentioning are:
- ComfyUI Frame Interpolation (by Fannovel16)
- AnimateDiff Evolved (by Kosinkadink)
- ComfyUI-VideoHelperSuite (by Kosinkadink)
- ComfyUI Stable Video Diffusion (by thecooltechguy)
Concepts
Frame Set
A Frame set is a number of images (in a batch), with frame indices and a frame rate. Most nodes in this node pack work with frame sets.
Camera
The camera nodes in the node pack are always animating cropping tools - the output should always be smaller in size than the input (to allow for camera "movement").
The Nodes
Blended Transition [DVB]
Fades from one frame set to another over a specified number of overlapping frames.
Calculation [DVB]
Maths node providing arithmetic operators and most common mathematical functions (as defined in Python math module).
Create Frame Set [DVB]
Creates a frame set from an image batch and a specified frame rate.
Divide [DVB]
Simple division of float or int.
Fade From Black [DVB]
Adds fade-in from black at beginning of frame set.
Fade To Black [DVB]
Adds fade-out to black at end of frame set.
Float Input [DVB]
User input node for float values.
For Each Done [DVB]
File iteration (finalizer for use with 'For Each Filename')". This is used to process all files in a directory matching a pattern. This node marks a filename as "processed" and should typically be added very late in the workflow.
For Each Filename [DVB]
File iteration. This is used to process all files in a directory matching a pattern. This provides the next file path to process.
Frame Set Append [DVB]
Appends a frame set to another.
Frame Set Frame Dimensions Scaled [DVB]
Recalculates frame dimensions of a frame set with a factor. Useful to calculate intermediate step sizes.
Frame Set Index Offset [DVB]
Offsets frame indices in frame set.
Frame Set Merger [DVB]
Merges two frame sets. Conflicting indices will be prioritized from either set based on the arguments.
Frame Set Reindex [DVB]
Reindexing of frames in frame set (replacing all existing indices).
Frame Set Repeat [DVB]
Repeats a frame set multiple times. Useful for instance to quickly create alonger animation from a loop or single image.
Frame Set Reverse [DVB]
Reverses the frames of an animation (index flip). The flip is done in index order but will otherwise disregard indexing (such as gaps).
Frame Set Split Beginning [DVB]
Splits a frame set into a part of specified length (in existing frames) at the beginning and the following frames.
Frame Set Split End [DVB]
Splits a frame set into a part of specified length (in existing frames) at the end and the previous frames.
Frame Set Splitter [DVB]
Splits a frame set into two evenly sized sets (based on number of existing frames). Useful to divide work (reduce memory requirements in some cases).
Generate Inbetween Frames [DVB]
Simple utility for quickly adding inbetween frames (filling gaps) in frame set.
Int Input [DVB]
User input node for float values.
Linear Camera Pan [DVB]
Cropping utility to perform a camera constant velocity pan within a frame set. Outputs a frame set of smaller frame size.
Linear Camera Roll [DVB]
Rolls the camera along z axis.
Linear Camera Zoom [DVB]
Linear (constant velocity) zoom through crop.
Load Image From Path [DVB]
Loads a single image file from a path.
Multiply [DVB]
Simple multiplication node.
Sine Camera Pan [DVB]
Cropping utility to perform a camera pan within a frame set. Outputs a frame set of smaller frame size. Sine oscillation.
Sine Camera Roll [DVB]
Rolls the camera along z axis - sine oscillation.
Sine Camera Zoom [DVB]
Oscillating (sine wave) zoom through crop.
String Input [DVB]
User input node for string values.
Text Input [DVB]
User input node for text(string) values.
Unwrap Frame Set [DVB]
Extracts contents of frame set (required for use with other custom node packs and/or output nodes).