Ease Curve
The node that puts an actual curve preview on your easing
- eased_values
Ease Curve is the part of NodeSweet that makes animation feel less like stabbing in the dark. It generates a list of floats - FLOATS - that ramp from a start value to an end value along an easing curve, and it draws the actual curve on the node so you can see what you're about to feed the rest of your workflow. If you've ever manually typed out keyframe strengths or squinted at a camera-motion node, this is the node that replaces the guesswork.
The idea: animation timings are almost never linear. A camera that starts slow and eases into motion looks intentional; a linear ramp looks like a machine. Ease Curve gives you 32 presets covering the standard easing library from easings.net - easeInQuad/easeOutQuad/easeInOutQuad, through cubic, quart, quint, sine, expo, circ, and the showy back, elastic, and bounce families - plus a custom mode where you shape your own curve with cubic-bezier control points.
How it works mechanically: pick a preset and a steps count (2 to 10000, default 30), and the node walks t = i / (steps-1), pushes each value through the easing function, and scales the result from value_min to value_max. So 30 steps from 0.0 to 1.0 with easeOutCubic gives you 30 floats that start fast and taper - exactly what you'd feed a per-frame parameter.
The inputs that matter:
- preset - the 32-entry dropdown,
customincluded. - steps - how many values come out. Match this to your frame count for per-frame animation.
- value_min / value_max - the range your curve spans (default 0 → 1).
- x1, y1, x2, y2 - bezier control points, but only for the
custompreset. Defaults0.42, 0, 0.58, 1are the classic ease-in-out handles.
One output, eased_values (FLOATS), which you wire into anything that eats a float list - camera/transform nodes, CFG or strength schedules, audio-reactive setups, the pack's own ApplyEasingToFloats-style flows.
The nice part is the UI. NodeSweet ships a small JavaScript extension (in the pack's js/ folder) that attaches a live canvas preview to EaseCurve - an SVG-style curve plot that redraws as you change presets or drag the bezier points. You get a real "is this easing in or out" visual instead of a number salad. It's a small touch, but it's the reason this node beats typing values blind.
Install: ComfyUI Manager → search "Batch BBox Detector" → Install, or
cd ComfyUI/custom_nodes && git clone https://github.com/rslosch/comfyui-nodesweet
then restart. Pure Python plus the bundled JS - no models, no heavy deps. Gotchas are mild: elastic and bounce presets overshoot the 0–1 range (that's what back-family curves do), so if your downstream node clamps or misbehaves at values above 1, that's a feature of the curve, not a bug. And 10000 steps is a lot of floats - fine for the node, but be sure the thing you're feeding can take a list that long.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 32 options: custom, linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, +26 | |
| steps | INT | 302–10000 | — |
| value_minopt | FLOAT | 0.00-1000000–1000000 | — |
| value_maxopt | FLOAT | 1.00-1000000–1000000 | — |
| x1opt | FLOAT | 0.420–1 | — |
| y1opt | FLOAT | 0.00-1–2 | — |
| x2opt | FLOAT | 0.580–1 | — |
| y2opt | FLOAT | 1.00-1–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| eased_values | FLOATS | — |