Nodes/ComfyUI-JoyLTX25/JoyLTX Multishot Sampler (LTX-2.5, AV-extend joins)
ComfyUI Node

JoyLTX Multishot Sampler (LTX-2.5, AV-extend joins)

Runs the LTX-2.5 two-pass pipeline once per shot and joins the shots with an AV-extend (previous tail pinned as raw latents), so a take can be as long as you like and a cut keeps the voice.

By jlucasmcrell·Created 6 days ago·Updated 3 days ago· 1
JoyLTX Multishot Sampler (LTX-2.5, AV-extend joins)
  • model
  • clip
  • video_vae
  • audio_vae
  • upscale_model
  • start_image
  • shot_images
  • end_images
  • ref_images
  • images
  • audio
  • info
prompts
negativepc game, console game, video game, cartoon, childish, ugly
width960
height544
frames_per_shot193
shot_count0
joincontinue (AV extend: seamless take)
overlap3
seed553010
seed_per_shottrue
sampler_nameeuler_ancestral
sigmas_pass11.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0
two_passtrue
sigmas_pass20.85, 0.7250, 0.4219, 0.0
video_cfg1.00
audio_cfg1.00
frame_rate24
save_every_shotfalse
identity_refcuts only: frame from shot 1
identity_strength0.60
image_strength1.00
keyframe_strength0.80
ref_mask
ref_strength0.85
CategoryJoyLTX

Inputs (33)

NameTypeDefaultDescription
modelMODEL
clipCLIP
video_vaeVAE
audio_vaeVAE
promptsSTRINGThe writer's shot prompts: {"prompts": [...]} JSON or blocks separated by --- (wire the writer here, or paste your own).
negativeSTRINGpc game, console game, video game, cartoon, childish, ugly
widthINT960256–1920
heightINT544256–1920
frames_per_shotINT19325–14418n+1 frames per shot at 24 fps (193 = 8 s).
shot_countINT00–640 = every prompt the writer produced; N = the first N.
joinCOMBOcontinue (AV extend: seamless take)3 options: continue (AV extend: seamless take), cut (voice extends, new picture), fresh (independent shots)
overlapINT31–12Latent frames of the previous shot pinned at the head of the next one (3 = 17 pixel frames = 0.7 s). More = smoother join, less new content per shot.
seedINT5530100–18446744073709550000
seed_per_shotBOOLEANtrue
sampler_nameCOMBOeuler_ancestral44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
sigmas_pass1STRING1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0distilled 8-step schedule
two_passBOOLEANtrueUpscale each shot with the latent upsampler and refine (needs upscale_model).
sigmas_pass2STRING0.85, 0.7250, 0.4219, 0.0
video_cfgFLOAT1.000–20
audio_cfgFLOAT1.000–20
frame_rateFLOAT2412–60
save_every_shotBOOLEANfalseAlso write each shot (untrimmed) as output/video/LTX_SHOTS/shot_*.mp4
identity_refCOMBOcuts only: frame from shot 1Keep the SAME people across shots without reference images: a frame of shot 1 (or the previous shot's last frame) is attached to every later shot as an in-context keyframe reference (LTX-2.5 AddGuide, appended tokens, cropped after sampling). 'cuts only' = cut/fresh modes; 'all shots' = also in continue mode (anchors the look to shot 1, which also fights slow texture drift on long takes).
identity_strengthFLOAT0.600–1How hard the reference pulls (attention weight of the appended keyframe). 0.4-0.7: same face/clothes/room, free composition; 1.0: near first-frame copy.
upscale_modeloptLATENT_UPSCALE_MODEL
start_imageoptIMAGEFirst frame of shot 1 (image-to-video).
shot_imagesoptIMAGEOne image per shot (batch); used as the first frame of each shot in cut/fresh mode (identity carry from your reference plates).
image_strengthoptFLOAT1.000–1
end_imagesoptIMAGEOne image per shot = keyframe at that shot's LAST frame (first->last-frame shots when combined with shot_images / identity).
keyframe_strengthoptFLOAT0.800–1How hard the end keyframes pull.
ref_imagesoptIMAGEOne REFERENCE PHOTO per shot (from JoyLTX Refs by Name, or any batch): attached to that shot as an in-context keyframe at frame 0 (appended tokens, cropped after pass 1) so the person in the photo is the person in the shot. Replaces the frame-of-shot-1 identity for shots that have a photo.
ref_maskoptSTRINGComma list, one token per shot from Refs by Name: the CHARACTER NAME of that shot ('-' = none). With names, the sampler locks each character to their own first rendered frame (visual lock) and their own audio tail (voice lock) in later shots. 1/0 also accepted (photo / no photo).
ref_strengthoptFLOAT0.850–1How hard a reference photo pulls (measured on one seed, 0.5/0.75/0.9/1.0). Below ~0.75 you get the hair and the clothes but a different face; 0.85-0.9 carries the face and the small things like glasses; 1.0 drags the photo's own room into the shot. Note the photograph does NOT carry age - the prompt has to say it.

Outputs (3)

NameTypeDescription
imagesIMAGE
audioAUDIO
infoSTRING