MiniMax H3 Face Refine Sampler / 低去噪双时钟采样 (Advanced)
The low-denoise dual-clock sampler for the face-refine pass
- model
- av_latent
- model
- sampler
- sigmas
- report_json
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- theLATENTfrom your refine conditioning (the pack'sFace Refine Conditioningnode 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) anddenoise(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_flowby 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.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| av_latent | LATENT | — | |
| steps | INT | 121–1000 | — |
| denoise | FLOAT | 0.450.01–1 | — |
| shift_video | FLOAT | 12.000.01–100 | — |
| shift_audio | FLOAT | 3.000.01–100 | — |
| sampler_name | COMBO | dual_clock_euler | 45 options: dual_clock_euler, euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, +39 |
| scheduler | COMBO | native_flow | 10 options: native_flow, simple, sgm_uniform, karras, exponential, ddim_uniform, +4 |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| sampler | SAMPLER | — |
| sigmas | SIGMAS | — |
| report_json | STRING | — |