Nodes/Deforum Nodes/(deforum) Schedule Visualizer
ComfyUI Node

(deforum) Schedule Visualizer

See your animation curve before you render it

By XmYx·Created 3 years ago·Updated 3 months ago· 198
(deforum) Schedule Visualizer
    • IMAGE
    schedule0: (1.0)
    max_frames0
    gridfalse

    Schedule strings are hard to read. 0:(0), 30:(0.8), 60:(0.2), 100:(0.9) - fine, you can squint at that. But 0:(exp(-t/max_f)*sin(4*3.14*t/max_f))? Nobody reads that and knows what it does. This node plots any schedule as a line chart and hands you the result as an image, so you see the curve instead of decoding it.

    It uses the exact same evaluation code the animation loop uses (FrameInterpolator from the deforum backend), so the picture you get is the actual motion profile the sampler will follow - not an approximation from some other plotting tool. That's the node's quiet superpower: what you visualize is what you'll get.

    Inputs

    • schedule - the schedule string. Paste in whatever you were about to put in a parameter node.
    • max_frames - how many frames to evaluate. If you leave it at 0, the node guesses from the number of keyframes in the string - fine for keyframe schedules, wrong for pure expressions (they only have one keyframe), so set it explicitly when you're checking a formula.
    • grid - toggle a grid on the chart to make it easier to read values off the curve.

    Output

    • IMAGE - a Matplotlib-rendered plot of the schedule: x-axis frame, y-axis value, titled "Schedule Visualization". Wire it to a preview node and you're done.

    How it works

    The source is straightforward: parse the schedule, build the per-frame series with the same interpolator the loop uses, plot it with Matplotlib, save to PNG, return as a tensor. The heavy lifting is FrameInterpolator.parse_key_frames + get_inbetweens, which is exactly the pipeline that turns your keyframes into per-frame values at render time.

    Installation

    Ships with Deforum Nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/XmYx/deforum-comfy-nodes.git
    

    Restart, or install "Deforum Nodes" by XmYx via ComfyUI Manager. It does need the backend installed - the FrameInterpolator import comes from the deforum[comfy] package - so it's one of the nodes that won't work on a half-finished install.

    The workflow that makes it worth it

    Pair it with Schedule Templates or Schedule Randomizer: generate or pick an expression there, plot it here, and only then commit it to a real parameter. You'll catch the "inverted ramp," the "spike that goes negative," and the "curve that explodes at frame 90" before they ruin a render. It's fifteen seconds that saves a lot of queue time.

    Categorydeforum/utils

    Inputs (3)

    NameTypeDefaultDescription
    scheduleSTRING0: (1.0)
    max_framesINT00–128000
    gridBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE