MiniMax H3 Creator Synchronized A/B / 同步候选对比 (Advanced/T8)
Side-by-side A/B review without the guesswork
- frames_a
- frames_b
- comparison_frames
- winner
- selected_seed
- review_json
Comparing two video candidates in ComfyUI is usually a mess: different lengths, different aspect ratios, and you end up mentally flipping between two previews. MiniMaxH3CreatorSynchronizedCompareT8Advanced fixes the mechanics - it takes two IMAGE frame batches and stitches them into one labelled side-by-side comparison on CPU, center-padding to preserve aspect ratio and trimming only to the shorter frame count so both sides stay in sync. Then it records your verdict. That's the entire job, and it does it without touching audio at all.
How it works
You drop in frames_a and frames_b (the two candidates' frame batches), give them labels and seeds - label_a/label_b default to candidate_a/candidate_b, and seed_a/seed_b let you record which seed each side came from. Then you review and state the verdict in winner (combo: ABSTAIN, TIE, A, B), with reviewer_notes for the "A is sharper but B has better motion" commentary. require_equal_geometry defaults to true, which means if the two batches have different resolutions, the node forces ABSTAIN rather than pretending a stretched comparison is fair. The pack's own tests verified that real 39-frame A/B pairs keep source pixels and strict decoding - this is a viewer, not an upscaler.
Outputs that matter
comparison_frames- the stitched IMAGE batch; pipe it to a Preview/Save node.winner- the verdict as a string, ready to feed downstream logic (e.g. auto-pick a seed).selected_seed- the seed of the winning side. This is the sneaky-useful one: review A/B, declare B the winner, and get the exact seed to re-run with.review_json- the whole review record with notes, for the audit trail the pack loves.
Honest caveat: it compares video frames only. Audio is not part of the comparison - the README's synced A/V review is a separate workflow, and this node will happily call a winner on video while the audio side is garbage. Know your review scope.
Installing it
From the MiniMax H3 Audio T8 pack (T8mars/T8star, GPL-3.0). Manager search MiniMax H3 Audio T8, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
restart. No mandatory pip extras; H3 weights/CLIP/VAE/LoRAs go in models/ by hand. (H3 weights' Community License excludes the US, EU, UK, South Korea.)
The trap
If comparison_frames looks squashed or the node refuses to compare at all, it's require_equal_geometry doing its job - either resize one side upstream or accept the abstain. And remember winner is a record, not a rerun: declaring B doesn't re-render anything, it just stamps the seed so you can re-run it. That's the pack's split personality in one node: it will organize your review meticulously, and then make you do the actual work.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| frames_a | IMAGE | — | |
| frames_b | IMAGE | — | |
| label_a | STRING | candidate_a | — |
| label_b | STRING | candidate_b | — |
| seed_a | INT | 00–18446744073709550000 | — |
| seed_b | INT | 10–18446744073709550000 | — |
| winner | COMBO | ABSTAIN | 4 options: ABSTAIN, TIE, A, B |
| reviewer_notes | STRING | — | |
| require_equal_geometry | BOOLEAN | true | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| comparison_frames | IMAGE | — |
| winner | STRING | — |
| selected_seed | INT | — |
| review_json | STRING | — |