Nodes/Joy-LTX 2.5 (JoyAI-Echo x LTX-2.5)/JoyLTX Retake (redo part of a clip)
ComfyUI Node

JoyLTX Retake (redo part of a clip)

Redo a moment of a finished clip without touching the rest

By jlucasmcrell·Created 27 days ago·Updated 24 days ago· 2
JoyLTX Retake (redo part of a clip)
  • model
  • clip
  • video_vae
  • audio_vae
  • images
  • audio
  • images
  • audio
  • info
prompt
negativepc game, console game, video game, cartoon, childish, ugly
start_seconds0.0
end_seconds3.0
modevideo + audio (redo the moment)
seed0
sampler_nameeuler_ancestral
sigmas1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0
video_cfg1.00
audio_cfg1.00
frame_rate24

You rendered an 8-second take, the actor did everything right, and then the line at second five came out wrong. Regenerating the whole clip risks ruining the parts that were perfect. JoyLTX Retake exists so you don't have to: feed it the finished clip's frames and audio, pick a time window, write a prompt for just that moment, and only the window is regenerated. Everything outside stays frozen as raw latents. It's the temporal equivalent of inpainting, and it's the pack's answer to "redo the one bad stretch" without a full re-roll.

The required inputs are the pieces of the finished clip - images (frames in order), audio (from the same take), plus the usual model, clip, video_vae, audio_vae. Then the interesting trio: prompt (write it as a shot prompt; the model only sees this text plus the frozen material either side), start_seconds and end_seconds (the window, snapped to the latent grid - 8 frames, 1/3 s at 24 fps). The tooltip on end_seconds is worth quoting: a window under about a second has too little room to differ from what's already there. Give the moment room.

mode is where the value is, because audio and video are independent branches and you can redo just one:

  • video + audio redoes the moment completely.
  • video only keeps the performance - voice, timing, room tone untouched - and changes what the camera sees. It still cuts together.
  • audio only keeps the picture and changes the line. Known limit, stated honestly in the source: the voice inside the window gets re-rolled from the prompt, so it can come back as a different speaker. Describe the voice precisely and reroll seeds until it matches; a voice-carry lever is future work. Also keep the new line close in length to the old, because lip movement is whatever was rendered.

The mechanics are the inverse of the multishot join. The AV-extend in Multishot pins a head and paints the rest; Retake pins everything except the window. The clip is encoded to audio+video latents, a noise mask marks 1 where the sampler may paint and 0 where it's frozen to what's already in the latent, and a single denoising pass over the window runs on the distilled 8-step schedule (sigmas default 1.0, 0.99375, ...). Outputs are images, audio, and an info string that logs what happened and how long it took.

Gotchas, grounded: end_seconds must be after start_seconds or it errors. The defaults (0 to 3 seconds) are a sane starting window. And because the model sees only your prompt plus the frozen frames either side, continuity is free - the window inherits the established room, lighting and voice from the frozen material. It ships with the JoyLTX25 pack; there's a JoyLTX25_Retake_TEST.json workflow in the repo so you can see the wiring before you rebuild it yourself.

CategoryJoyLTX

Inputs (17)

NameTypeDefaultDescription
modelMODEL
clipCLIP
video_vaeVAE
audio_vaeVAE
imagesIMAGEThe finished clip's frames, in order.
audioAUDIOThat clip's audio. Must be the same take as the frames.
promptSTRINGWhat should happen in the window. Write it as a shot prompt - the model only sees this text plus the frozen material either side.
negativeSTRINGpc game, console game, video game, cartoon, childish, ugly
start_secondsFLOAT0.00–600Where the retake starts. Snapped down to the latent grid (8 frames, 1/3 s at 24 fps).
end_secondsFLOAT3.00.1–600Where it ends. Snapped up to the grid. A window under about a second has too little room to differ from what is already there.
modeCOMBOvideo + audio (redo the moment)3 options: video + audio (redo the moment), video only (keep the performance), audio only (keep the picture)
seedINT00–18446744073709550000
sampler_nameCOMBOeuler_ancestral44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
sigmasSTRING1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0distilled 8-step schedule
video_cfgFLOAT1.000–20
audio_cfgFLOAT1.000–20
frame_rateFLOAT2412–60

Outputs (3)

NameTypeDescription
imagesIMAGE
audioAUDIO
infoSTRING