ComfyUI Node

LTXV Schedule Sync

The master clock of the Temporal Director

By Jinx138·Created 3 months ago·Updated about a month ago· 21
LTXV Schedule Sync
  • video_latent
  • segment_data
  • segment_lengths_csv
  • local_prompts_clean
  • schedule_info
fps24.00
local_promptssegment 1 action | segment 2 action | segment 3 action
boundary_modeequal
boundary_10.333
boundary_20.667
boundary_30.750
expected_segmentsauto
separator_checkwarn

LTXV Schedule Sync is where every Temporal Director workflow starts. It's the node that reads your video latent, figures out how many visible frames the clip actually has, splits the timeline into up to four segments, and hands the same segment_data blob to every other Director node - the Prompt Relay encoder, each scheduled Time-Gated LoRA, and the preview. One source of truth, no drift between your prompt timing and your LoRA timing. That shared bus is the whole point of the pack, and this is the node that creates it.

It exists because LTX 2.3 is a model where the timing math is fiddly. The latent doesn't hold one frame per visible frame - LTX 2.3 compresses temporally by a factor of 8, so visible frames = (latent frames − 1) × 8 + 1. Schedule Sync resolves that exact relationship from your video_latent and does all the segment arithmetic for you, so you never hand-calculate frame boundaries again.

How it works

Two things happen here: prompt parsing and boundary layout.

Prompt parsing. You type your per-segment prompts into local_prompts, and the node is forgiving about format. Explicit pipe separators are preferred and always win:

The camera holds still | The subject begins to move | The action peaks

If there are no pipes, it recovers missing separators from ordered labels (segment 1:, scene 2:, shot 3:) or from 2–4 blank-line-separated paragraphs. Each normalization is recorded and surfaced on the preview, so repaired prompts stay inspectable rather than silently rewritten. The separator_check toggle controls what happens when parsing is ambiguous: warn keeps running and reports, error stops the run. expected_segments is an optional sanity check that your recovery landed on the count you meant.

Boundary layout. With boundary_mode = equal, detected segments are spread evenly. Switch to custom and the boundary_1/2/3 sliders become normalized timeline cuts - handy when the third segment deserves a quarter of the clip, not a third.

The fields you'll actually touch

  • local_prompts - the segment prompts. Pipes are your friend.
  • boundary_mode + the three boundary sliders - only bother when segments shouldn't be equal.
  • fps - match your workflow (24 is the LTX default; the preview uses it for seconds).
  • video_latent - the same video-only latent you feed every other Director node. Mixing latents here is the classic way to get nonsense boundaries.

Outputs: segment_data is the one that matters - it feeds the Prompt Relay encoder, every Time-Gated LoRA, and the preview. The other three (segment_lengths_csv, local_prompts_clean, schedule_info) are inspection strings for when you're debugging.

Installing and gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/Jinx138/ComfyUI-LTXV-TimeGated-LoRA.git

Then restart ComfyUI and hard-refresh the browser. It also installs via ComfyUI Manager (search "ComfyUI-LTXV-TimeGated-LoRA"). No pip dependencies, nothing to download.

The trap to respect: the Director caps at four segments. Pipe in a fifth and the node raises a clear error telling you to trim to three pipes - or fall back to the pack's classic TimeGate workflow, which doesn't carry this limit. Since LTX 2.3's prompt adherence is still its weakest axis, it's also worth checking the preview before sampling rather than trusting your boundary numbers - see the LTXV Temporal Schedule Preview node for the "look before you burn a render" step.

CategoryLTXV/Temporal Director

Inputs (9)

NameTypeDefaultDescription
video_latentLATENTVideo-only LTX LATENT used to resolve exact visible-frame length. Use the same latent for downstream TimeGate/PromptRelay Scheduled nodes.
fpsFLOAT24.001–240
local_promptsSTRINGsegment 1 action | segment 2 action | segment 3 actionSemantic prompts. Existing | separators are preferred; when absent, ordered segment/scene/shot labels or 2-4 blank-line paragraphs are converted automatically.
boundary_modeCOMBOequalequal: distribute detected segments evenly. custom: use boundary_1..boundary_3 sliders / boundary bar as normalized timeline cuts.
boundary_1FLOAT0.3330.001–0.999
boundary_2FLOAT0.6670.001–0.999
boundary_3FLOAT0.7500.001–0.999
expected_segmentsCOMBOautoOptional segment-count sanity check after automatic separator recovery. Temporal Director supports up to four segments.
separator_checkCOMBOwarnwarn: keep running and report ambiguous parsing. error: stop when recovery or expected segment-count checks fail.

Outputs (4)

NameTypeDescription
segment_dataLTXV_SEGMENT_DATA
segment_lengths_csvSTRING
local_prompts_cleanSTRING
schedule_infoSTRING