Nodes/Difforum/Difforum · Director (timeline)
ComfyUI Node

Difforum · Director (timeline)

Direct the whole clip on a visual timeline. Three tracks, edited with the mouse: **Scenes** (prompt + mood), **Camera** (pick a move, set speed / amplitude / lens / easing / audio reaction) and **Energy** (the denoise curve - how much each moment is re-imagined). The preview panel plays the camera back with the same engine that renders it. One `direction` wire carries camera, strength, cfg and prompt travel into the Feedback Sampler or a video-model bridge. The separate outputs are there for custom graphs.

By chillithebillis·Created 3 months ago·Updated about 7 hours ago· 8
Difforum · Director (timeline)
  • params
  • clip
  • audio
  • direction
  • camera
  • strength
  • prompts
  • camera_text
  • info
◄timeline{"version": 2, "scenes": [{"start": 0, "mood": "calm", "prompt": "misty ancient forest at dawn, volumetric light, wide shot"}, {"start": 30, "mood": "build", "prompt": "glowing roots and moss, bioluminescent details, macro"}, {"start": 60, "mood": "climax", "prompt": "explosion of light, cosmic transformation, high contrast"}, {"start": 90, "mood": "resolve", "prompt": "embers becoming stars, calm, vast cosmic scale"}], "camera": [{"start": 0, "move": "zoom_in", "speed": 0.8, "intensity": 0.8, "ease": "ease_in_out"}, {"start": 30, "move": "pan_right", "speed": 1.0, "intensity": 0.8, "ease": "ease_in_out"}, {"start": 60, "move": "spiral", "speed": 1.4, "intensity": 1.1, "ease": "ease_in"}, {"start": 90, "move": "zoom_out", "speed": 0.6, "intensity": 0.5, "ease": "ease_out"}], "keys": [{"start": 60, "label": "the light breaks"}], "energy": [], "guidance": []}►
◄camera_mode2d►
◄lookcinematic►
◄transition1.00►
◄camera_scale1.00►
◄energy_bias0.00►
◄variation0.00►
◄variation_seed0►
CategoryDifforum/2 · Direction

Inputs (11)

NameTypeDefaultDescription
paramsDIFFORUM_PARAMSFrom Setup: the timeline length and fps.
timelineSTRING{"version": 2, "scenes": [{"start": 0, "mood": "calm", "prompt": "misty ancient forest at dawn, volumetric light, wide shot"}, {"start": 30, "mood": "build", "prompt": "glowing roots and moss, bioluminescent details, macro"}, {"start": 60, "mood": "climax", "prompt": "explosion of light, cosmic transformation, high contrast"}, {"start": 90, "mood": "resolve", "prompt": "embers becoming stars, calm, vast cosmic scale"}], "camera": [{"start": 0, "move": "zoom_in", "speed": 0.8, "intensity": 0.8, "ease": "ease_in_out"}, {"start": 30, "move": "pan_right", "speed": 1.0, "intensity": 0.8, "ease": "ease_in_out"}, {"start": 60, "move": "spiral", "speed": 1.4, "intensity": 1.1, "ease": "ease_in"}, {"start": 90, "move": "zoom_out", "speed": 0.6, "intensity": 0.5, "ease": "ease_out"}], "keys": [{"start": 60, "label": "the light breaks"}], "energy": [], "guidance": []}Written by the timeline editor below (scenes, camera, keys, energy). Edit it there.
camera_modeCOMBO2d2d: flat moves (zoom, pan, roll). 3d: real parallax when a depth map reaches the renderer; 3D moves without depth become pseudo-3D.
lookCOMBOcinematicOne aesthetic for every renderer. Feedback Sampler: colour lock, detail, grain and extra energy. H3 / LTX: a style sentence at the head of the prompt.
transitionFLOAT1.000–1How much of each camera block eases into the next. 1 = one continuous crane move, 0 = hard cuts between blocks.
camera_scaleFLOAT1.000–4Master multiplier on every move. 0.5 = everything half as far, 2 = twice.
energy_biasFLOAT0.00-0.3–0.3Moves the whole energy (denoise) curve up or down. +0.1 = more re-imagining everywhere.
variationFLOAT0.000–10 = exactly as drawn. Above 0, each block gets small seeded changes in speed and amount - useful for variations of the same shot.
variation_seedINT00–4294967295Seed for those variations: change it for another take.
clipoptCLIPConnect the CLIP of your image model to encode the scene prompts: the Feedback Sampler and Restyle then travel through them.
audiooptDIFFORUM_AUDIOFrom Audio Analyzer: enables the per-block audio reactions (beat pulse, bass speed...).

Outputs (6)

NameTypeDescription
directionDIFFORUM_DIRECTION—
cameraDIFFORUM_CAMERA—
strengthDIFFORUM_SCHEDULE—
promptsDIFFORUM_PROMPT—
camera_textSTRING—
infoSTRING—