Nodes/Difforum/Difforum · Camera Path Preview
ComfyUI Node

Difforum · Camera Path Preview

See your camera path before you render — it's an IMAGE, not a guess

By chillithebillis·Created 3 months ago·Updated about a month ago· 7
Difforum · Camera Path Preview
  • camera
  • path_image
size512

Here's the thing about a camera path in Deforum-style animation: you can't see it. You write 0:(0.5*sin(2*pi*t/120)) into a rotation axis, hit queue, and then discover - forty minutes later - that the camera spent the whole clip doing a loop that makes you nauseous. Difforum · Camera Path Preview is the node that stops that. It takes a finished DIFFORUM_CAMERA track and renders it as a top-down trajectory plot with a zoom strip, straight out as an IMAGE you can look at before any diffusion runs.

The mechanism is what you'd hope: pure geometry, zero model. It reads the camera's per-frame poses (translations) and zoom curve and draws them - a top-down view of where the camera travels across the clip, plus a strip showing how zoom breathes over time. It's the same data the Feedback Sampler and Guide Builder consume, so what you preview is exactly what you'll render. It's cheap - this runs in milliseconds and needs no GPU. The only real input is camera (from any of the three camera nodes - Move, Shots, Keys, or the advanced one) and size, the output image resolution (default 512, up to 2048).

Why you'd actually reach for it:

  • Loop validation. If you're building a seamless loop, the path must return to its origin. A top-down plot shows the closure instantly - a path that spirals off into the corner will never loop cleanly, and you'll know before the render, not after.
  • Catching a pathological expression. A stray *10 in a translation axis shows up as a path that launches the camera into orbit. You'll laugh, fix it, move on - in five seconds instead of one render.
  • Blend vs. cut sanity. The difference between Camera Keys (blended) and Camera Shots (cuts) is genuinely visible in the trajectory: smooth corners vs. sharp kinks.

Output: a single path_image (IMAGE). Wire it into any preview node, or just let it render - as an output it'll show in the UI. One note: it's a schematic, not a storyboard - it won't tell you if the composition is good, only if the motion is what you asked for. For the visual side, the Storyboard node (warped-but-not-diffused frames) is the complementary tool.

Install

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

Restart ComfyUI (watch for [Difforum] loaded N nodes), or install via ComfyUI Manager → "Difforum". numpy-only, no extra dependencies.

Common issues

  • "The plot looks wrong / is empty." The preview only knows what the camera track contains - if your camera node was fed bad params (e.g. max_frames mismatch), the path reflects that. It's honest, not broken.
  • Path is a straight line. If you're in 3D mode without a depth map, translation axes can produce no visible net movement in the plot - a good early warning that your 3D camera will render as a freeze.

It's a tiny node with one job, and it's the kind of tool you don't appreciate until you've wasted a render on a camera that spiraled off-screen. Add it between your camera and your sampler, peek at the output, then build the clip with confidence.

CategoryDifforum/hybrid

Inputs (2)

NameTypeDefaultDescription
cameraDIFFORUM_CAMERA
sizeINT512128–2048

Outputs (1)

NameTypeDescription
path_imageIMAGE