Nodes/AnimateDiff Evolved/NaiveReuse Keyframes Interp. πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

NaiveReuse Keyframes Interp. πŸŽ­πŸ…πŸ…“

Ramp NaiveReuse's strength on a curve

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 3,519
NaiveReuse Keyframes Interp. πŸŽ­πŸ…πŸ…“
  • prev_kf
  • mult_multival
  • NAIVEREUSE_KF
β—„start_percent0.000β–Ί
β—„end_percent1.000β–Ί
β—„mult_start1.000β–Ί
β—„mult_end1.000β–Ί
β—„interpolationβ–Ύβ–Ί
β—„intervals50β–Ί
β—„inherit_missingtrueβ–Ί
β—„print_keyframesfalseβ–Ί

The smooth-ramp counterpart to NaiveReuse Keyframes From List - give it a start value, an end value, and how many steps to interpolate across, and it builds an evenly-spaced curve between them instead of you supplying a list.

What it does

mult_start and mult_end (both default 1, 0–1) are the two ends of the ramp. start_percent and end_percent (0 and 1 by default) bound where in the sampling process the ramp happens. interpolation is a dropdown for the curve's shape - a constant linear ramp versus an eased one that moves more gradually at one or both ends rather than at a constant rate. intervals (default 50, range 2–100) is how many keyframes get generated along the curve; more intervals means a finer, smoother ramp. print_keyframes (default false) dumps the generated schedule to console - worth switching on while you're dialing in a new ramp.

prev_kf chains onto an existing NaiveReuse keyframe chain, and mult_multival lets a mask or per-frame list modulate the ramp further. Output is NAIVEREUSE_KF.

Why ramp instead of using the flat default

NaiveReuse already defaults to a hard cutoff at 15% through sampling, via end_percent on the root node. A ramp built here lets you soften that - fade the effect out gradually toward end_percent instead of switching off abruptly, which tends to hand off more gracefully to whatever the model does on its own for the rest of the render.

Picking an intervals count

The same tradeoff applies here as with ContextRef's interpolation node: a higher intervals value produces a smoother ramp but generates more keyframe objects for the sampler to step through. Given NaiveReuse already only runs across a narrow slice of the process by default - the first 15% of steps - you rarely need anywhere near the 100-interval ceiling; something in the 5-15 range is usually enough resolution for a ramp that only spans a handful of actual sampling steps to begin with.

Installing it

ComfyUI Manager: search AnimateDiff Evolved (author Kosinkadink), install, restart. Or git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved into custom_nodes manually and restart.

Common issues

As with the rest of the NaiveReuse family, there's no meaningful public discussion to check your settings against - this is testing-on-your-own-render territory. Start with a small intervals count and print_keyframes on so you're reading actual numbers rather than guessing from slider positions, then increase intervals once you're confident the shape of the ramp is right.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/context opts/context extras/naivereuse

Inputs (10)

NameTypeDefaultDescription
start_percentFLOAT0.0000–1β€”
end_percentFLOAT1.0000–1β€”
mult_startFLOAT1.0000–1β€”
mult_endFLOAT1.0000–1β€”
interpolationCOMBO4 options: linear, ease_in, ease_out, ease_in_out
intervalsINT502–100β€”
inherit_missingBOOLEANtrueβ€”
print_keyframesBOOLEANfalseβ€”
prev_kfoptNAIVEREUSE_KEYFRAMEβ€”
mult_multivaloptMULTIVALβ€”

Outputs (1)

NameTypeDescription
NAIVEREUSE_KFNAIVEREUSE_KEYFRAMEβ€”