π H3 Lock Audio - LD
Refine the Picture Without Re-Rolling the Sound
- latent
- latent
The one-input node that stops your upscale pass from recomposing the music
H3 is omni-modal: its latent carries picture and sound together, which is why a clip can come out with audio that actually matches the motion. That's great until it isn't. In the upscale/refine workflow, the upscaler takes the video latent and re-samples it - and if you just run that re-sampled latent through another sampling pass, the model re-generates the audio too. Your refine pass, meant to polish the picture, quietly recomposes the take's sound. Dialogue drifts. The music you liked becomes something new.
H3 Lock Audio (π H3 Lock Audio - LD, under LD / PromptMaster / Music, in PromptMasterLD) is the pin that prevents it. One input, one output, no settings: it takes an AV latent and locks the audio inside it, so the next sampler refines the picture against the take's own sound instead of regenerating it. The picture can change; the audio is told to stay put.
How it fits the finishing chain
Its natural home is right after the concat that puts your take back together. The chain runs like this:
- You sampled a take and liked it.
- The MiniMax upscaler upscales the video latent.
- Concat AV Latent re-joins that upscaled video to the take's original audio - because the upscaler only touched video, the original sound is what you want to keep.
- H3 Lock Audio goes here, on that re-joined latent. The tooltip is precise about what gets preserved: the AV latent going into the refine pass is "upscaled video re-joined to its ORIGINAL audio by Concat AV Latent - that audio is what gets preserved."
- H3 Refine Pass runs its short partial-denoise pass, improving detail while the locked audio stays the take's own sound.
Without the lock, step 5 re-samples the whole omni latent and the audio you carefully preserved at step 3 is a suggestion rather than a fact.
What it needs
A single required input, latent - the AV latent heading into the refine pass (after the Concat AV Latent step, not before). The output is the same latent, now marked so downstream sampling holds its audio. Category says it all: this is a Music-lane node, in the sense that it exists to protect audio during passes that would otherwise treat it as disposable.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Lora-Daddy/PromptMasterLD
cd PromptMasterLD
pip install -r requirements.txt
Restart ComfyUI, or ComfyUI Manager β search "PromptMasterLD".
Where people get burned
The order matters. Lock the latent before it reaches the refine sampler - putting the lock on a latent that's already past its sampling pass does nothing, because the lock's job is to constrain the next sampler. And don't lock a latent whose audio you still want to change: this node is for the finishing pass where the take's sound is the reference, not a draft. If you're still hunting takes, leave it out - you want full freedom to re-roll until the chain is settled.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | The AV latent going into the refine pass -- upscaled video re-joined to its ORIGINAL audio by Concat AV Latent. That audio is what gets preserved. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | β |