Batch Float Fill (mtb)
Pad an animation curve with hold frames
- floats
- FLOATS
Small, boring, and you'll use it constantly once you're animating with MTB's FLOATS curves. Batch Float Fill pads a float curve with a constant value - adding "hold" frames at the start or end. Need your zoom to sit still for 20 frames before it starts moving? Fill the head with the starting value. Want it to settle and hold at the end? Fill the tail.
The other reason it exists is length-matching. Batch2d Transform wants your curves and your image batch to be the same length, and curves you build from scratch rarely land on the exact count. Fill is the quick way to top one up.
How it works
It takes an existing FLOATS list and appends copies of a single value - either before it (head) or after it (tail) - to extend it out to the length you want. It's a flat pad, not a ramp: every added entry is the same number, so you get a dead-still hold, not a fade.
The inputs and outputs that matter
floats(FLOATS) - the curve to extend.direction-head(pad the front) ortail(pad the end).value(FLOAT, default 0) - the constant to fill with. For a natural hold, set this to match the curve's first value (for a head pad) or last value (for a tail pad).count(INT, default 1) - how much padding to add.
Output is the extended FLOATS curve.
How to install it
Via ComfyUI Manager: search MTB Nodes, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb
then restart. No models.
Common issues & troubleshooting
The hold snaps instead of sitting still. Your value doesn't match the curve's edge. If a zoom curve ends at 1.5 and you tail-pad with the default 0, the animation will jump to 0 for the held frames. Set value to the curve's actual end (or start) value so the hold is seamless.
I wanted a fade-in, not a hold. Fill only pads with a constant. For a ramp up to or down from a value, build that segment with Batch Float Fit (with easing) and stitch it on with Batch Float Assemble - Fill is specifically for dead-still holds and length top-ups.
My batch and curve lengths still don't match. Fill fixes short curves; it won't trim a long one. If your curve overshoots the image batch, shorten it upstream instead of padding.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| floats | FLOATS | — | |
| direction | COMBO | tail | 2 options: head, tail |
| value | FLOAT | 0.00 | — |
| count | INT | 1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOATS | FLOATS | — |