KfSinusoidalGetAmplitude
The sine-curve attribute reader you didn't know you needed
- curve
- FLOAT
This node does one thing: it takes a SINUSOIDAL_CURVE and hands you its amplitude as a plain FLOAT. That's it. No curve comes out, no magic - a number in, a number out. It's the least glamorous node in the ComfyUI-Keyframed pack, and also the one that quietly unlocks the curve arithmetic system for you.
Here's the situation where it earns its keep. You have a sine curve driving a conditioning weight, and you want to know what its peak value actually is - either to sanity-check your design or to feed that number into another node. Or you want to scale a curve by a factor relative to its own amplitude, and to do that you need the number first. The keyframed library keeps curves as opaque objects; this node is how you reach inside one and pull out a plain float that any vanilla ComfyUI math can use.
How it works
Straightforward under the hood. In the keyframed library a SinusoidalCurve stores three attributes - wavelength, phase, and amplitude - and this node just returns curve.amplitude as the output float. No copy, no recalculation, nothing to get wrong.
It's one of a family of four attribute readers in the pack (the others pull out wavelength, phase, and frequency), and they're the bridge between the curve world and the rest of ComfyUI: once a value is a float, you can pipe it into anything that takes a float - batch math, a float-to-int, a comparison, a switch. The frequency reader computes 1/wavelength for you; this one is the most literal of the bunch.
Inputs and outputs
curve- aSINUSOIDAL_CURVE, forced as an input.
The single output is FLOAT. In practice: wire a sinusoidal constructor (or the output of an adjust node) into curve, then feed the float wherever you need a number. A natural use is checking your math - the entangled curve nodes deliberately keep individual amplitudes below their [0,1] name, and this node is how you confirm a specific curve's actual peak before you trust it in a conditioning mix.
Installing it
It ships with ComfyUI-Keyframed. ComfyUI Manager: search "ComfyUI-Keyframed". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/dmarx/ComfyUI-Keyframed
Restart ComfyUI after. No models to download - the only dependency is the keyframed Python library, which the pack auto-installs on first launch (give it a minute; if pip is blocked, pip install keyframed by hand). It sits under keyframed → sinusoidal. You won't build a workflow around this node - it's a helper you reach for when you need a number, and now you know it's there.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| curve | SINUSOIDAL_CURVE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |