ComfyUI Node

Painter V2AV

Wan 2.2 makes beautiful silent video — Painter V2AV gives it sound

By princepainter·Created 7 months ago·Updated 5 days ago· 194
Painter V2AV
  • video_vae
  • audio_vae
  • image
  • video
  • audio_latent
  • video_latent
width1920
height1088
frames_number101
frame_rate24.0
strength0.60
batch_size1

The whole local-video world is mute. Wan 2.2 outputs video with no audio track at all, and even the "new king" editing models like Bernini ship without sound - that's a running joke in the community. LTX-2.3 from Lightricks, on the other hand, can generate synchronized audio alongside video. PainterV2AV is the bridge between the two: it takes a silent Wan 2.2 clip plus a reference still and hands back the two latents LTX needs to denoise a version with sound baked in. The author's pitch - Wan's motion, LTX's sound, "音画同出" (picture and audio out together) - isn't hype; it's a genuinely neat division of labor, and it's fast.

How it works

Under the hood it's a small latent-prep node. It VAE-encodes your silent video (resized to width×height), then VAE-encodes the reference image and splices that encoding into the first frames of the video latent. A noise_mask pins those first frames at 1.0 - strength, so with the default strength of 0.6 the head of the clip is held close to your reference while the rest denoises freely. Then it allocates an empty audio latent, sized from frames_number and frame_rate using the audio VAE's own latent bins. That empty audio latent is the blank canvas the LTX sampler fills with sound.

The outputs are audio_latent and video_latent. In the shipped wan2.2+ltx2.3 workflow they flow into ComfyUI's LTX nodes: LTXVConcatAVLatentLTXVConditioning → the LTX2_NAG sampler → LTXVSeparateAVLatentLTXVAudioVAEDecode for the audio and VAEDecode for the video, then a combine node puts the track on the clip.

Inputs worth touching

  • strength (default 0.6) - how strongly the reference image holds the first frames. Crank it toward 1 if the clip starts drifting away from your still.
  • frames_number (101) and frame_rate (24) - together these set the final clip length (101 @ 24 fps ≈ 4 seconds).
  • width / height - default 1920×1088, which is LTX-2.3-friendly but a lot of pixels. Drop to 1280×720 if your VRAM glares at you.
  • video_vae and audio_vae - the two VAE inputs, and the ones beginners mix up. video_vae comes from your Wan checkpoint; audio_vae from the LTX audio VAE loader.

What you have to download

The pack itself only pip-installs soundfile and numpy - all the real weight lives elsewhere. To run the full thing you need, from the shipped workflow: the Wan 2.2 I2V high/low-noise checkpoints, umt5_xxl text encoder and wan_2.1_vae to make the silent video; then ltx-2.3-22b-dev-fp8.safetensors, the gemma_3_12B text encoder, the LTX-2.3 distilled LoRA, and the audio VAE for the sound side. ComfyUI itself must be current - LTX-2.3 needs recent core, so if nodes are missing, update ComfyUI before blaming the pack. And note the LTX-2 Community License has a real revenue gate and restrictions; fine for hobby runs, read it before you sell anything.

Common complaints, honestly

This "give Wan's video some LTX audio" trick is a real circulating pattern - workflows for it get posted and upvoted. The honest caveat from people who've run it: LTX-2 audio tends to be a bit overdone and low-res, synchronized but not studio quality. You're getting credible sound design for a silent clip, not a Pixar mix. The failures people actually hit are mundane: wiring the wrong VAE, setting strength so low the reference image gets ignored, or forgetting the audio side entirely and wondering why your output is silent. Install via Manager (search "PainterNodes") or the clone command in the pack README, restart, and run the included wan2.2+ltx2.3 workflow - it's the fastest way to see the whole chain working before you build your own.

CategoryPainter/LTXV

Inputs (10)

NameTypeDefaultDescription
video_vaeVAE
audio_vaeVAE
imageIMAGE
videoIMAGE
widthINT192064–16384
heightINT108864–16384
frames_numberINT1011–1000
frame_rateFLOAT24.01–1000
strengthFLOAT0.600–1
batch_sizeINT11–4096

Outputs (2)

NameTypeDescription
audio_latentLATENT
video_latentLATENT