Nodes/Muse Collective LTX Timeline/Muse Collective LTX Timeline V6 (V2.5 + Ghost Mask)
ComfyUI Node

Muse Collective LTX Timeline V6 (V2.5 + Ghost Mask)

Ghost Mask With Actual Photo Sockets

By muse-collective-26·Created 3 months ago·Updated 2 months ago· 9
Muse Collective LTX Timeline V6 (V2.5 + Ghost Mask)
  • model
  • clip
  • audio_vae
  • vae
  • spatial_upscaler
  • bg_audio
  • base_model
  • char_images_1
  • char_images_2
  • char_images_3
  • ref_images
  • last_chunk_frames
  • audio
  • stage1_frames
  • seed_hunt_preview_1
  • seed_hunt_preview_2
  • seed_hunt_preview_3
  • seed_hunt_preview_4
  • seed_hunt_audio_1
  • seed_hunt_audio_2
  • seed_hunt_audio_3
  • seed_hunt_audio_4
  • reference_image
◄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►
◄seed_huntfalse►
◄seed_hunt_steps6►
◄seed_hunt_scale0.25►
◄seed_hunt_11►
◄seed_hunt_22►
◄seed_hunt_33►
◄seed_hunt_44►
◄use_seed_hunt_1false►
◄use_seed_hunt_2false►
◄use_seed_hunt_3false►
◄use_seed_hunt_4false►
◄segment_override_1►
◄segment_override_2►
◄segment_override_3►
◄segment_override_4►
◄reference_modeOFF►
◄reference_strength1.00►

V4 introduced Ghost Mask but drove it off text descriptions. V6 is the version that says "no, give me the actual photos" - it's V2.5 with CGlide's Ghost Mask character-reference guide ported in, where character reference images come in as real IMAGE sockets on the node. Same hidden-tail latent trick, but the references are graph inputs you can wire from a Load Image node instead of descriptions you type.

That makes V6 the practical pick for most people who want character-consistency without the whole Face ID tuning stack. It's V2.5 (so you keep Seed Hunt and the segment overrides), plus a character-reference system that's easy to understand: wire photos in, they guide every chunk.

How Ghost Mask works here

From the tooltip: when reference_mode is Ghost Mask (End), the node appends char_images_1..3 and ref_images as hidden guide frames past the end of the clip, then crops them off. The sampler attends to them as references, but they never appear in the visible output. It's reapplied every chunk, so the character anchor holds for the whole timeline, not just the opening.

The inputs:

  • reference_mode - OFF or Ghost Mask (End). Off = pure V2.5 behavior.
  • char_images_1 - character 1's reference image(s); a single image or a batch (multiple angles). This is the "give me several angles of the same character" slot.
  • char_images_2 / char_images_3 - optional characters 2 and 3.
  • ref_images - extra references, e.g. a prop or object, appended after the character slots.
  • reference_strength - guide strength applied to the character/ref images (0–5, default 1). Push for stronger identity-lock, ease off if the character looks rigid.

Because it's V2.5 underneath, you also get segment_override_1..4 for LLM-driven prompts, Seed Hunt, the timeline editor, [SPEECH]/[SOUNDS] tags, chunking, and the full output set (last_chunk_frames, audio, stage1_frames, seed-hunt previews, reference_image).

How it differs from V4

  • V6 takes image sockets; V4 works off char1_description text and timeline content. If your reference material is photos on disk, V6 is dramatically more direct.
  • V6 doesn't carry V3's Face ID cluster. It's Ghost Mask + the V2.5 base. If you want Face ID and Ghost Mask together, that's V4 (or V10).
  • The character references are all-or-nothing per mode - no partial enable.

Installing it

Standard pack install:

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

Restart, pip install av torchaudio soundfile, LTX 2.3 stack. No extra dependencies for the Ghost Mask feature itself.

Gotchas

  • Batch inputs are the hidden power here - multiple angles of one character in char_images_1 beats a single stiff portrait almost every time.
  • References are ignored when reference_mode is OFF; if you wire photos and see nothing change, the mode toggle is your first suspect.
  • WIP module, try/except-loaded - silent-skip if a dependency fails.

If your goal is "same two characters in every chunk of a long timeline" with the least knob-twiddling, V6 is probably the Muse director you actually want. Wire the photos, set the strength, let the hidden tail do its job.

CategoryMuse Collective

Inputs (75)

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—
seed_huntBOOLEANfalseON + no candidate chosen: run a 4-seed Stage-1-resolution preview instead of the full pipeline. ON + one use_seed_hunt_N chosen: commit to that candidate — Stage 2 refines its actual cached latent instead of regenerating Stage 1 from scratch.
seed_hunt_stepsINT61–50—
seed_hunt_scaleFLOAT0.250.05–1Unused as of 1.0.4 — Seed Hunt now scouts at Stage 1's real resolution automatically (so the picked candidate's actual latent can carry forward into Stage 2). Kept as a widget only so older saved workflows still load correctly.
seed_hunt_1INT10–18446744073709550000Unused as of 1.0.4 — scouting now draws a fresh random seed for each candidate every run instead of reusing these fixed values (the actual latent carries forward on commit, so the seed number no longer needs to be fixed or reproducible).
seed_hunt_2INT20–18446744073709550000—
seed_hunt_3INT30–18446744073709550000—
seed_hunt_4INT40–18446744073709550000—
use_seed_hunt_1BOOLEANfalse—
use_seed_hunt_2BOOLEANfalse—
use_seed_hunt_3BOOLEANfalse—
use_seed_hunt_4BOOLEANfalse—
bg_audiooptAUDIO—
base_modeloptMODELBase model without talking-head LoRA. Connect the UNETLoader output directly here so the ambient audio pass generates sounds without speech.
segment_override_1optSTRINGOverrides segment 0's prompt text if connected and non-empty.
segment_override_2optSTRINGOverrides segment 1's prompt text if connected and non-empty.
segment_override_3optSTRINGOverrides segment 2's prompt text if connected and non-empty.
segment_override_4optSTRINGOverrides segment 3's prompt text if connected and non-empty.
reference_modeoptCOMBOOFFOFF: no character-reference guide. Ghost Mask (End): appends char_images_1..3/ref_images as hidden guide frames past the end of the clip, then crops them off.
char_images_1optIMAGECharacter 1 reference image(s) — a single image or a batch (e.g. multiple angles). Ignored when reference_mode is OFF.
char_images_2optIMAGECharacter 2 reference image(s) (optional).
char_images_3optIMAGECharacter 3 reference image(s) (optional).
ref_imagesoptIMAGEExtra reference image(s) (e.g. an object) — a single image or a batch. Appended after the character slots.
reference_strengthoptFLOAT1.000–5Guide strength applied to the character/ref reference images.

Outputs (12)

NameTypeDescription
last_chunk_framesIMAGE—
audioAUDIO—
stage1_framesIMAGE—
seed_hunt_preview_1IMAGE—
seed_hunt_preview_2IMAGE—
seed_hunt_preview_3IMAGE—
seed_hunt_preview_4IMAGE—
seed_hunt_audio_1AUDIO—
seed_hunt_audio_2AUDIO—
seed_hunt_audio_3AUDIO—
seed_hunt_audio_4AUDIO—
reference_imageIMAGE—