Nodes/ComfyUI-Apt_Preset/Stack_WanSoundImageToVideoExtend
ComfyUI Node

Stack_WanSoundImageToVideoExtend

Stack_WanSoundImageToVideoExtend

By cardenluoĀ·Created 2 years agoĀ·Updated about 23 hours agoĀ· 324
Stack_WanSoundImageToVideoExtend
  • video_latent
  • ref_image
  • control_video
  • audio_encoder_output
  • SoundImage_ex
ā—„length77ā–ŗ

Sound-to-video is the last frontier Wan never got natively. Alibaba's Wan family has no audio channel at any version - the community workaround has always been a separate LTX or MMAudio stage bolted on after the fact. ComfyUI-Apt_Preset's Stack_WanSoundImageToVideoExtend is the pack's answer for the "extend" half of that job: you've already got a sound-driven clip, and you want to keep going from where it stopped.

It sits in the Apt_Preset/stack/😺backup category, which is the pack's way of saying "this is the older or alternative set of Wan stack nodes - the supported hub is sum_stack_Wan." Don't read "backup" as broken; read it as "wired into the same controller, not the flagship path."

What it actually does

This is a parameter-packaging node, not a sampler. It takes your settings and media, bundles them into a single typed token, and hands that token to sum_stack_Wan's SoundImage_ex input. The actual Wan model work happens downstream when the stack's merge() builds the conditioning. You configure here; the stack executes.

The "Extend" part is the video_latent input. The plain Stack_WanSoundImageToVideo node starts from a reference image at a fixed width/height. This one drops those - you're not setting a fresh canvas, you're feeding in the latent of the previous clip (video_latent) so the next generation continues from its final state instead of restarting. Same trick every Wan extension chain uses, just tucked behind one wire.

The inputs that matter

  • length - frames for the new segment. Default 77, which is right around the 81-frame native context Wan likes; keep it in the 4-increment steps and you're fine.
  • video_latent - the previous clip's latent. This is what makes it an extension rather than a fresh generation.
  • audio_encoder_output - the AUDIO_ENCODER_OUTPUT token from the pack's audio encoder stage. No audio in, no point to this node.
  • ref_image - optional anchor for identity, if you're not just chaining blindly.
  • control_video - optional structure/control input if you're following a pose or depth reference.

One output: SoundImage_ex, type SOUNDIMAGE_EX, which plugs into sum_stack_Wan → SoundImage_ex.

Wiring it in

Context → sum_load_simple (load your Wan 2.2 model, Unet + clip1) → prompt/conditioning → sum_stack_Wan, with this node feeding its SoundImage_ex input and sum_Ksampler doing the actual denoising. sum_stack_Wan also hands you vace_trim_latent and trim_image integers for post-trimming the result.

Installing it

From ComfyUI Manager, search ComfyUI-Apt_Preset and install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
cd ComfyUI-Apt_Preset
pip install -r requirements.txt   # Windows: double-click install.bat

The requirements pull in soundfile and pydub - the audio half of this node's dependency - plus a fairly heavy stack (onnxruntime, opencv, pandas). Expect the install to take a while.

Where people get burned

This is a genuinely new, low-footprint node - a literal search for the pack name returns nothing on the usual boards, and sound-to-video on Wan is still frontier territory, so there's no forum thread to save you. The realistic failure is forgetting that the audio encoder is a separate node in the pack: audio_encoder_output has no default, and leaving it unplugged silently produces a node that has nothing to extend. And because it's a token-passing node, if sum_stack_Wan isn't in your graph, this node does literally nothing visible - it has no preview and no output image. Build the whole chain, then debug.

CategoryApt_Preset/stack/😺backup

Inputs (5)

NameTypeDefaultDescription
lengthINT771–4096—
video_latentoptLATENT—
ref_imageoptIMAGE—
control_videooptIMAGE—
audio_encoder_outputoptAUDIO_ENCODER_OUTPUT—

Outputs (1)

NameTypeDescription
SoundImage_exSOUNDIMAGE_EX—