Nodes/ComfyUI-Koolook/LTX Director (Koolook)
ComfyUI Node

LTX Director (Koolook)

Same as Prompt Relay Encode, but local prompts and segment lengths are edited visually as draggable blocks on a timeline. The duration_frames input only sets the timeline scale (pixel space) — actual frame count is still read from the latent.

By malkuthro·Created 11 months ago·Updated 22 days ago· 7
LTX Director (Koolook)
  • model
  • clip
  • audio_vae
  • optional_latent
  • reference_images
  • model
  • positive
  • video_latent
  • audio_latent
  • guide_data
  • motion_guide_data
  • frame_rate
  • combined_audio
  • clean_latent_frames
  • clean_pixel_frames
start_second0.00
end_second5.00
duration_seconds5.00
start_frame0
end_frame120
duration_frames120
timeline_data
local_prompts
segment_lengths
epsilon0.0010
guide_strength
global_prompt
use_custom_audiofalse
use_custom_motiontrue
inpaint_audiotrue
frame_rate24
display_modeseconds
custom_width0
custom_height0
resize_methodmaintain aspect ratio
divisible_by32
img_compression18
override_audiofalse
snap_keyframes_to_gridtrue
keyframe_ease0
ease_falloff0.50
reference_strength1.00
CategoryKoolook/PromptRelay

Inputs (32)

NameTypeDefaultDescription
modelMODEL
clipCLIP
start_secondFLOAT0.000–1000Start time in seconds of the timeline generation.
end_secondFLOAT5.000–1000End time in seconds of the timeline generation.
duration_secondsFLOAT5.000.1–1000Total timeline duration in seconds (computed/synced from frames).
start_frameINT00–10000Start frame of the timeline generation.
end_frameINT1201–10000End frame of the timeline generation.
duration_framesINT1201–10000Total timeline length in pixel-space frames. Used by the editor for visual scale only.
timeline_dataSTRINGJSON state of the timeline editor (auto-managed; do not edit by hand).
local_promptsSTRINGAuto-populated from the timeline editor.
segment_lengthsSTRINGAuto-populated from the timeline editor (pixel-space frame counts).
epsilonFLOAT0.00100.0001–0.99Penalty decay parameter. Values below ~0.1 all produce sharp boundaries (paper default 0.001). For softer transitions, try 0.5 or higher.
guide_strengthSTRINGAuto-populated from the timeline editor (comma-separated guide strengths for image segments).
audio_vaeoptVAEOptional. Connect an Audio VAE to generate audio latents.
optional_latentoptLATENTOptional. Connect a latent to override the auto-generated one.
global_promptoptSTRINGConditions the entire video. Anchors persistent characters, objects, and scene context.
use_custom_audiooptBOOLEANfalseToggle between using timeline audio (ON) and generating audio from scratch (OFF).
use_custom_motionoptBOOLEANtrueToggle between using timeline motion guidance (ON) and ignoring motion video segments (OFF).
inpaint_audiooptBOOLEANtrueToggle whether empty gaps in the audio track are inpainted with generated audio.
frame_rateoptFLOAT241–240Frames per second — only affects how time is displayed in the timeline editor when time_units is set to 'seconds'.
display_modeoptCOMBOsecondsDisplay the ruler, segment ranges, length input, and total in frames or seconds. Internal storage is always pixel-space frames.
custom_widthoptINT00–8192Target output width for all image segments. Set to 0 to use the original image width.
custom_heightoptINT00–8192Target output height for all image segments. Set to 0 to use the original image height.
resize_methodoptCOMBOmaintain aspect ratioHow to resize image segments to fit the target dimensions.
divisible_byoptINT321–256Snap the final output image dimensions to be divisible by this number (e.g. 32 for LTX).
img_compressionoptINT180–100H.264 CRF compression to apply to each guide image. 0 = no compression, higher = more artefacts.
override_audiooptBOOLEANfalseUse the audio from the IC-LoRA video instead of using the audio track.
snap_keyframes_to_gridoptBOOLEANtrueKoolook (issue #258): snap each image keyframe to the center of its LTX latent-time bucket so hard pins land cleanly on one latent frame, and bump pins that collide in the same bucket. Off = use raw timeline positions.
keyframe_easeoptINT00–4Koolook: ease in/out of each hard pin. 0 = off (single frozen frame -> the robotic stop/dissolve). 1-2 adds strength-ramped neighbor pins of the SAME pose one latent bucket apart, so the model glides into and out of the locked pose instead of snapping. Center pose stays exact; costs extra guide frames (more compute).
ease_falloffoptFLOAT0.500–1Strength multiplier per ease step: neighbor k gets center_strength * falloff**k. Lower = quicker release (less dwell), higher = gentler/longer ease.
reference_imagesoptIMAGEKoolook (Ghost Mask): optional reference image(s) / character sheet to anchor identity (face, mouth shape) the way a WAN VACE reference does. Each image is added as a guide frame just past the clean timeline, so the model attends to it for identity but it never appears in the output. It rides the SAME guide path as your keyframes — LTXDirectorGuide appends it and LTXDirectorCropGuides removes it, so no extra wiring and the audio stays in sync. No LoRA required. Lower reference_strength if the reference suppresses motion.
reference_strengthoptFLOAT1.000–5Guide strength for the reference image(s). 1.0 = full identity pull; lower it if the references bleed pose or lighting into the video.

Outputs (10)

NameTypeDescription
modelMODEL
positiveCONDITIONING
video_latentLATENTAuto-generated LTXV empty latent (only populated when no latent is connected).
audio_latentLATENTAuto-generated audio latent (uses custom audio if enabled).
guide_dataGUIDE_DATA
motion_guide_dataMOTION_GUIDE_DATA
frame_rateFLOATThe frame rate used for the timeline.
combined_audioAUDIOCombined timeline audio layout.
clean_latent_framesINTLatent frame count of the clean video region (excludes any appended reference frames). Wire to 'Clean Latent Slice (Koolook)' length with start=0 to drop the refs.
clean_pixel_framesINTPixel frame count of the clean video region.