Nodes/ComfyUI/LTXV Reference Audio (ID-LoRA)
ComfyUI Node Runs on cloud

LTXV Reference Audio (ID-LoRA)

Clone a voice into your LTX video with LTX Reference Audio (ID-LoRA)

By Comfy-Org·Created 4 years ago·Updated about 21 hours ago· 130,663
LTXV Reference Audio (ID-LoRA)
  • model
  • positive
  • negative
  • reference_audio
  • audio_vae
  • MODEL
  • positive
  • negative
identity_guidance_scale3.00
start_percent0.000
end_percent1.000

This is the node behind the "LTX copied this person's voice scarily well" clips people keep posting. LTX 2.x can generate synchronized audio with its video, and with an ID-LoRA on the model it can also carry a specific speaker's voice. LTXVReferenceAudio is how you point that machinery at a voice: you give it a reference clip, it encodes the clip's identity into the conditioning, and optionally patches the model to lean harder on that identity during sampling.

Mechanically it does two things. First, it encodes your reference_audio through the audio_vae (the LTX audio VAE), resampling to the VAE's native rate if needed, then reshapes the latents into ref_audio tokens and stamps them onto both your positive and negative conditioning - the model gets the voice as part of what it's generating. Second, it clones your model and installs an identity-guidance hook: if identity_guidance_scale is above 0, each sampling step runs an extra forward pass without the reference and steers toward it, amplifying the speaker identity. That extra pass is the price - it roughly doubles the per-step cost of sampling, which is why the tooltip nudges you to keep the scale modest.

The inputs that matter: reference_audio (aim for about 5 seconds, the training duration - shorter or longer clips blur the identity), audio_vae, and identity_guidance_scale (default 3; set to 0 and the node becomes a pure reference-encode, no extra pass, faster but weaker identity). start_percent and end_percent are advanced - they bound the sigma range where identity guidance applies, useful if you only want the voice locked in during the later refinement stages rather than fighting the initial structure.

Outputs are the patched MODEL, plus positive and negative conditioning. Wire the model output back into the KSampler's model slot and the conditioning where conditioning goes - the whole sampler chain after this node should use the returned model, not the original one.

It's core (comfy_extras/nodes_lt.py), recent, no install. You need an LTX 2.x model with the ID-LoRA loaded (the "ID-LoRA" in the display name refers to Lightricks' identity-LoRA workflow, which this node supports), plus the LTX audio VAE and the audio-loading nodes that produce the AUDIO input.

Where people actually get stuck: passing a voice sample that's too long and watching identity smear across different speakers, or cranking identity_guidance_scale to 10 "for more likeness" and getting artifacts plus double-time sampling. And the classic - forgetting to feed the returned model back into the sampler, so the identity guidance hook never runs and the reference does nothing. If the voice sounds generic, that's the first thing to check.

Categorymodel/conditioning/ltxv

Inputs (8)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
reference_audioAUDIOReference audio clip whose speaker identity to transfer. ~5 seconds recommended (training duration). Shorter or longer clips may degrade voice identity transfer.
audio_vaeVAELTXV Audio VAE for encoding.
identity_guidance_scaleFLOAT3.000–100Strength of identity guidance. Runs an extra forward pass without reference each step to amplify speaker identity. Set to 0 to disable (no extra pass).
start_percentFLOAT0.0000–1Start of the sigma range where identity guidance is active.
end_percentFLOAT1.0000–1End of the sigma range where identity guidance is active.

Outputs (3)

NameTypeDescription
MODELMODEL
positiveCONDITIONING
negativeCONDITIONING