ComfyUI Node

list_Value

Keyframed, eased value schedules for ComfyUI animation

By cardenluo·Created 2 years ago·Updated 17 days ago· 309
list_Value
    • float
    • int
    • weight
    scheduleframe_number@value
    max_frames100
    easing_type

    If you've ever used Deforum's or AnimateDiff's frame: value schedule strings and wished a modern ComfyUI pack had the same idea with modern easing curves, list_Value is that node. It's a keyframe scheduler: define a value at specific frames, pick how it should interpolate between them, and get back a full per-frame sequence.

    What it does

    Part of cardenluo's ComfyUI-Apt_Preset, this node sits in the data/list group but is really built for the pack's animation side - it's the low-level tool behind the prompt/ControlNet/IPAdapter scheduling the README describes in its "Controller Stack" section for Wan, AnimateDiff and Kontext workflows. You write a schedule string, one keyframe per line, in frame_number@value format (the field's own default, "frame_number@value", is literally showing you the syntax to follow) - something like [email protected] on one line and [email protected] on the next to ramp a value up over 60 frames. max_frames sets the total sequence length the node fills out, and easing_type picks the interpolation curve between your keyframes from a genuinely deep library - 23 options including Linear, several Sine/Quart/Cubic/Circ variants each split into In/Out/InOut, and more beyond what fits in the schema's sample list.

    Rather than one output, you get three parallel takes on the same schedule: float for continuous values, int for cases where you need whole numbers (frame counts, discrete steps), and weight, presumably tuned for blend/strength-style values used in conditioning or LoRA scheduling. Pick whichever matches what you're driving downstream.

    Inputs and outputs

    • schedule - multiline frame_number@value pairs, one keyframe per line.
    • max_frames - total frames to generate (1–99999, default 100).
    • easing_type - interpolation curve between keyframes, 23 choices from Linear through various Sine/Quart/Cubic/Circ In/Out/InOut variants.

    Outputs: float, int, and weight - all lists, all the same underlying schedule expressed three ways.

    Beginners should focus on schedule and max_frames first - get a simple two-keyframe ramp working before experimenting with easing curves, since a Linear ramp is the easiest to verify by eye.

    Where this fits

    This is the node for anything that needs to change smoothly over the course of an animation: ramping denoise strength, fading a ControlNet or IPAdapter weight in or out, or scheduling a prompt-blend weight across a Wan or AnimateDiff run. If you just need a flat linear sweep for a parameter test rather than an animation curve, this pack's simpler list_num_range is the more direct tool.

    Installing it

    ComfyUI Manager: search ComfyUI-Apt_Preset. Manual install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
    

    Run install.bat on Windows or install requirements.txt by hand, restart ComfyUI. No external models needed.

    Troubleshooting

    Check for a clean pack import first, same as with every node in this write-up - ComfyUI-Apt_Preset has a documented case of failing to import for one user, and it's a large enough pack that a missing dependency can take the whole thing down rather than just one node.

    For this node, malformed schedule syntax is the most likely first problem: each line needs the @ separator between frame number and value, and stray blank lines or a missing @ will break parsing - start from the default placeholder and edit it rather than typing a schedule from scratch. If your curve looks wrong, double-check easing_type isn't accidentally left on something exotic - with 23 options it's easy to pick a Circ or Quart variant by mistake when you meant Linear, and the visual difference between adjacent easing types can be subtle at low frame counts.

    CategoryApt_Preset/data/list|Batch

    Inputs (3)

    NameTypeDefaultDescription
    scheduleSTRINGframe_number@value
    max_framesINT1001–99999
    easing_typeCOMBO23 options: Linear, Sine_In, Sine_Out, Sine_InOut, Sin_Squared, Quart_In, +17

    Outputs (3)

    NameTypeDescription
    floatFLOAT
    intINT
    weightFLOAT