Nodes/ComfyUI-Keyframed/KfCurvesMultiplyx10
ComfyUI Node

KfCurvesMultiplyx10

Ten curves in, one product out, no chain required

By dmarx·Created 3 years ago·Updated 2 years ago· 92
KfCurvesMultiplyx10
  • curve_0
  • curve_1
  • curve_2
  • curve_3
  • curve_4
  • curve_5
  • curve_6
  • curve_7
  • curve_8
  • curve_9
  • KEYFRAMED_CURVE

The multiply version of the pack's ten-input convenience node. Curve Multiply (x10) takes up to ten KEYFRAMED_CURVES, multiplies them all together, and hands you one product curve - which saves you a small forest of Curve_1 * Curve_2 nodes when you're stacking several influences. In practice that means things like "this weight curve, gated by this scene mask curve, gated by this loop emphasis curve" all in one place.

This is the node you reach for in the pack's prompt-entanglement workflow, where each prompt's final weight is the product of a sinusoidal curve and a few shaping curves. It's also the one that's easiest to trip over, because its defaults are the opposite of the add variant's.

How it works

Same arithmetic engine as the two-input multiply - the product is computed at the union of keyframes of every connected curve, so every timestamp that exists in any input appears in the result. The critical detail is in the defaults: unconnected slots on this node default to 1, the multiplicative identity, not zero. Multiply by an empty slot and nothing changes; that's the designed behavior and it's what makes the node usable - leave five slots unplugged and you just get the product of the five you actually wired.

The inputs that matter

  • curve_0 (required, forceInput) - must be connected.
  • curve_1 through curve_9 (optional) - each defaults to 1 (neutral) when left unplugged.

The output

KEYFRAMED_CURVE - the product, ready for further composition.

How to install it

Installs with the whole pack: ComfyUI Manager → search ComfyUI-Keyframed, or

cd ComfyUI/custom_nodes
git clone https://github.com/dmarx/ComfyUI-Keyframed

then restart ComfyUI. No models; the dependency is keyframed (plus toolz), auto-installed on first import.

Troubleshooting

The classic mistake is mixing up the x10 defaults between the add and multiply variants. On Add (x10) an empty slot is zero (kills the sum); on Multiply (x10) an empty slot is one (does nothing). If your product curve ignores an input you were sure was connected, it's probably plugged into a slot you think is contributing when it's defaulting to identity - or you connected it and it genuinely is, and the curve is just flat. Second, the union-of-keyframes rule compounds with ten inputs: dense inputs give a dense product plot. And the flat-zero trap from the two-input multiply still applies - a constant 0 curve anywhere in the chain makes the whole product zero, which is mathematically correct and emotionally surprising.

Categorykeyframed

Inputs (10)

NameTypeDefaultDescription
curve_0KEYFRAMED_CURVE
curve_1optKEYFRAMED_CURVE1
curve_2optKEYFRAMED_CURVE1
curve_3optKEYFRAMED_CURVE1
curve_4optKEYFRAMED_CURVE1
curve_5optKEYFRAMED_CURVE1
curve_6optKEYFRAMED_CURVE1
curve_7optKEYFRAMED_CURVE1
curve_8optKEYFRAMED_CURVE1
curve_9optKEYFRAMED_CURVE1

Outputs (1)

NameTypeDescription
KEYFRAMED_CURVEKEYFRAMED_CURVE