Nodes/Muse Collective LTX Timeline/Muse Collective LTX Timeline V1
ComfyUI Node

Muse Collective LTX Timeline V1

The LTX 2.3 Director That Turned Long-Form Video Into One Node

By muse-collective-26·Created 3 months ago·Updated 2 months ago· 9
Muse Collective LTX Timeline V1
  • model
  • clip
  • audio_vae
  • vae
  • spatial_upscaler
  • bg_audio
  • base_model
  • last_chunk_frames
  • audio
  • stage1_frames
◄start_second0.00►
◄end_second10.00►
◄duration_seconds10.00►
◄start_frame0►
◄end_frame240►
◄duration_frames240►
◄timeline_data{}►
◄local_prompts►
◄segment_lengths►
◄global_prompt►
◄guide_strength►
◄epsilon0.0010►
◄frame_rate24.00►
◄display_modeseconds►
◄custom_width960►
◄custom_height544►
◄resize_methodmaintain aspect ratio►
◄divisible_by32►
◄img_compression18►
◄generate_audiotrue►
◄custom_audio_onfalse►
◄lipsynctrue►
◄motion_guide_ontrue►
◄chunk_duration_seconds10.0►
◄auto_chunk_threshold10.0►
◄carry_frames73►
◄carry_strength1.00►
◄crossfade_frames0►
◄ic_lora_nameNone►
◄ic_lora_strength1.00►
◄stage1_steps8►
◄stage2_steps4►
◄stage2_denoise0.42►
◄cfg1.0►
◄seed42►
◄filename_prefixmuse►
◄bg_volume1.00►
◄guide_scale_by0.50►
◄guide_scale_by_s21.00►
◄guide_upscale_methodbicubic►
◄guide_image_attn_strength1.00►
◄guide_cropcenter►
◄guide_auto_snap_ic_gridtrue►
◄guide_use_tiled_encodefalse►
◄guide_tile_size256►
◄guide_tile_overlap64►
◄timeline_ui►

The problem with LTX 2.3 is the exact opposite of the problem with Wan: it's fast enough that you want ninety seconds of it, and then you discover the hard way that a single generation only goes so long. MuseDirectorSamplerV1 is Muse Collective's answer - a full "director" node that wraps LTX 2.3's entire pipeline - timeline, chunking, per-segment prompts, lipsync, and layered audio - into one widget with a built-in visual editor. It's the node everything else in this pack forks from.

The lineage matters here. This is a from-scratch, standalone reimplementation of the LTX Director approach that WhatDreamsCost made famous (that node's 2.0 release was one of the bigger r/StableDiffusion hits of mid-2026). Muse's version drops the WhatDreamsCost dependency entirely. Same idea, own code, MIT-licensed.

How it works

Think of it as a mini non-linear editor feeding a chunked sampler. You get a visual timeline with four tracks: MAIN (image/video segments that act as reference frames), AUDIO (speech or music for custom audio), BG AUDIO (background ambience mixed under everything), and MOTION (reference video segments for IC-LoRA motion guidance). You drag assets in, set a global prompt plus per-segment prompts, and the node handles the rest.

Under the hood it's the same reference-frame latent extension as the V7 sampler: each chunk carries the last carry_frames frames (73 ≈ 3s at 24fps) of the previous chunk into the next as locked reference, generates the new region in a single pass, then runs the two-stage LTX flow - Stage 1 drafts at half resolution, the spatial upscaler refines. Per-segment prompts use LTX's temporal attention masking (PromptRelay), and there's automatic color matching between chunks.

Prompts use the pack's uppercase tag convention:

A woman sits at a podcast desk, talking confidently to camera.
[SPEECH] Right, I'm going to tell you something most people in this space won't admit.
[SOUNDS] Quiet studio, soft air conditioning hum, distant city traffic

[SPEECH] drives lipsync, [SOUNDS] drives generated ambient audio. The tags must be uppercase - lowercase gets ignored.

Inputs that matter

The widget list is enormous, but here's the short version:

  • Audio toggles - generate_audio (ambience from [SOUNDS]), custom_audio_on (play a file from the AUDIO track), lipsync (requires Custom Audio ON and the talking-head LoRA on the model input).
  • base_model (optional) - wire a LoRA-free UNETLoader output here so the ambient pass generates sound instead of speech-influenced mush.
  • chunk_duration_seconds (10), carry_frames (73), carry_strength (1.0) - chunking and continuity.
  • stage1_steps / stage2_steps / stage2_denoise - 8 / 4 / 0.42 is the recommended baseline. cfg stays at 1 (distilled flow-matching; CFG 7 is an SDXL habit to unlearn).

Outputs: last_chunk_frames, audio, and stage1_frames (the pre-upscale draft for debugging).

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/muse-collective-26/muse-ltx-timeline

Restart, then install the pack's Python deps and VideoHelperSuite:

pip install av torchaudio soundfile

This is an LTX 2.3 node, so it wants the whole 2.3 stack: the 22B distilled transformer (mxfp8 block32), audio + video VAEs, the Gemma 3 12B fp4 text encoder, the spatial upscaler in models/latent_upscale_models/, and - if you want lipsync - the talking-head LoRA in models/loras/LTX2.3/. That's a lot of downloads, and none of it is optional.

Gotchas

  • It's a big node on big hardware. 22B transformer plus Gemma 3 means you want serious VRAM and 64GB of system RAM realistically. Community reports put 2.3 at ~8-16GB workable with quants, but don't expect a 12GB card to fly.
  • The timeline is managed by the node's JS - if the timeline UI doesn't show, check the browser console; it's a known class of issue with these director nodes.
  • V1 has no Seed Hunt. If you want the seed-scouting workflow, that's V2 in the same pack.

The verdict: if you're serious about LTX long-form - talking-head content, podcasts, music videos - this family of nodes is the most capable route that doesn't involve wiring a hundred nodes by hand. Start with V1, and know that V2's Seed Hunt is the one upgrade most people actually use.

CategoryMuse Collective

Inputs (54)

NameTypeDefaultDescription
modelMODEL—
clipCLIP—
audio_vaeVAE—
vaeVAE—
spatial_upscalerLATENT_UPSCALE_MODEL—
start_secondFLOAT0.000–3600—
end_secondFLOAT10.000–3600—
duration_secondsFLOAT10.000–3600—
start_frameINT00–86400—
end_frameINT2400–86400—
duration_framesINT2401–86400—
timeline_dataSTRING{}—
local_promptsSTRING—
segment_lengthsSTRING—
global_promptSTRING—
guide_strengthSTRING—
epsilonFLOAT0.00100–1—
frame_rateFLOAT24.001–120—
display_modeCOMBOseconds2 options: seconds, frames
custom_widthINT96064–4096—
custom_heightINT54464–4096—
resize_methodCOMBOmaintain aspect ratio4 options: maintain aspect ratio, stretch to fit, crop, pad
divisible_byINT321–256—
img_compressionINT180–51—
generate_audioBOOLEANtrueLTX generates ambient/sfx audio from [SOUNDS] prompts.
custom_audio_onBOOLEANfalseUse audio file(s) from the AUDIO timeline track.
lipsyncBOOLEANtrueSync mouth movements to custom audio. Requires Custom Audio ON and talking head LoRA.
motion_guide_onBOOLEANtrueUse motion guide segments from the timeline.
chunk_duration_secondsFLOAT10.02–120—
auto_chunk_thresholdFLOAT10.00–3600—
carry_framesINT731–240Reference frames from previous chunk locked at chunk start. 73 ≈ 3s at 24fps.
carry_strengthFLOAT1.000–1—
crossfade_framesINT00–120—
ic_lora_nameCOMBONone1 options: None
ic_lora_strengthFLOAT1.00-10–10—
stage1_stepsINT81–50—
stage2_stepsINT41–50—
stage2_denoiseFLOAT0.420–1—
cfgFLOAT1.00–20—
seedINT420–18446744073709550000—
filename_prefixSTRINGmuse—
bg_volumeFLOAT1.000–2—
guide_scale_byFLOAT0.500.01–8—
guide_scale_by_s2FLOAT1.000.01–8—
guide_upscale_methodCOMBObicubic5 options: bicubic, bilinear, nearest-exact, area, bislerp
guide_image_attn_strengthFLOAT1.000–1—
guide_cropCOMBOcenter2 options: center, disabled
guide_auto_snap_ic_gridBOOLEANtrue—
guide_use_tiled_encodeBOOLEANfalse—
guide_tile_sizeINT25664–512—
guide_tile_overlapINT6416–256—
timeline_uiSTRING—
bg_audiooptAUDIO—
base_modeloptMODELBase model without talking-head LoRA. Connect the UNETLoader output directly here so the ambient audio pass generates sounds without speech.

Outputs (3)

NameTypeDescription
last_chunk_framesIMAGE—
audioAUDIO—
stage1_framesIMAGE—