MiniMax H3 Frozen Low A/B Audit
Did the low sampler really carry state? The H3 Frozen Low A/B Audit
- video_vae
- numerical_report
Continuation debugging has a nasty habit of producing explanations that can't be falsified. Something changed between two low-resolution passes on the same input - was it your intervention, or was it some hidden state the model was carrying? The way you find out is a nulls test: run the same pass twice and see how much it moves on its own.
MiniMax H3 Frozen Low A/B Audit is the read-only half of exactly that experiment. An earlier protocol in this pack captured real frozen low-sampler outputs - arm A, arm B, and an A replay - as generated suffixes, saved into a bundle. This node loads those saved videos, decodes them through the native H3 video VAE on matching full native timelines, and measures them with the same static-ROI estimator the rest of the pack uses. It performs no sampling, changes nothing in your workflow, and its single output is a report.
Why the A replay exists
Say you change one input and the generated suffix moves. Fine - but you don't yet know whether that movement is your change or just run-to-run drift on the low sampler. Replaying A through the same protocol and measuring A against A' gives you a floor: the amount two nominally identical passes disagree on their own. Anything under that floor is noise, and any claim about a seam fix has to clear it.
The audit is deliberately modest about what that proves. Its own limitations text notes that an A-to-A' replay pass "bounds observable state carryover, not all hidden model/attention caches" - you're measuring what shows up in decoded pixels, not what's inside the model. And source-grid low-model findings are not target-high acceptance, still less audio acceptance. The last line of the report reads rendered_accepted: false, which is the honest version of "now go look at the video."
Inputs
video_vae - the production native MiniMax H3 video VAE, same one you generated with. The node validates the native token/overlap/padding/clip contract and refuses a substitute.
bundle_path - the saved A/B/A session bundle directory, or its manifest.json. This is the sharpest gotcha in the node: it requires a manifest of kind h3_flow_frozen_low_source_aba_v1, and if you hand it a boundary-witness or decoder-only manifest it raises and tells you to select the session bundle named in the metrics event partitioned_frozen_low_source_aba.fields.evidence.bundle. Follow that breadcrumb rather than guessing at paths under your output directory.
chunk_join_frame - the assembled first-new-frame index, minimum 10, default 175.
Optional but worth setting: expected_manifest_sha256 pins the exact witness you mean, so a stale directory with a similarly named bundle can't quietly change your result. diagnose_failed_replay is there for when the A replay doesn't match - flip it on and the report digs into why rather than just reporting the mismatch. The optional ROI trio (static_roi_profile, static_roi_json, feature_tracking_enabled) is nominally optional and effectively mandatory: with no named regions the node raises "saved low A/B requires named background regions." off is not a workable choice here.
Output: a single numerical_report string. It's an output node, so you get the JSON in the node's UI text and a copy written under output/h3_flow_regenerate/boundary_audits/.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/MiniMax-H3-Flow-Aligned-Regenerate
# restart ComfyUI
Or ComfyUI Manager, searching MiniMax H3 Flow-Aligned Regenerate. Dependencies are just numpy, plus OpenCV if you want the background tracking - without it you'll see opencv_unavailable in the report and lose the movement estimates while keeping the photometry.
The thing to know before you go looking for this node
Live A/B/A capture is retired. The README says the low-sampler replay machinery was retired after the numerical investigation, and this node is a reader for bundles saved by that older protocol. If you have no such bundle, there's nothing here for you to run - it will fail on the manifest, correctly. The one place it stays genuinely useful: the README states that saved audit bundles remain readable under diagnostics/legacy, and this node is how you read one back. Alternatively, capture_boundary_witness on the current generation node still exports stage snapshots under output/h3_flow_regenerate/residual_geometry for the other audit path - that's a different manifest, and this node will tell you so.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| video_vae | VAE | — | |
| bundle_path | STRING | — | |
| chunk_join_frame | INT | 17510–10000000 | — |
| static_roi_profileopt | COMBO | 01784_room | 3 options: off, 01784_room, custom |
| static_roi_jsonopt | STRING | — | |
| feature_tracking_enabledopt | BOOLEAN | true | — |
| expected_manifest_sha256opt | STRING | — | |
| diagnose_failed_replayopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| numerical_report | STRING | — |