Nodes/MiniMax H3 Audio T8/MiniMax H3 Multi-Face Composite / 多人候选合成 (Advanced)
ComfyUI Node

MiniMax H3 Multi-Face Composite / 多人候选合成 (Advanced)

Stitch each repaired face back onto the untouched original

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Multi-Face Composite / 多人候选合成 (Advanced)
  • base_frames
  • candidate_window
  • changed_mask
  • face_plan
  • previous_composite
  • composited_frames
  • composite_state
  • report_json
  • applied_job_count
accept_candidatetrue
overlap_policyreject

The multi-person face repair system in this pack works one character at a time: each MiniMaxH3MultiFaceRepairJobT8Advanced job produces a repaired window for a single face, and something has to lay those windows back onto the original, untouched video. That something is MiniMaxH3MultiFaceCompositeT8Advanced. It takes one shot-local Face Refine candidate, applies it to the original full video, and chains up to three people - run it once per person, feeding each result into the next via previous_composite.

The compositing discipline is what makes it trustworthy. Only the pixels inside the audited changed_mask are replaced - everything outside stays bit-exact to the original, and audio is never touched. Overlapping masks between people reject by default (overlap_policy: reject) rather than silently blending two candidates and producing a mush face. That's the fail-closed design showing up exactly where you want it: if two repair windows claim the same pixels, it stops and asks you to fix the plan instead of guessing.

Inputs

  • base_frames - the original full video frames.
  • candidate_window and changed_mask - the repaired window and the mask of what it actually changed.
  • face_plan - the signed H3_T8_FACE_REFINE_PARITY_PLAN from the Repair Job, so the composite can verify the candidate really belongs where it claims.
  • accept_candidate - defaults to true, and the tooltip is worth reading: enabled so the candidate reaches the final composite; disable it for a preview-only run that returns the original frames. Flip this off first if you want to eyeball the candidate before committing.
  • overlap_policy - reject by default; the other option accepts overlaps.
  • previous_composite - optional chain input, used when compositing the 2nd and 3rd person.

Outputs

composited_frames, composite_state (the accumulated H3_T8_MULTIFACE_COMPOSITE), applied_job_count (how many jobs are in the result), and report_json. It's an output node - the natural end of the multi-person repair graph.

Install and where it fits

Pack install once: ComfyUI Manager → search MiniMax H3 Audio T8, or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into ComfyUI/custom_nodes/, restart. No pip extras, no model downloads.

The workflow is sequential: for each person, run a Repair Job, then a Composite that feeds the previous composite state. Two gotchas: (1) accept_candidate defaults to true - which is fine when you've reviewed, but if you're just testing the wiring, set it false so you get the originals back instead of committing unviewed candidates to the final video; (2) if composite rejects on overlap, it's telling you two person masks overlap - fix the identity assignment rather than flipping overlap_policy to accept and hoping. The pack's README is explicit that its multi-person validation is narrow, so treat the output as "mechanically clean" until you've watched it. Experimental, bit-exact outside the changed mask, and mercifully deterministic.

CategoryT8/MiniMax H3/Quality/Experimental/Face Refine Multi-Person

Inputs (7)

NameTypeDefaultDescription
base_framesIMAGE
candidate_windowIMAGE
changed_maskMASK
face_planH3_T8_FACE_REFINE_PARITY_PLAN
accept_candidateBOOLEANtrueEnabled by default so the candidate reaches the final composite. Disable only when you want a preview-only run that returns the original frames.
overlap_policyCOMBOreject3 options: reject, new_over_old_exp, keep_old_exp
previous_compositeoptH3_T8_MULTIFACE_COMPOSITE

Outputs (4)

NameTypeDescription
composited_framesIMAGE
composite_stateH3_T8_MULTIFACE_COMPOSITE
report_jsonSTRING
applied_job_countINT