Nodes/kubakub nodes/kubakub director sequence
ComfyUI Node

kubakub director sequence

Turn the timeline into frames, audio and a delivered file

By kubakubkub·Created about a month ago·Updated 2 days ago· 10
kubakub director sequence
  • director
  • frames
  • fps
  • audio
  • report
  • folder
  • files
  • frame_count
  • projection_mask
  • document
◄framestrue►
◄sequence_scale0.50►
◄skip_h3_framesfalse►
◄exportnone►
◄export_scale1.00►
◄export_alphafalse►
◄export_namedirector►
◄light_scale1.00►

What it's for

The kubakub director composes. The director sequence node is what actually renders the timeline frame by frame and hands it off - either as frames for the rest of the graph or as a finished file on disk.

Reach for it when the composition moves. If you're only keeping a still, bypass this node: it exists to render every frame, and the pack's own docs tell you that changing its settings doesn't re-render the director's still, so there's no reason to run it for nothing.

How it works

It takes the director's director output (composition plus its sources) and walks the timeline: every frame, at sequence_scale, respecting the behaviours and keyframes you set in the window. Results are cached - moving the playhead or changing window-only settings reuses frames, and an identical export isn't written twice. The cache lives in kubakub.ini as director_seq_cache (2 results by default; 0 turns it off).

Two things it does that are worth planning around:

skip_h3_frames - if a kubakub keyframe clips (h3) node downstream is going to replace stretches of the timeline with generated video (a dissolve stands in for the frames it covers), you can skip rendering them here. It only takes effect when that H3 node is actually consuming these frames; otherwise every frame gets rendered, as you'd expect.

Exporting here rather than later - the export combobox writes the whole timeline as a delivery file at the delivery size, frame by frame, with no RAM ceiling, into output/kubakub_director/<name>_<time>/. PNG sequence 8/16 bit, ProRes 4444 / 422 HQ, H.264 (4:2:0 8 bit or 4:4:4 10 bit), H.265 10 bit, or a small preview. Everything is Rec.709 tagged and carries the timeline sound. export_alpha gives you the layers without the base, transparent where they don't cover (and outside the projection mask) - PNG sequences and ProRes 4444 only, and asking for it in a format that can't carry it is refused before anything renders.

Inputs and outputs

  • director - from kubakub director. Required; this is the node's whole world.
  • frames - on by default: return every frame of the timeline in RAM. Turn it off when you only want the export, and the frames output becomes the still instead.
  • sequence_scale - 0.1 to 1, default 0.5. This is a RAM dial, not a quality dial: 250 frames at 1600×1080 is roughly 5 GB. The export always uses the delivery size.
  • skip_h3_frames - as above.
  • export, export_scale, export_alpha, export_name - the file writer. export_scale 1 is the matrix size; the export button in the window uses these same settings.
  • light_scale (optional) - render size of light layers in the frames output. 0.5 is 2–3× faster with softer shadows; the export still uses 1.

Outputs: frames (or the still), fps, audio (the timeline sound, trimmed to length, silence if there was none), report, folder, files (one full path per line - the video file, or for a PNG sequence the frames folder and the .wav), frame_count, projection_mask at the size of the frames output, and document passed straight through.

The pair people under-use: frame_count + projection_mask + document mean a keyframe clips (h3) node can be fed from this node alone, and frames + fps + audio is exactly the trio Create Video wants.

Install

Manager → search kubakub nodes → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/kubakubkub/ComfyUI_KubaNodes
python -m pip install -r ComfyUI_KubaNodes/requirements.txt

ComfyUI 0.37.0+, opencv-python-headless as the only added package (keep your own OpenCV). ffmpeg - through imageio-ffmpeg or on your PATH - is required for video exports and for sound; PNG sequences don't need it. Light layers need Blender 4.x.

Common issues

  • The workflow got slow and RAM-heavy all of a sudden. sequence_scale at 1 across a long timeline. Half size is the default for a reason; only the export needs full size.
  • Rendering frames that H3 was going to replace anyway. Turn on skip_h3_frames - and check that the H3 node is genuinely downstream, or the flag does nothing.
  • "alpha not written" in the report. The format can't carry alpha. PNG sequence or ProRes 4444.
  • It re-rendered everything after a tiny change. That's the settings cache, not a bug: changing what the frames look like invalidates them, changing window-only settings doesn't. Move the playhead a few times and watch the report say "from the cache" if you want to see it working.
Categorykubakub/2d/director

Inputs (9)

NameTypeDefaultDescription
directorKUBA_DIRECTORThe director output of kubakub director.
framesBOOLEANtrueReturn every frame in RAM (frames output). Off when you only export: the frames output is then the still.
sequence_scaleFLOAT0.500.1–1Size of the frames relative to the matrix (RAM: 250 frames at 1600x1080 = ~5 GB).
skip_h3_framesBOOLEANfalseDo not render the frames that H3 keyframe clips replace anyway (a dissolve stands in for them). Only applies when a kubakub keyframe clips node takes these frames; otherwise every frame is rendered.
exportCOMBOnoneWrite the whole timeline as a file at the delivery size, frame by frame (no RAM limit): PNG sequence 8/16 bit, ProRes 4444 / 422 HQ, H.264 (4:2:0 8 bit or 4:4:4 10 bit), H.265 10 bit, or a small preview. Rec.709 tagged, with the timeline sound. Into output/kubakub_director/<name>_<time>/.
export_scaleFLOAT1.000.1–11 = the delivery size (the matrix).
export_alphaBOOLEANfalseThe layers without the base, transparent where they do not cover (and outside the projection mask): PNG sequences and ProRes 4444.
export_nameSTRINGdirectorName of the export folder and files.
light_scaleoptFLOAT1.000.25–1Render size of light layers in the frames (1 = the frame size). 0.5 is 2-3x faster with softer shadows; the export always uses 1.

Outputs (9)

NameTypeDescription
framesIMAGEEvery frame of the timeline (or the still with frames off).
fpsFLOATFrames per second of the timeline.
audioAUDIOThe timeline's sound, trimmed to its length (silence without one).
reportSTRINGFrames rendered (or reused from the last run), size and time, and the export folder.
folderSTRINGThe export folder (full path); empty when nothing was exported.
filesSTRINGWhat the export wrote, one full path per line: the video file, or for a PNG sequence the folder of frames and the .wav. Empty when nothing was exported.
frame_countINTFrames of the timeline (its length x fps); 1 while there is no composition.
projection_maskMASKThe building's silhouette at the size of the frames output (1 = building; all ones when the director's projection mask is off).
documentSTRINGThe director's composition document (JSON), passed through: straight into kubakub keyframe clips.