Nodes/DiffusionGemma Prompt Builder/DiffusionGemma LTX Sync-Safe Audio Guide
ComfyUI Node

DiffusionGemma LTX Sync-Safe Audio Guide

The soundtrack LTX hears vs. the one you actually keep — on purpose

By exportAnything·Created 2 months ago·Updated a day ago· 44
DiffusionGemma LTX Sync-Safe Audio Guide
  • final_audio
  • vocal_stem
  • conditioning_audio
  • final_audio
  • conditioning_sha256
  • guide_report_json
  • status
  • ready
modesync_safe

Here's the tension at the heart of the LTX music-video workflow: LTX-2.x is an audio-aware video model - it generates video conditioned on audio it's given - but you don't want your pristine final soundtrack altered just because it had to be fed into a sampler. DiffusionGemma LTX Audio Guide is the node that separates those two fates. It takes your final soundtrack, produces a conditioning version that LTX hears, and passes the original through untouched for the final mux.

The workflow intent is subtle and worth stating plainly: the selected, hash-locked song excerpt stays the real soundtrack of your video. LTX gets a separate timing-identical guide - Audio-VAE encoded with a zero noise mask and fed to both LTX sampling stages - so the video's motion can follow the measured excerpt while the original waveform is never replaced by the guide. This node is where that guide gets made.

The three modes

  • full_mix - an identity path: the conditioning audio is the final mix. No separation, no transformation. Use it when you don't need sync protection and just want LTX to hear exactly what you'll publish.
  • sync_safe (default) - the interesting one. It retains timing and center/vocal information while applying only lightweight transient softening, the description calls it "center emphasis and lightweight transient softening." The goal is to keep LTX's articulation and beat-following cues intact while taking the edge off transients that make synced video wobble or smear.
  • vocal_only - conditions LTX purely on an aligned vocal stem. This mode requires a connected vocal_stem; without one it fails closed with an ExecutionBlocker rather than guessing. It's for when you want the video's lip/body motion driven by voice alone while the full mix stays the soundtrack.

Inputs and outputs that matter

Inputs are final_audio (the pristine selected soundtrack), mode, and the lazy optional vocal_stem. Outputs:

  • conditioning_audio - what LTX gets.
  • final_audio - the untouched original, passed through unchanged for the final mux.
  • conditioning_sha256 - hash of the guide. final_audio is preserved with its own hash recorded in the report; you can verify the pass-through is genuinely byte-identical.
  • guide_report_json, status, ready.

Because vocal_stem is lazy, a stem separator sitting upstream isn't evaluated unless you actually pick vocal_only - that's the "lazy" pattern this pack uses everywhere to keep dormant branches cheap.

How it sits in the graph

In the music-video production flow: the song is generated or uploaded → auditioned and locked by the audio candidate selector → the locked pristine excerpt becomes both final_audio (to mux) and the input here. This node's conditioning_audio feeds LTX's conditioning, while final_audio sails past untouched. The A2V influence on the LTX side stays neutral at 1.0 by default and should be tested cautiously with the same locked song and video seed - that's a separate sampler control, but it's the dial that decides how hard the guide actually drives the video.

Installing it

Part of the exportAnything/ComfyUI-DiffusionGemmaPromptBuilder pack, under prompt/diffusiongemma/audio-production:

cd ComfyUI/custom_nodes
git clone https://github.com/exportAnything/ComfyUI-DiffusionGemmaPromptBuilder

or search DiffusionGemma Prompt Builder in ComfyUI Manager and restart. Pure CPU audio-signal work (hashing, light transforms) - no extra models for full_mix/sync_safe. vocal_only needs a vocal stem from a separator like Demucs (the pack's full workflows use comfyui_fill-nodes for Hybrid Demucs separation), which is a real model download if you go that route.

Common issues

  • "vocal_only LTX guidance requires a connected vocal stem." That's the blocker working as designed - connect a stem or switch to sync_safe/full_mix.
  • The final soundtrack isn't what you locked. Check that the audio path to your mux comes from this node's final_audio output (or upstream of it), not from the conditioning_audio lane. The hashes in guide_report_json exist so you can prove which is which.
  • Video ignoring the audio. The guide is conditioning, not magic - if motion isn't following the excerpt, look at your A2V influence and whether the audio actually reached both LTX sampling stages, not at this node.
Categoryprompt/diffusiongemma/audio-production

Inputs (3)

NameTypeDefaultDescription
final_audioAUDIO
modeCOMBOsync_safe3 options: full_mix, sync_safe, vocal_only
vocal_stemoptAUDIO

Outputs (6)

NameTypeDescription
conditioning_audioAUDIO
final_audioAUDIO
conditioning_sha256STRING
guide_report_jsonSTRING
statusSTRING
readyBOOLEAN