Difforum · Schedule Info
An ASCII sparkline for your Difforum schedule (costs zero GPU)
- schedule
- info
The best way to understand a Deforum-style schedule is to see it. Difforum Schedule Info gives you the quick, text-based version: plug in any DIFFORUM_SCHEDULE and it prints a human-readable summary plus an ASCII sparkline of the whole curve, right in the node.
The output is a single STRING, and it's an output node - meaning it renders to the UI as a text panel rather than feeding a wire. What you get:
frames=120 fps=24.0 easing=linear
min=0 max=1 first=0 last=1
... . : - = * # % % * - : . ...
src: 0:(0), 60:(0.5*sin(2*pi*t/30)), 120:(1.0)
Min/max, first/last, the sparkline sampling the curve at ~60 points, and the original source string. It's the "does this curve actually do what I think it does" check, minus the plotting.
Why this beats guessing
Deforum-style math is easy to write and easy to get subtly wrong. 0:(0), 60:(1) at 120 frames with linear easing ramps smoothly - but add step easing and it holds 0 until frame 60, then jumps. An oscillator in a short clip can end mid-cycle. Schedule Info catches all of that in one glance, before you spend render time discovering the strength curve was inverted. Pair it with Schedule Plot if you want the pretty version as an IMAGE, or Sample Schedule if you only care about one specific frame.
It's also a genuinely useful teaching tool: wire in an audio-reactive schedule and you can literally watch the bass curve breathe in ASCII.
Install and gotchas
Difforum is one pack, and every node installs the same way:
cd ComfyUI/custom_nodes
git clone https://github.com/chillithebillis/Difforum.git difforum
Restart ComfyUI and check the console for [Difforum] loaded N nodes (ComfyUI Manager works too - search "Difforum"). Dependencies are minimal by design - numpy is the only runtime dependency and it ships with ComfyUI. This node in particular runs entirely on CPU with no torch involved, so you can wire it into any graph with zero performance cost.
The one thing to remember: since it's an output node, it renders a text panel every time the upstream schedule changes. That's the point - treat it as a live instrument. If you're debugging a schedule that looks wrong, the sparkline almost always shows you why before you ever touch the sampler.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| schedule | DIFFORUM_SCHEDULE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| info | STRING | — |