MiniMax H3 CADS Visual Reference Annealing (Advanced EXP)
CADS for H3 references — noise on the picture, hands off the audio
- model
- model
- report_json
CADS - Condition-Annealed Diffusion Sampling - is one of those image-model ideas that refuses to die, and this node is a careful port of it to MiniMax H3's visual references. The short version of what it does: at the start of denoising, when the model is still working with heavy noise, a strong reference condition can railroad the output into a rut. CADS adds noise to the conditioning itself at high sigma, then anneals that noise away as sampling progresses, so the condition "fades in" instead of clamping everything from step one. The result is usually more freedom for the model to explore early, then a firm grip on the reference late.
What this node does - and doesn't - is worth spelling out, because it's a MiniMax H3 joint-AV model and the temptation would be to anneal everything. This node applies the CADS formula only to the visual reference and keyframe latents, at each denoising step. Audio conditioning and the target audio are untouched. The README says it in one line: it changes only the visual condition, never the audio condition. For a model that generates stereo audio jointly with the picture, that's a deliberate, safety-first scope decision - you can experiment with visual reference strength without accidentally mucking up a voice you already like.
The inputs that matter
Six of them, and only a few you'll touch regularly:
noise_scale(default 0.1) - how much noise gets added to the reference latents. Zero disables the effect entirely; 0.1 is a gentle start. Push higher and you're asking the model to find its own way early in sampling.tau1/tau2(defaults 0.6 / 0.9) - the annealing window. This is where the noise lives on the sigma timeline: full perturbation until tau1, then it fades until tau2, then clean reference. Tightening the gap makes the fade snappier; widening it keeps the reference weak for longer.rescale_mix(default 1.0) - how much the annealed condition is blended back with the original. 1.0 is the paper-style behavior; lower keeps a chunk of the unperturbed reference in the mix.noise_mode-paper_independent(the paper's default: fresh independent noise each step) orstable_fixed_path(deterministic, seeded noise). Handy for reproducibility.seed- matters only if you're using a fixed path and want A/Bs to line up.
Outputs are the patched model (wire it in place of your original model downstream) and a report_json describing what it did.
When you'd reach for it
Reference-conditioned H3 work - image-to-video with a reference, keyframe-driven shots, multi-keyframe timelines - can suffer from the opposite problem of too-loose conditioning: the reference overpowers the prompt, or the video feels pinned to the source frame. If your reference-based generation feels stiff or too copycat, this is the experiment knob for it. It's firmly an experimental node - the brief carries "Advanced EXP", and the pack files it under the 03-image-video-edit workflows, which the README describes as CADS visual-reference annealing: it changes only the visual condition, never the audio condition. Treat it as an A/B tool, not a set-and-forget.
One honest caveat from the pack's own framing: don't stack it with every other conditioning hack at once. The README's standing advice is not to layer multiple sampler/attention/conditioning takeover nodes on the same model - it makes the A/B undiagnosable. Change one thing, compare, move on.
Install
Same pack, same drill:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
or Manager → search "MiniMax H3 Audio T8" → restart. Update ComfyUI itself first - this pack needs comfy_api.latest and the native H3 support. No extra model downloads for this node; it patches the model you already have loaded.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| noise_scale | FLOAT | 0.100–2 | — |
| tau1 | FLOAT | 0.600–1 | — |
| tau2 | FLOAT | 0.900–1 | — |
| rescale_mix | FLOAT | 1.000–1 | — |
| noise_mode | COMBO | paper_independent | 2 options: paper_independent, stable_fixed_path |
| seed | INT | 00–9223372036854776000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| report_json | STRING | — |