Nodes/comfyui-minimax-h3-audio-T8/H3 Stage Noise · External FreeNoise / Legacy Plan (T8 EXP)
ComfyUI Node

H3 Stage Noise · External FreeNoise / Legacy Plan (T8 EXP)

Noise as an explicit, inspectable node

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
H3 Stage Noise · External FreeNoise / Legacy Plan (T8 EXP)
  • noise
  • model
  • noise
  • report_json
◄modedisabled►
◄base_seed123456789►
◄reuse_ratio0.65►
◄segment_index0►

FreeNoise is the long-video trick where instead of drawing independent noise for every frame of a clip, you draw noise for a shorter window and then permute and blend it across the whole timeline. The point is temporal consistency: neighbouring frames start from correlated noise, so the model's job is closer to "continue this motion" than "invent 124 unrelated frames". It's usually hidden inside a sampler or a model patch, which means when it goes wrong you have no idea why your clip came out looped or frozen.

MiniMaxH3StageNoiseEXPT8 puts it on the canvas as a node. Wrap your NOISE provider with it, get a NOISE back, and the pack's own FreeNoise implementation does its work at generate time. It runs no diffusion at all.

Inputs

  • noise (required) - a Core-compatible noise provider (a RandomNoise, an empty-noise node, the pack's Modality-Stable AV Noise node - anything with generate_noise and a seed).
  • mode - disabled (default), paper_permutation, variance_preserving_blend, or from_model_plan. The first is an exact provider bypass. The middle two are the FreeNoise variants: the paper's straight permutation, or the blend that keeps the noise variance intact across window boundaries.
  • base_seed (default 123456789) - the seed used for the rescheduled noise, separate from whatever seed your provider carries.
  • reuse_ratio (default 0.65, 0–1) - how much of the window gets reused.
  • segment_index (default 0) - which segment of the timeline this noise is for. The docs' note here is practically the node's whole user manual: the same segment_index used for both passes reproduces the old loops. That's your compatibility switch with legacy workflows.
  • model (optional) - only read in from_model_plan mode, where it pulls the old FreeNoise configuration off a MODEL that already carries one. With no model plan and no mode, you get an exact bypass, and the config report explicitly is not execution.

Outputs: noise, and report_json.

Why you'd wire it instead of letting the sampler do it

Two reasons, both about knowing what happened. First, on a long-video graph the seed behaviour is the difference between a coherent pan and a loop, and being able to point at a node and say "this is where the temporal correlation comes from" is worth a lot when debugging. Second, this node preserves the source provider's seed and batch_index, and leaves the audio noise exactly as it was - video-only rescheduling. On a joint AV model, silently permuting the audio stream would be a disaster, so the pack's implementation deliberately doesn't.

If you're on the SPEED split route or a chunked long-video route, this is also how you feed a per-segment noise into a per-stage sampler while keeping the old loop semantics available.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

Full restart of ComfyUI, then refresh the browser. Manager search: MiniMax H3 Audio T8. There's no dependency install - the pack ships an empty requirements.txt on purpose so a node install can't replace ComfyUI's Torch/CUDA stack - but you need recent ComfyUI core, since these nodes ride on native H3 support and the newer node API.

Gotchas

from_model_plan without a MODEL that actually carries a plan raises rather than guessing, which is the behaviour you want. If your clip looks like it's repeating motion, the usual suspects in order are: mode left at disabled (you get plain independent noise - and then it's not the node's fault), a segment_index reuse between passes, and a reuse_ratio high enough that the model has too little to work with.

Two expectations to drop. This node doesn't make generation faster - rescheduling noise is cheap, the diffusion is the expensive part. And report_json here reports the configuration, not proof that the sampling stage consumed it; the evidence path for that is the stage result and its audit.

CategoryT8/MiniMax H3/Modular Sampling/Experimental

Inputs (6)

NameTypeDefaultDescription
noiseNOISE—
modeCOMBOdisabled4 options: disabled, paper_permutation, variance_preserving_blend, from_model_plan
base_seedINT1234567890–18446744073709550000—
reuse_ratioFLOAT0.650–1—
segment_indexINT00–2147483647—
modeloptMODEL—

Outputs (2)

NameTypeDescription
noiseNOISE—
report_jsonSTRING—