Nodes/MiniMax H3 Audio T8/MiniMax H3 Face Refine Sampler / 低去噪双时钟采样 (Advanced)
ComfyUI Node

MiniMax H3 Face Refine Sampler / 低去噪双时钟采样 (Advanced)

The low-denoise dual-clock sampler for the face-refine pass

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Face Refine Sampler / 低去噪双时钟采样 (Advanced)
  • model
  • av_latent
  • model
  • sampler
  • sigmas
  • report_json
steps12
denoise0.45
shift_video12.00
shift_audio3.00
sampler_namedual_clock_euler
schedulernative_flow

The face-refine pipeline needs its own sampler, and this is it. It builds an isolated low-denoise, dual-clock schedule for the "second pass" that actually regenerates the face crops - the H3 equivalent of a hires-fix on a face region. The key phrase in the description is isolated: it reuses the stable T8 dual-clock sampler implementation without changing its source or any existing workflow, so you're not mutating your main sampler when you add a refine branch.

H3 runs on two clocks - a video clock and an audio clock - which is why a face-refine pass isn't a plain img2img. This node sets both shifts (shift_video 12, shift_audio 3) and builds a schedule with native_flow and the pack's dual_clock_euler sampler by default. The whole point is low denoise: denoise defaults to 0.45, because you want to fix the face region, not re-imagine the shot. And the description is honest in a way you don't see every day: "Denoise is experimental and not a calibrated strength." It's a dial, not a scientific instrument - expect to tune it per shot.

Inputs that matter:

  • model - your H3 model, the same one you'd sample with normally.
  • av_latent - the LATENT from your refine conditioning (the pack's Face Refine Conditioning node gives you the AV latent with the face-crop video stream swapped in). This is what makes the second pass local: the schedule samples the crop latent, not the whole frame.
  • steps (12) and denoise (0.45) - the two numbers you'll actually fiddle with. Fewer steps + lower denoise = faster, less change; push denoise too high and you start inventing faces that don't match the actor.
  • shift_video / shift_audio - the dual-clock shifts. The defaults match the native H3 schedule; change them only if you know why.
  • sampler_name / scheduler - dual_clock_euler / native_flow by default. The pack's dual-clock checkpointing features only support this pair, so if you're building toward resume/checkpoint workflows, leave them alone.

Outputs: model (passed through, ready for the sampler node), sampler (SAMPLER), sigmas (SIGMAS - wire these into your sampler node exactly), and report_json documenting the schedule it built.

The trap to avoid: denoise is a strength-like knob but the tooltip is explicit that it's not calibrated. Don't treat 0.45 as a universal truth - the parity-family nodes in this pack default to a face-size curve (0.8 for small faces down to 0.35 for big ones) for a reason. Small distant faces need more denoise to change anything; big closeups need less so you don't swap the identity. Start low, compare frames, creep up only if the mush is still there.

Install: ComfyUI Manager → "MiniMax H3 Audio T8", or clone:

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

Restart after. No forced pip deps and no weight downloads - the H3 model, CLIP and VAE are yours to supply, same as every other node in the pack. This sampler is pure schedule construction; the heavy lifting happens when the sampler node you feed it actually runs the second pass.

CategoryT8/MiniMax H3/Quality/Experimental

Inputs (8)

NameTypeDefaultDescription
modelMODEL
av_latentLATENT
stepsINT121–1000
denoiseFLOAT0.450.01–1
shift_videoFLOAT12.000.01–100
shift_audioFLOAT3.000.01–100
sampler_nameCOMBOdual_clock_euler45 options: dual_clock_euler, euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, +39
schedulerCOMBOnative_flow10 options: native_flow, simple, sgm_uniform, karras, exponential, ddim_uniform, +4

Outputs (4)

NameTypeDescription
modelMODEL
samplerSAMPLER
sigmasSIGMAS
report_jsonSTRING