Nodes/ComfyUI-Mana-Nodes/⏰ Scheduled Values
ComfyUI Node

⏰ Scheduled Values

Scheduled Values

By ForeignGodsΒ·Created 2 years agoΒ·Updated 2 years agoΒ· 248
⏰ Scheduled Values
    • scheduled_values
    β—„frame_count30β–Ί
    β—„value_range15β–Ί
    β—„easing_typelinearβ–Ί
    β—„step_modesingleβ–Ί
    β—„animation_resetwordβ–Ί
    β—„id0β–Ί
    β—„scheduled_values[]β–Ί

    Scheduled Values is Mana Nodes' little keyframe editor. It gives you a chart you click on to place keyframes, then it interpolates the in-between values and outputs the whole curve - which you wire into a Font Properties number like font_size or rotation to animate it over your frames. If you've ever used a graph editor in After Effects, it's that idea, shrunk into a node.

    Why you'd reach for it

    Static text is fine. Text that scales up on each word, or drifts across the frame, or rotates in - that's what makes the Mana Nodes demos look good, and this node is where that motion is authored. It only produces numbers, so it drives numeric properties: size, horizontal/vertical offset, rotation. Color animation is a separate node (Preset Color Animations).

    How it works

    You get an interactive chart. You click to drop keyframes at specific frames and values, double-click a keyframe to type exact numbers, and hit Generate Values to fill in a smooth curve between them using whichever easing you picked. There's also a Delete Generated button to clear the interpolation and start over. It's a hands-on, visual node - you sketch the motion rather than typing a formula.

    The inputs that matter

    • scheduled_values - the keyframe data itself, stored as a string (starts as []). You don't usually edit this by hand; you build it by clicking the chart.
    • frame_count - the x-axis range, i.e. how long the animation is. Always starts at 1.
    • value_range - the y-axis range. Set it to 25 and the chart spans βˆ’25 to 25. You can zoom with the mousewheel, but it resets to this on change.
    • easing_type - the interpolation curve: linear, plus the full family of easeInQuad / easeOutCubic / easeInOutQuint and so on, up to exponential. This is what "Generate Values" uses to connect your keyframes.
    • animation_reset - when the animation restarts: word (reset each new word), line (each new line), never (run once, hold the last value), looped (repeat forever), or pingpong (forward then back). For caption work, word is the usual pick.

    The output is scheduled_values (an INT stream), which you connect to a Font Properties property that you've converted to an input - currently font_size, x_offset, y_offset, or rotation.

    Installing it

    Comes with the pack. ComfyUI Manager β†’ search Mana Nodes β†’ install β†’ restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ForeignGods/ComfyUI-Mana-Nodes.git
    

    Install requirements and restart. No models needed - this is a UI widget plus some interpolation math.

    Common issues

    The single most common "it's not animating" cause: the target property on Font Properties is still a plain widget. You have to right-click Font Properties and convert font_size (or offset/rotation) to an input first - only then does the dot exist to wire this node into. No converted input, no animation.

    Second, keyframes don't ride along with shared workflows. The author notes that Scheduled Values keyframes can't be imported from an example workflow yet - if you load someone's .json, the chart comes in empty and you have to place the keyframes yourself. Not a bug, just a limitation to plan around.

    Third, mind which properties are actually animatable. The output only hooks to font_size, x_offset, y_offset, and rotation today; the author lists "make more Font Properties animatable" as a to-do, so don't expect to schedule, say, kerning or border width yet.

    CategoryπŸ’  Mana Nodes/πŸ“… Value Scheduling

    Inputs (7)

    NameTypeDefaultDescription
    frame_countINT30β€”
    value_rangeINT15β€”
    easing_typeCOMBOlinear14 options: linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, +8
    step_modeCOMBOsingle2 options: single, auto
    animation_resetCOMBOword5 options: word, line, never, looped, pingpong
    idINT0β€”
    scheduled_valuesSTRING[]β€”

    Outputs (1)

    NameTypeDescription
    scheduled_valuesINTβ€”