Video-to-Audio (Foley)
Video-to-Audio (Foley)
The Foley LoRA generates synchronized, music- and speech-free sound effects. Its primary use is video-to-audio: feed a muted clip and a prompt describing the on-screen action, and the model freezes the video and synthesizes a matching foley track, muxed onto the original frames. It also works for text-to-audio foley (prompt only, no video). It’s the video-conditioned counterpart to Text-to-Audio.
Prerequisites
- For video-to-audio: a muted input clip (strip the audio first, the workflow replaces it).
- Base model, Gemma text encoder, and the Foley LoRA (see Model files).
- Custom nodes: ComfyUI-LTXVideo (audio + V2A nodes) and ComfyUI-VideoHelperSuite (
VHS_LoadVideo).
Model files
Download the LoRA from Lightricks/LTX-2.3-22b-LoRA-Foley-V2A on HuggingFace.
Two ways to run it
- Text-to-audio foley — add the Foley LoRA to the standard Text-to-Audio workflow and prompt the sound directly, no video.
- Video-to-audio foley (primary) — use the dedicated Foley V2A workflow, which freezes the input video and generates only the audio.
Video-to-audio step by step
- Load the Foley V2A workflow in ComfyUI.
- In VHS_LoadVideo, pick your muted clip.
- Write the positive prompt in concrete foley language (name the sound sources and their sync), ending with
No speech is present. No music is present.for clean SFX-only output. - Keep the negative prompt (suppresses music and speech).
- If output is near-silent, change the seed and re-run — quiet or delicate scenes (rain, typing, footsteps) are seed-sensitive; take the loudest of a few seeds.
- Queue. The output is the original frames plus generated foley.
How it works
The input video is VAE-encoded and concatenated with an empty audio latent, then LTXVSetAudioVideoMaskByTime freezes the video (mask_video=false) and opens the audio for generation (mask_audio=true). The LoRA targets the audio attention/FFN blocks and video→audio cross-attention, so the model keeps the input video and synthesizes only the audio under MultimodalGuider. The audio is separated, VAE-decoded, and muxed onto the original video frames.
Recommended settings
Prompting — describe the visible action and materials concretely. Example:
Negative prompt:
Tips & troubleshooting
- Near-silent output — raise guidance to 6+, try a new seed (multi-seed, pick the loudest).
- Music or speech bleed — keep the negative prompt and reinforce
No music is present/No speech is presentin the positive prompt. - Weak ambience (rain, fire, typing) — seed-sensitive; multi-seed, and lean on “loud / close-mic / prominent” wording.
- Unsynced SFX — prompt the action you can actually see; mismatched prompts produce plausible but unsynced audio.
- Original audio still present, or static output — mute the input before loading; if the audio comes out static, the freeze masks are inverted (confirm
mask_video=false, mask_audio=true).