Nodes/Difforum/Difforum · Schedule Plot
ComfyUI Node

Difforum · Schedule Plot

See your camera curve before you burn a render

By chillithebillis·Created 3 months ago·Updated about a month ago· 7
Difforum · Schedule Plot
  • schedule
  • plot
width512
height256

Most Difforum pain happens before a single frame is rendered: you write a strength schedule, wire it up, queue the job, and fifteen minutes later discover the zoom was inverted. Difforum Schedule Plot is the cure - it renders any DIFFORUM_SCHEDULE as an actual IMAGE of its curve, ready to plug into a Preview Image node.

You feed it a schedule, set width and height for the plot canvas (default 512x256, both up to 4096), and it outputs plot as a normal IMAGE. That's the whole node, and that's enough.

When you'll reach for it

  • Before a long render. Plot the strength and camera schedules together (two plot nodes, side by side) and eyeball whether the motion spikes anywhere. The Storyboard node checks camera drift, but Plot is the one that shows you the raw curve you actually wrote.
  • Audio schedules. After connecting an audio curve, plotting it shows whether the bass band is pumping where you expect - way easier than rendering to find out.
  • Teaching yourself the syntax. Try 0:(0), 60:(sin(t/6)) with each easing mode and watch the curve change. Fastest way to internalize step vs ease_in_out.

Because schedules are dense per-frame arrays, the plot is exact - every frame is a point on the curve, not an approximation. It also inherits the "everything is GPU-free" property of the schedule engine (the node only touches torch to hand the image back as a tensor), so it costs effectively nothing and runs instantly.

Install and gotchas

The whole pack installs as one:

cd ComfyUI/custom_nodes
git clone https://github.com/chillithebillis/Difforum.git difforum

Restart ComfyUI and confirm [Difforum] loaded N nodes in the console; ComfyUI Manager also has it (search "Difforum"). Runtime deps are minimal - numpy, which ComfyUI already provides - and the pack targets Python 3.12+, sidestepping the version mess that the original Deforum library still lives in.

Where people trip: the plot shows the curve over params["max_frames"] from your Anim Setup, so if you change the clip length, the same schedule text plots differently. That's correct behavior, but it's the classic "my plot doesn't match my earlier render" moment. Also remember the plot is just the curve - it won't tell you the curve is a bad idea for your shot, only what it actually is. That's where the Storyboard's drift readout takes over.

CategoryDifforum/schedule

Inputs (3)

NameTypeDefaultDescription
scheduleDIFFORUM_SCHEDULE
widthINT51264–4096
heightINT25664–4096

Outputs (1)

NameTypeDescription
plotIMAGE