π Linear Curve
One clean interpolation from A to B across your whole animation
- frame_counter
- FLOAT
- INT
Every animation eventually needs the same move: start at one value, end at another, don't do anything clever in between. Linear Curve [Dream] is that move, packaged as a node. It takes an initial_value and a final_value, and over the full length of your animation it slides a float from one to the other. A slow zoom from 1.0 to 1.2 across the whole clip. A prompt weight that fades a phrase out while another fades in. A brightness that climbs from "murky" to "washed out" by the last frame. No oscillation, no events, just a steady hand on the dial.
This is one of the core curves in Dream Project Animation Nodes, the pack the "Alt Key Project" music channel built for Deforum-style frame-by-frame animation in ComfyUI. The mechanism is the simplest of the whole family: the node reads your frame counter's progress (a 0-to-1 number that says how far through the animation you are) and computes initial + progress * (final - initial). Because it's driven by progress rather than raw time, the curve always spans the entire animation no matter how long it is - which is the key difference from the periodic curves in the same pack.
The inputs that matter
- frame_counter - required. Feed it any Dream frame counter (Frame Counter (Simple) or Frame Counter (Directory)); the node needs to know both the current frame and total length.
- initial_value - where the output starts (default 0).
- final_value - where the output ends (default 100, so the defaults alone give you a nice 0β100 sweep).
That's the whole input list. Outputs are FLOAT and INT, same value with one rounded - FLOAT for continuous parameters, INT for anything that demands a whole number.
Installing it
The pack installs via ComfyUI Manager - search "Dream Project Animation Nodes" - or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-project.git
cd comfyui-dream-project
pip install -r requirements.txt
Restart ComfyUI afterward. Requirements are light, though the numpy<2.0 pin is worth knowing about if pip reshuffles your environment.
Common issues
The usual failure is a missing frame counter - the curve has no sense of "how far along" without a FRAME_COUNTER input, and ComfyUI's built-in nodes won't supply one. Use the pack's own counter nodes upstream. One honest caveat about the pack: the README announces it's no longer being updated (the author moved to comfyui-dream-video-batches), but a linear interpolation is about as stable as custom-node code gets, so it runs fine on current ComfyUI. If you want the same ramp but looping forever instead of once across the clip, that's the pack's Saw Curve.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| frame_counter | FRAME_COUNTER | β | |
| initial_value | FLOAT | 0.00 | β |
| final_value | FLOAT | 100.00 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | β |
| INT | INT | β |