Nodes/Difforum/Difforum · Storyboard (no diffusion)
ComfyUI Node

Difforum · Storyboard (no diffusion)

Preview the whole clip in under a second — no diffusion involved

By chillithebillis·Created 3 months ago·Updated about a month ago· 7
Difforum · Storyboard (no diffusion)
  • params
  • camera
  • init_image
  • depth
  • sheet
  • frames
  • info
every_nth8
columns6
cell_width192
preview_scale0.50
borderreflection
symmetrynone
symmetry_segments6
translation_scale1.00

The most expensive mistake in Deforum-style work is queueing a long render and discovering at frame 80 that the camera was too slow, or that one cut tears the image apart. Difforum Storyboard exists to make that mistake free. It runs your entire camera path across the clip - warping frame after frame exactly like the Feedback Sampler does - but never diffuses anything. No sampler, no VAE, just the warp chain, which costs well under a second.

The output is a contact sheet: sheet (a labeled grid of frames from across the clip), frames (the picked frames as a batch, if you want them individually), and info - a drift report that tells you if your motion is broken.

The drift report is the real product

info measures how far each frame travels from the last and then judges it:

  • "camera is nearly still" - the loop will stagnate and mush. If you're using depth-based moves (dolly, orbit) with no depth input, it'll even call that out: those moves are being silently discarded without a depth map.
  • "camera is very fast" - expect smearing unless your strength is high.
  • "spike at frame N" - that cut will tear; ease it with Camera Keys blend.
  • "N of M frames barely move" - consider fewer, longer moves.
  • Or the good one: "motion is evenly paced."

That's the kind of diagnosis you normally get after burning a render. Here it's instant and free.

Inputs that matter

  • init_image - the seed frame (usually frame 0 of your render, or any still you're animating).
  • camera - the DIFFORUM_CAMERA you're testing.
  • every_nth - how often to pick a frame for the sheet (default 8).
  • columns / cell_width - layout of the contact sheet.
  • preview_scale - run the simulation at a fraction of full res for speed (default 0.5).
  • border - how the warp handles edges (reflection is the default and the smart one).
  • symmetry / symmetry_segments - apply mirror or kaleidoscope folding in the preview, mirroring what you'll do in the sampler.
  • depth / translation_scale (optional) - to preview 3D warp properly.

Install

Standard pack install:

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

Restart ComfyUI ([Difforum] loaded N nodes; Manager has it too under "Difforum"). Deps: numpy only. If your preview looks all-black, check the README's known gotcha: SD1.5 fp16 can NaN to black frames on some builds - launch ComfyUI with --force-fp32. And a workflow tip: connect a real depth map before trusting a 3D storyboard - without one, the depth moves are silently skipped and the verdict will tell you why.

CategoryDifforum/preview

Inputs (12)

NameTypeDefaultDescription
paramsDIFFORUM_PARAMS
cameraDIFFORUM_CAMERA
init_imageIMAGE
every_nthINT81–240
columnsINT61–16
cell_widthINT19248–512
preview_scaleFLOAT0.500.1–1
borderCOMBOreflection3 options: reflection, zeros, border
symmetryCOMBOnone5 options: none, mirror_h, mirror_v, mirror_quad, kaleidoscope
symmetry_segmentsINT62–24
depthoptIMAGE
translation_scaleoptFLOAT1.000.01–10

Outputs (3)

NameTypeDescription
sheetIMAGE
framesIMAGE
infoSTRING