Licon MSR
Multi-character video without the training run
- 1
- 2
- 3
- 4
- background
- output
Want two or three characters in one LTX 2.3 video without training a LoRA for any of them? That's what MSR (Multiple-Subject-Reference) is for, and Licon MSR is the unglamorous but genuinely useful glue: it takes up to four subject images plus one background and turns them into a fixed-length reference frame sequence that LTX's 2.3 MSR LoRA reads as conditioning.
The name makes it sound like a generator. It isn't - it doesn't call any API, needs no key, and does zero generation itself. It's a compositor. It puts your character sheets and background onto a canvas, expands them into a frame sequence sized for LTX's temporal VAE, and hands you an IMAGE you feed into the reference slot of your MSR workflow. The one node that makes the whole "characters stay consistent, no training" trick work - and it's also the part people most often get wrong.
How it works
Subjects get processed in a fixed order: 1 → 2 → 3 → 4 → background. Disconnected subject inputs are skipped; background is always required and always lands last.
The compositing logic is sensible and worth knowing because it explains the white bars you'll see. Subject images are fitted proportionally without cropping and centered on a white canvas, so a square character sheet on a portrait canvas gets white letterboxing - that's by design, not a bug. The background is the opposite: it's scaled to fully cover the canvas and center-cropped, so it always fills the frame edge to edge.
Then the clever part, and the real reason this node exists: it doesn't just stretch a few stills across your video. LTX 2.3's VAE compresses time by 8x, so the reference sequence has to be structured in latent terms, not pixel terms. The node allocates each subject a slice of the latent timeline, then back-maps those latent indices to actual pixel frames so every reference gets a meaningful presence in the conditioning. That's why the frame_count dropdown only offers 17, 25, 33, 41, 49, 57, and 65 - every single one is k*8 + 1, the LTX 2.3 constraint that frame counts must be divisible by 8 plus 1.
The inputs that matter
You mostly set three things:
width/height- the reference canvas size. Defaults to 736×1280, a portrait-friendly setup matching LTX 2.3's portrait-native era. Step is 32 because LTX resolutions must be divisible by 32; off-grid values will bite you later.frame_count- how long the reference sequence is (default 41). More frames = more conditioning room for your subjects, but the sample workflow ships with 65.1–4andbackground- the IMAGE inputs. Up to four subjects, one required background.
The single output is output, an IMAGE tensor - a stacked batch of frames, not a video. In the pack's sample workflows it feeds straight into the LTX guide/reference node (e.g. LTXVAddGuideMulti / LTXVCropGuides from the LTX workflow pack), which VAE-encodes it into the reference latents the MSR LoRA conditions on.
Installing it
Easiest via ComfyUI Manager: search ComfyUI-Licon-MSR. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/liconstudio/ComfyUI-Licon-MSR
pip install -r ComfyUI-Licon-MSR/requirements.txt
The only dependency is opencv-python, used for high-quality resizing (area interpolation on downscale, Lanczos on upscale), with a pure-torch fallback if cv2 isn't present. Restart ComfyUI after installing.
Where people get burned
- The
Value not in listerror onframe_count. A real bug on newer ComfyUI frontends, now fixed - the dropdown is serialized as strings and converted back to ints. If you still hit it, update the pack. - Expecting the node to fix identity drift. It won't. Licon MSR just assembles frames; whether the face matches is up to the MSR LoRA and your sampler settings. Community reports on MSR workflows are consistent: clothing and colors stick, faces drift, and the fixes people land on are higher frame rates (50 fps, not 24) to fight temporal-compression artifacts and seed hunting over prompt tweaking. Blame the LoRA and settings, not the compositor - it's doing exactly what it says.
- Mismatched aspect ratios. Expect white bars around subjects or aggressive background cropping. If you want clean output, feed subject images close to your canvas ratio so the fit is tight.
Thin utility node, thin install. It won't make your characters look like themselves by magic, but it removes the fiddliest part of the multi-reference setup - and that's more than the MSR hype videos let on.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 73632–8192 | — |
| height | INT | 128032–8192 | — |
| frame_count | COMBO | 41 | 7 options: 17, 25, 33, 41, 49, 57, +1 |
| 1opt | IMAGE | — | |
| 2opt | IMAGE | — | |
| 3opt | IMAGE | — | |
| 4opt | IMAGE | — | |
| backgroundopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | IMAGE | — |