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

(deforum) Schedule Randomizer

Let the seed write your animation curves

By XmYx·Created 3 years ago·Updated 3 months ago· 198
(deforum) Schedule Randomizer
    • STRING
    seed0
    max_frames1
    max_parts1

    Stuck on a schedule, or just want to explore what a parameter could do? This node generates a random complex schedule expression for you - a string of math you can paste straight into any schedule field - and it's deterministic, so the same seed always gives the same curve. Think of it as the "dice roll" button for animation parameters: you get a genuinely novel curve, and you can share the seed so the exact same motion is reproducible.

    The output is in the same expression language as the Schedule Template catalog (t = frame, max_f = total frames, s = seed), but instead of a curated list, it's built from randomly combined parts by the pack's generate_complex_random_expression function.

    Inputs

    • seed - the random seed (up to the full 64-bit range). Same seed, same expression, forever.
    • max_frames - how long the animation is; the generator uses it to keep the expression's scale sane (default 1, set it to your real frame count for sensible curves).
    • max_parts - how many expression chunks get combined (default 1). More parts = more complex (and more chaotic) curves.

    Output

    • STRING - the generated schedule expression. Copy it into a schedule field, or feed it to Schedule Visualizer to plot it first. That's the whole node.

    There's genuinely nothing else to it - no models, no backend, no state.

    Installation

    Part of Deforum Nodes:

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

    Restart ComfyUI, or install "Deforum Nodes" by XmYx via ComfyUI Manager. Pure string generation; works with or without the heavy backend installed.

    How to use it well (and the trap)

    The workflow that works: set max_frames to your real animation length, roll a few seeds, run each result through Schedule Visualizer to see what you got, and only paste the promising ones into real schedule fields. Blindly dropping a random expression into a production schedule is how you end up with a camera that lurches across the room - the generator combines parts freely, and "mathematically valid" is not the same as "visually pleasant."

    One legit use beyond exploration: as a style lever. Because the seed drives everything, you can randomize max_parts: 3 curves for a batch of concept explorations and get wildly different motion languages per seed, all reproducible. That's the "creative lottery" mode, and it's more fun than it sounds.

    Categorydeforum/utils

    Inputs (3)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    max_framesINT11–4096
    max_partsINT11–4096

    Outputs (1)

    NameTypeDescription
    STRINGSTRING