Float Feature Node β‘π ‘π π £π
Hand-build a reactive curve instead of extracting one
- FEATURE
RyanOnTheInside's whole pack runs on a three-tier idea: a Source node extracts a FEATURE - a per-frame numeric curve - from something (audio, brightness, depth, motion), that FEATURE gets fed into a Target node (the Flex mask/latent/video effects), and the target's parameters move with the curve instead of sitting at one fixed value. Most Sources pull their curve automatically from real footage or audio. Float Feature Node is the exception: it's the manual one. You give it float values directly, and it packages them as a FEATURE like any of the automatic extractors would.
How it works
extraction_method decides how the values get processed on their way out: raw passes them through as-is for precise, direct control; smooth applies smoothing for gentler transitions frame to frame; cumulative runs a running sum instead of using each value on its own - useful for an effect that should keep building rather than oscillate, like a progressive zoom or an accumulating distortion that never resets. frame_rate, frame_count, width, and height define the shape of the feature this node produces, matching it to whatever sequence and canvas size the Target node downstream expects.
The floats field itself is a single widget, defaulted to 0.5. Left as a plain widget, you get a flat, unchanging curve at that one value - genuinely useful for testing a Flex effect at a fixed setting before wiring up real reactivity. For an actual animated curve, right-click and convert floats to an input, then feed it from something that produces a list of per-frame values (a value list, a small script node, or hand-typed keyframe data) - that's the standard way ComfyUI widgets accept a sequence instead of one static number.
Inputs and outputs that matter
extraction_method- raw, smooth, or cumulative.frame_rate(default 30, 1β120) andframe_count(default 30, min 1) - the sequence this feature is built for.width/height(default 512, 64β4096) - the canvas dimensions the feature is computed at.floats(default 0.5, 0β1) - the value(s) to turn into a feature; convert to an input for a real animated curve.- Output - a single
FEATURE, ready to feed into any Flex target node.
Installing it
Via ComfyUI Manager: search "RyanOnTheInside," install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
then restart. Pure numeric packaging - no models, no analysis, so this is one of the lightest nodes in the whole pack to run.
Common issues & troubleshooting
The feature never changes. If floats is still a plain widget, that's expected - it's giving you one static value repeated across every frame. Convert it to an input and drive it from a list-producing node upstream for an actual moving curve.
cumulative output climbs way outside the range you expected. That's the nature of a running sum - feed it consistently positive values and the output will keep growing frame over frame rather than settling into a bounded 0β1 range like raw does. Downstream Flex nodes may need their thresholds tuned differently to account for that unbounded growth.
Not sure your curve is actually doing what you think. Route the FEATURE output through the pack's EffectVisualizer node before wiring it into your real effect - it burns the numeric value onto your frames as text, which is the fastest way to sanity-check a hand-built curve.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| extraction_method | COMBO | Choose how to process the float values: - raw: Direct normalized values - good for precise control - smooth: Apply smoothing to the values - creates gentler transitions - cumulative: Running sum of values - good for progressive effects | |
| frame_rate | FLOAT | 30.01β120 | Frame rate of the video (1.0 to 120.0 fps) |
| frame_count | INT | 301β999999 | Total number of frames (minimum: 1) |
| width | INT | 51264β4096 | Width of the output feature (64 to 4096) |
| height | INT | 51264β4096 | Height of the output feature (64 to 4096) |
| floats | FLOAT | 0.500β1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FEATURE | FEATURE | β |