Nodes/AnimateDiff Evolved/Value Scheduling [Latents] πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

Value Scheduling [Latents] πŸŽ­πŸ…πŸ…“

Value scheduling that tracks your actual batch size

By KosinkadinkΒ·Created 3 years agoΒ·Updated 12 days agoΒ· 3,519
Value Scheduling [Latents] πŸŽ­πŸ…πŸ…“
  • latent
  • FLOAT
  • FLOATS
  • INT
  • INTS
β—„valuesβ–Ί
β—„print_schedulefalseβ–Ί

Same core idea as ADE_ValueScheduling - a frame-indexed numeric schedule with automatic interpolation, solving the same real gap this pack's community has hit: standard value-scheduler nodes built for per-generation image-to-image loops don't work inside a single AnimateDiff sampling pass. The node's own description states the one difference plainly: this version's output length matches "passed-in latent count," automatically.

What that buys you

Plain ADE_ValueScheduling has an optional max_length you set by hand to cap or size the output. This node skips that: you feed it your actual latent batch, and the schedule sizes itself to however many frames are genuinely in it. The practical upside shows up when you're still iterating on frame count or context length - change your batch size upstream (a different EmptyLatentImage, a different context length in your sampler setup) and the schedule follows along automatically, rather than you needing to go back and re-sync a max_length number every time you adjust it.

Reach for this over the plain version specifically while you're still tuning frame count and don't want a manual number to keep in sync. Reach for plain ADE_ValueScheduling once your length is settled, or at a point in the graph where you don't have a convenient latent to read the count from.

Inputs and outputs

Required: values (multiline STRING, same frame-indexed schedule syntax as ADE_PromptScheduling/ADE_ValueScheduling) and latent (LATENT) - the batch this node reads its output length from.

Optional: print_schedule (boolean, default false) - dumps the parsed schedule to console.

Four outputs, same as the plain version: FLOAT, FLOATS, INT, INTS - pick whichever matches your target input's type.

How to install it

ComfyUI Manager: search AnimateDiff Evolved, confirm the author is Kosinkadink, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved

No model download - a pure scheduling utility.

Common issues & troubleshooting

Schedule length doesn't match what you expected. Confirm latent is wired from the batch that's actually going through your sampler - not an earlier or placeholder latent left over from before an upscale step or a context-length change elsewhere in the graph. This node reads count from whatever latent you give it, not from the sampler downstream.

Schedule doesn't seem to be doing anything. Same first move as the plain version: turn on print_schedule and confirm your values text parsed the way you intended before assuming a downstream node is broken.

Not sure which output to wire. Match it to your target's declared type - a Multival wants FLOAT, a per-frame list wants FLOATS, and correspondingly for the int pair. All four carry the same computed schedule, just shaped differently.

Batch size changes and the schedule doesn't seem to follow. Double-check you're feeding this node the same latent object that changes when your batch size changes - if there's an intermediate node between your batch source and this one that fixes the count, the automatic tracking has nothing to read from.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/scheduling

Inputs (3)

NameTypeDefaultDescription
valuesSTRINGβ€”
latentLATENTβ€”
print_scheduleoptBOOLEANfalseβ€”

Outputs (4)

NameTypeDescription
FLOATFLOATβ€”
FLOATSFLOATSβ€”
INTINTβ€”
INTSINTSβ€”