ComfyUI Node
kubakub director
Compose the projection by hand in a layer window: place, scale, rotate and stack images over the facade, decide what is in front of what, mask layers with other layers, paint, colour grade, import images. Run once, then 'open director'. Apply saves the composition and queues the workflow; the node renders it at full size and returns the image, per-layer masks, a changed mask, the regions with the placed layers and plan rules for the next diffusion pass.
kubakub director
- image
- layers
- layer_masks
- regions
- scene
- audio
- image
- layer_masks
- changed
- regions
- plan_rules
- document
- report
- frames
- fps
- audio
- projection_mask
- director
◄invert_masksfalse►
◄layer_names►
◄seam_px24►
◄document►
◄render_sequencefalse►
◄skip_h3_framesfalse►
◄exportnone►
◄export_scale1.00►
◄export_alphafalse►
◄export_namedirector►
◄sequence_scale0.50►
◄flowhold until apply►
Categorykubakub/2d/director
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The base layer: the matrix, a render or a photo of the facade. | |
| layersopt | IMAGE | Images to place (a batch = several layers, all of one size). Pictures of other sizes: import them in the window. | |
| layer_masksopt | MASK | Masks for the layer images (1 = keep). Masks without images become white layers you can use as masks for other layers. | |
| invert_masksopt | BOOLEAN | false | On for Load Image masks (they are 1 where the picture is transparent). |
| regionsopt | KUBA_REGIONS | Regions to pick, clip to and cut holes with; placed layers are added. | |
| sceneopt | KUBA_SCENE | 3D scene: clay, depth and ID views in the window. | |
| layer_namesopt | STRING | Names for the layer images, one per line or comma separated. | |
| seam_pxopt | INT | 241–512 | Width of the edge band in the changed mask. |
| documentopt | STRING | The composition, written by the window (JSON). Leave it to the window. | |
| render_sequenceopt | BOOLEAN | false | (old: use kubakub director sequence) Also render every frame of the timeline (frames / fps outputs, e.g. into Create Video). Light layers render in Cycles per frame where they change. Kept for older workflows. |
| skip_h3_framesopt | BOOLEAN | false | (old: use kubakub director sequence) Do not render the frames that H3 keyframe clips replace anyway (a dissolve stands in for them). Off for the full sequence without H3. Kept for older workflows. |
| exportopt | COMBO | none | Write 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>/. The window's export button uses this. |
| export_scaleopt | FLOAT | 1.000.1–1 | 1 = the delivery size (the matrix). |
| export_alphaopt | BOOLEAN | false | The layers without the base, transparent where they do not cover (and outside the projection mask): PNG sequences and ProRes 4444. |
| export_nameopt | STRING | director | Name of the export folder and files. |
| sequence_scaleopt | FLOAT | 0.500.1–1 | (old: use kubakub director sequence) Size of the sequence frames relative to the matrix (RAM: 250 frames at 1600x1080 = ~5 GB). Kept for older workflows. |
| flowopt | COMBO | hold until apply | hold until apply: until a composition is applied from the window, the director only shows its preview (open it, compose, apply) and the nodes after it wait - no LTX / H3 / sequence run on an empty composition. always: the base passes on right away. Once a composition is applied the setting changes nothing, but switching it still counts as a change for ComfyUI (the nodes after the director run again). |
| audioopt | AUDIO | A sound from the graph (e.g. Load Audio) as the timeline's sound: its waveform, tempo and beats show in the window after a run, the sound behaviours follow it and it goes out on 'audio'. It replaces a sound picked in the window. |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | The composition at full size. |
| layer_masks | MASK | Per placed layer: where the audience sees it (batch). |
| changed | MASK | Re-diffused layers + edge bands: for region sampler / seam pass. |
| regions | KUBA_REGIONS | The input regions with every placed layer as a new region. |
| plan_rules | STRING | Rules for kubakub region plan (actions, prompts, denoise). |
| document | STRING | The composition document (JSON). |
| report | STRING | Size, layers and what was placed; sequence, sound and export notes when those run; 'waiting for apply' while the flow holds. |
| frames | IMAGE | Every frame of the timeline (render_sequence on), else the image. For video use the kubakub director sequence node. |
| fps | FLOAT | Frames per second of the timeline. |
| audio | AUDIO | The timeline's sound, trimmed to its length (silence without one): frames + fps + audio into Create Video. |
| projection_mask | MASK | The building's silhouette from the projection mask slot (1 = building; all ones when the slot is off). |
| director | KUBA_DIRECTOR | The composition with its sources: into kubakub director sequence (frames, sound, export). |