MiniMax H3 Audio Lock (best-effort, unverified)
The most honest 'we don't know if this works' node you'll meet
- av_latent
- audio_vae
- audio_1
- references
- av_latent
- audio
- report
Start here, because it's the most important fact about this node: the author of this pack describes it as a guess. Not "best-effort" - "unverified guess," in the display name itself. It's one of five nodes reconstructed from a privately-distributed MiniMax H3 workflow that referenced node types with no public source anywhere. The other four could be grounded in ComfyUI's real native H3 code. This one couldn't: there was no equivalent real node to check the math against, and the lock/blend behavior was inferred from two saved widget values in the workflow JSON ("lock", 0.35). There is no way to verify it matches what the original did. Verify against your own renders before you trust it for anything you care about.
With that said, what it's supposed to do: take a reference audio clip and blend it into the audio stream of an existing MiniMax H3 AV latent. MiniMax H3 generates video with native, jointly-synthesized audio, and if you want a specific voice or sound character in the clip - a character's voice locked across the whole render, say - you can't easily re-run the whole generation. This node is meant to patch the audio of an already-built av_latent instead.
Mechanically: it encodes the reference audio through an audio_vae, then blends it into the target latent's audio stream at strength. mode: lock tiles/loops the reference across the entire clip duration - a consistent voice or style throughout. mode: blend only seeds the very start and leaves the rest as the target's original content. strength runs 0.0 (original untouched) to 1.0 (fully replaced); the default is 0.35.
Inputs:
av_latent- must already be a MiniMax H3 AV NestedTensor latent (fromMiniMaxH3ConcatAVLatentor a native node).audio_vae- the H3 audio VAE.mode-lockorblend.strength- 0.0–1.0, default 0.35.audio_1(optional) - the reference clip, or areferencesbundle (typeH3_REFS) fromMiniMaxH3MediaLoader/MiniMaxH3PromptBuilder, whose firstaudios[]entry is used as a fallback. At least one of the two must be supplied, or the node raises a clear error instead of crashing.
Outputs: av_latent (the modified one), audio (passed through unchanged), and report - which the README tells you to take literally: treat the disclaimer and check your renders.
A known crash, fixed: people previously hit a TypeError: 'NoneType' object is not subscriptable when the old audio input resolved to None at runtime - commonly from wiring an empty video_audio_1 Splitter output instead of its populated audio_1 output. That case now raises a plain, actionable ValueError explaining what to check. Also note the socket was renamed audio → audio_1 to match the Reference Splitter convention; if you have an old workflow, delete the node instance and place a fresh one rather than reloading in place.
Install:
cd ComfyUI/custom_nodes
git clone https://github.com/jjmaden/comfyui-jjmaden-random-nodes
Restart ComfyUI, or search "JJMaden Random Nodes" in ComfyUI Manager. Needs a current ComfyUI with native H3 support; no extra Python deps, no model downloads from the pack (H3 weights are separate). The pack is MIT, a personal collection by one author (jjmaden).
The honest verdict: if you're doing production work with H3 audio, don't bet the deliverable on this node yet - but it's the only thing out there filling this gap, it's shaped like the right mechanism, and it will tell you exactly what it did in the report. Test it once on a throwaway render before you rely on it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| av_latent | LATENT | — | |
| audio_vae | VAE | — | |
| mode | COMBO | lock | 2 options: lock, blend |
| strength | FLOAT | 0.350–1 | — |
| audio_1opt | AUDIO | Reference audio clip to lock/blend into the av_latent's audio stream. Falls back to the first entry of references.audios if not connected directly. | |
| referencesopt | H3_REFS | Optional references bundle from MiniMaxH3MediaLoader/MiniMaxH3PromptBuilder. Its first audios[] item is used as a fallback when audio_1 isn't wired directly. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| av_latent | LATENT | — |
| audio | AUDIO | — |
| report | STRING | — |