Curve_1 / Curve_2
The one operator this pack openly admits is broken
- curve_1
- curve_2
- KEYFRAMED_CURVE
Let's get straight to it: the README says division is unreliable, and the source code agrees. The KfCurvesDivide node calls curve_1 / curve_2 on the keyframed library, and the library's own docs flag division as not behaving. This is the one node in the pack where the honest advice is "don't build your workflow around it." The author wrote it, shipped it, and then wrote in the README that it's broken - which is at least refreshing.
But the node exists, and people do plug it in, so here's the real picture.
What's actually wrong
The problem isn't the node wrapper - it's upstream, in the keyframed library's curve division. Curve arithmetic in this pack is performed at the union of keyframes, and while addition, subtraction, and multiplication behave predictably there, division is where the math gets delicate: values that pass through zero in the denominator blow up to infinity, the interpolation across the union doesn't reliably preserve what you'd want from a quotient, and the author's note (dated December 2023, and it's still true) is simply "Division is currently broken."
Concretely, you can expect wrong-looking values rather than a crash. The node will happily return a KEYFRAMED_CURVE that plots to nonsense - spikes to huge numbers where the denominator approaches zero, and results that don't match what dividing the two curves point-by-point should give you. No error message, just quietly wrong output, which is the worst kind.
When you might still use it
If you're toying with a curve whose values never approach zero and you just want to see what a quotient looks like, it may give you something plausibly useful. But that's "works on my machine" territory, and you shouldn't trust it in a shared workflow or anywhere a wrong number actually costs you time.
The honest replacement
For the common "divide by something" cases, you have better tools in this very pack:
- Scale by a constant - multiplying by a Constant-Valued Curve of
0.5is division by 2, and it's rock solid. - Build an inverse with subtraction -
1 - curvevia Curve_1 - Curve_2 gives you the complement, which is the direction most "division-like" weight shaping actually wants.
The inputs and output
curve_1,curve_2(both required,forceInput) - numerator and denominator.- Output: KEYFRAMED_CURVE - treat its values as suspect until proven otherwise.
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 needed; dependency is the keyframed library (plus toolz), auto-installed on first import.
The bottom line
Use the other operators. This one is a known-broken convenience wrapper over a known-broken library method, and the pack would rather you know that than find out the hard way. If you genuinely need curve division and the keyframed library's behavior matters to your work, check the library's issue tracker for a fix before trusting the node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| curve_1 | KEYFRAMED_CURVE | — | |
| curve_2 | KEYFRAMED_CURVE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| KEYFRAMED_CURVE | KEYFRAMED_CURVE | — |