Muse Collective LTX Timeline V5 (MSR)
Subject Reference Video, Composited Into the Timeline
- model
- clip
- audio_vae
- vae
- spatial_upscaler
- bg_audio
- base_model
- msr_subject_1
- msr_subject_2
- msr_subject_3
- msr_subject_4
- msr_background
- 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
V5 is the MSR version - and MSR stands for Licon's Multi-Subject Reference, one of the LTX 2.3 IC-LoRA tricks that lets a short reference video define who's in the shot and what the camera does. Where V3/V4 lock identity through face or character references, V5 lets you hand the director an actual subject video plus a background video and have it composite them into a guide that steers the whole generation. It's the node you reach for when "reference image" isn't enough and you want motion, angles, and layout carried over.
MSR lives in the LTX 2.3 ecosystem as a family of IC-LoRAs (the LTX-2.3-Licon-MSR-V2.safetensors type files), and the community has been running them at surprisingly low VRAM - there are reports of it working on an 8GB card with the right quants. V5 wires that capability into the Muse director's timeline machinery.
How it works
MSR is driven by a composited reference - your subject clips laid over a background - that gets applied as an IC-LoRA guide. The optional inputs make that explicit:
msr_subject_1…msr_subject_4- subject reference images/clips (up to four).msr_background- the background reference. Required for MSR to activate. The tooltip is blunt: wiring only subject images does nothing. This is the number-one mistake.msr_frame_count- how long the composited reference runs (17–65 frames, default 41).msr_strength- how strongly the composited reference is applied as an IC-LoRA guide (0–1, default 1).
The critical wiring detail: you must set ic_lora_name to the MSR LoRA. MSR reuses the director's existing IC-LoRA loading path - it doesn't load its own LoRA. No MSR LoRA selected, no MSR effect, even with everything else wired.
Since it's built on V2, you keep the full timeline director: Seed Hunt (seed_hunt, use_seed_hunt_1..4), per-segment prompts, [SPEECH]/[SOUNDS] tags, chunking, two-stage sampling, and the standard outputs plus the four seed-hunt preview/audio pairs.
Installing it
Same pack as ever:
cd ComfyUI/custom_nodes
git clone https://github.com/muse-collective-26/muse-ltx-timeline
Restart, pip install av torchaudio soundfile. For the MSR side you need the MSR LoRA file itself in models/loras/ (the README points at the LTX2.3/ subfolder for the talking-head LoRA; drop the MSR LoRA wherever ComfyUI scans for LoRAs) and the LTX 2.3 stack.
Gotchas
- MSR won't turn on without
msr_background. If your output shows no MSR influence at all, check that socket first, thenic_lora_name. - The MSR LoRA is not optional hardware - this is an IC-LoRA feature, and IC-LoRA means model files.
msr_frame_countisn't a free knob: short counts read as a flash of reference, long counts cost latency and can over-anchor the shot. 41 (the default) is a fine starting point.- WIP module again - loaded in a try/except, so a failed dependency silently drops the node from your list.
V5 is niche but potent: it's the Muse answer to "I want this specific subject, in this specific setting, doing motion consistent with a reference." Set up correctly it's one of the strongest identity-holding options in the pack, and the MSR LoRAs are cheap enough that it's worth an afternoon.
Inputs (72)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| audio_vae | VAE | — | |
| vae | VAE | — | |
| spatial_upscaler | LATENT_UPSCALE_MODEL | — | |
| start_second | FLOAT | 0.000–3600 | — |
| end_second | FLOAT | 10.000–3600 | — |
| duration_seconds | FLOAT | 10.000–3600 | — |
| start_frame | INT | 00–86400 | — |
| end_frame | INT | 2400–86400 | — |
| duration_frames | INT | 2401–86400 | — |
| timeline_data | STRING | {} | — |
| local_prompts | STRING | — | |
| segment_lengths | STRING | — | |
| global_prompt | STRING | — | |
| guide_strength | STRING | — | |
| epsilon | FLOAT | 0.00100–1 | — |
| frame_rate | FLOAT | 24.001–120 | — |
| display_mode | COMBO | seconds | 2 options: seconds, frames |
| custom_width | INT | 96064–4096 | — |
| custom_height | INT | 54464–4096 | — |
| resize_method | COMBO | maintain aspect ratio | 4 options: maintain aspect ratio, stretch to fit, crop, pad |
| divisible_by | INT | 321–256 | — |
| img_compression | INT | 180–51 | — |
| generate_audio | BOOLEAN | true | LTX generates ambient/sfx audio from [SOUNDS] prompts. |
| custom_audio_on | BOOLEAN | false | Use audio file(s) from the AUDIO timeline track. |
| lipsync | BOOLEAN | true | Sync mouth movements to custom audio. Requires Custom Audio ON and talking head LoRA. |
| motion_guide_on | BOOLEAN | true | Use motion guide segments from the timeline. |
| chunk_duration_seconds | FLOAT | 10.02–120 | — |
| auto_chunk_threshold | FLOAT | 10.00–3600 | — |
| carry_frames | INT | 731–240 | Reference frames from previous chunk locked at chunk start. 73 ≈ 3s at 24fps. |
| carry_strength | FLOAT | 1.000–1 | — |
| crossfade_frames | INT | 00–120 | — |
| ic_lora_name | COMBO | None | 1 options: None |
| ic_lora_strength | FLOAT | 1.00-10–10 | — |
| stage1_steps | INT | 81–50 | — |
| stage2_steps | INT | 41–50 | — |
| stage2_denoise | FLOAT | 0.420–1 | — |
| cfg | FLOAT | 1.00–20 | — |
| seed | INT | 420–18446744073709550000 | — |
| filename_prefix | STRING | muse | — |
| bg_volume | FLOAT | 1.000–2 | — |
| guide_scale_by | FLOAT | 0.500.01–8 | — |
| guide_scale_by_s2 | FLOAT | 1.000.01–8 | — |
| guide_upscale_method | COMBO | bicubic | 5 options: bicubic, bilinear, nearest-exact, area, bislerp |
| guide_image_attn_strength | FLOAT | 1.000–1 | — |
| guide_crop | COMBO | center | 2 options: center, disabled |
| guide_auto_snap_ic_grid | BOOLEAN | true | — |
| guide_use_tiled_encode | BOOLEAN | false | — |
| guide_tile_size | INT | 25664–512 | — |
| guide_tile_overlap | INT | 6416–256 | — |
| timeline_ui | STRING | — | |
| seed_hunt | BOOLEAN | false | ON + 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_steps | INT | 61–50 | — |
| seed_hunt_scale | FLOAT | 0.250.05–1 | Unused 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_1 | INT | 10–18446744073709550000 | Unused 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_2 | INT | 20–18446744073709550000 | — |
| seed_hunt_3 | INT | 30–18446744073709550000 | — |
| seed_hunt_4 | INT | 40–18446744073709550000 | — |
| use_seed_hunt_1 | BOOLEAN | false | — |
| use_seed_hunt_2 | BOOLEAN | false | — |
| use_seed_hunt_3 | BOOLEAN | false | — |
| use_seed_hunt_4 | BOOLEAN | false | — |
| bg_audioopt | AUDIO | — | |
| base_modelopt | MODEL | Base model without talking-head LoRA. Connect the UNETLoader output directly here so the ambient audio pass generates sounds without speech. | |
| msr_subject_1opt | IMAGE | MSR subject reference 1 (optional). Requires msr_background to be wired for MSR to activate. | |
| msr_subject_2opt | IMAGE | MSR subject reference 2 (optional). | |
| msr_subject_3opt | IMAGE | MSR subject reference 3 (optional). | |
| msr_subject_4opt | IMAGE | MSR subject reference 4 (optional). | |
| msr_backgroundopt | IMAGE | MSR background reference. Required to activate MSR — wiring only subject images does nothing. | |
| msr_frame_countopt | COMBO | 41 | 7 options: 17, 25, 33, 41, 49, 57, +1 |
| msr_strengthopt | FLOAT | 1.000–1 | How strongly the composited MSR reference is applied as an IC-LoRA guide. Requires ic_lora_name set to the MSR LoRA (e.g. LTX-2.3-Licon-MSR-V2.safetensors) — MSR reuses the same IC-LoRA loading Director already has, it does not load its own LoRA. |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| last_chunk_frames | IMAGE | — |
| audio | AUDIO | — |
| stage1_frames | IMAGE | — |
| seed_hunt_preview_1 | IMAGE | — |
| seed_hunt_preview_2 | IMAGE | — |
| seed_hunt_preview_3 | IMAGE | — |
| seed_hunt_preview_4 | IMAGE | — |
| seed_hunt_audio_1 | AUDIO | — |
| seed_hunt_audio_2 | AUDIO | — |
| seed_hunt_audio_3 | AUDIO | — |
| seed_hunt_audio_4 | AUDIO | — |