H3 Infinite - Auto Handover v1.2
H3 Auto Handover v1.2 — The Freeze Detector Gets Tighter
- images
- handover
- analysis_info
- freeze_detected
- freeze_start_frame
- ideal_handover_end_frame
- phase_aligned_handover_end_frame
- ignored_tail_frames
- confidence
H3 Infinite's Auto Handover v1.2 (class H3ContinuousAnalyzeHandoverV11) is where the freeze detector stopped being a research knob and started being a tool you can trust by default. The headline change from v1.0: Balanced and Motion Safe now use a freeze_hold of 8 instead of 12. That's a real behavioral difference - it means the detector is willing to call a freeze after 8 locked ending frames instead of waiting for 12, which matters because FL2VA landing tails can be short and you don't want to keep the tail just because it didn't freeze long enough.
It's the analyzer paired with the v1.2 "H3 Infinite" generation nodes, in the pack's second-generation workflow. If you've got a v1.2 chain loaded, this is the class it expects.
What actually changed under the hood
The Stable-Tail Consensus detector itself is the same idea as before: build a median final-state reference from the last final_reference_frames, walk backward, require both a primary lock test (mean RGB diff + active-area-percent) and a secondary transition test, gate on min_final_match_percent and tolerated outliers.
The new piece is the no-lock fallback. When the detector can't confidently find a freeze at all, v1.2 doesn't just shrug - it excludes freeze_hold - 1 ending frames (7 with Balanced defaults) before selecting the phase-aligned latent cutoff. That's the conservative safety behavior that fixed the "video is still moving but the next clip starts mid-motion" class of seams in earlier versions. The logic: if you can't prove the tail is safe to reuse, cut it.
The inputs
preset is the only input a beginner should touch: Balanced (validated detector, freeze_hold 8, 3-frame fixed safety), Motion Safe (same detector, 6-frame safety), or Custom, which reveals the full advanced set - analysis_window, freeze_hold, safety_margin, context_frames, analysis_size, the primary/secondary thresholds, and the robust gates. context_frames (default 22) remains the minimum motion/audio history; the analyzer can extend backward to restore phase-0 alignment.
Outputs are the standard handover family: handover (the struct that feeds Continue), plus analysis_info, freeze_detected, freeze_start_frame, ideal_handover_end_frame, phase_aligned_handover_end_frame, ignored_tail_frames, and confidence.
Install and requirements
Same pack, same steps:
cd ComfyUI/custom_nodes
git clone https://github.com/HerrgottMargott/Herrgotts-H3-Infinite-Continuation-Suite.git
Restart ComfyUI and reload the browser. The pack has no heavy pip deps - it extends ComfyUI's native MiniMax H3 support - and ships no weights. H3 checkpoints, the video/audio VAEs, and Qwen 3 VL all come from Comfy-Org's MiniMax-H3 repo, and that download is the big one (roughly tens of GB for the pruned FL2VA transformer plus the Qwen 3 VL encoder).
Gotchas
This is the v1.2 analyzer - solid, still registered, and the fallback behavior is genuinely useful for older workflows. But if you're starting a new project in 2026, the v1.4 Masked AV path is the one the author recommends; it changes the whole continuation mechanism (native masks instead of reconstructed context) and this analyzer's phase-aligned latent cutoff is the older approach. Keep v1.2 around for reproducing existing chains and A/B comparisons - that's exactly what it's for.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Decoded FULL rendered frames from the accepted H3 clip. | |
| preset | COMBO | Balanced | Balanced = validated detector with freeze_hold 8 and fixed 3-frame safety. Motion Safe = same detector with 6-frame safety. Custom reveals the advanced controls. |
| analysis_window | INT | 7212–480 | Custom only. Inspect this many final frames first. If the whole window is already locked, analysis automatically expands backward. |
| freeze_hold | INT | 82–60 | Custom only. Minimum trailing lock length. Stable-tail consensus must persist for at least this many ending frames. |
| safety_margin | INT | 30–12 | Custom only. Pixel-frame safety before the detected lock. With safety_mode=fixed (recommended), this configured margin is always respected; adaptive preserves the older confidence-based behavior. |
| context_frames | COMBO | 22 | Custom only. Minimum motion/audio history. phase_aligned_extended may extend backward beyond this value to restore canonical phase-0 alignment. |
| analysis_size | INT | 19264–512 | Custom only. Max edge used only for analysis. The rendered video is never resized or modified. |
| final_mean_diff_threshold | FLOAT | 0.01200.0001–0.03 | Custom only. PRIMARY lock test: maximum mean blurred RGB difference between a candidate frame and the median stable-tail reference. Lower = stricter/later lock. |
| final_active_pixel_threshold | FLOAT | 0.0250.001–0.2 | Custom only. PRIMARY lock test: per-pixel RGB-difference level used to decide which image areas differ from the median stable-tail reference. |
| max_final_active_area_percent | FLOAT | 3.000.05–20 | Custom only. PRIMARY lock test: at most this percentage of the image may differ materially from the median stable-tail reference. |
| transition_mean_diff_threshold | FLOAT | 0.00200.0001–0.03 | Custom only. SECONDARY safety test: maximum mean luminance change between consecutive frames inside the detected final-frame lock. |
| transition_active_pixel_threshold | FLOAT | 0.0100.001–0.2 | Custom only. SECONDARY safety test: per-pixel luminance change that counts as residual motion. |
| max_transition_active_area_percent | FLOAT | 1.000.05–20 | Custom only. SECONDARY safety test: maximum visibly changing area allowed for an individual transition. |
| min_static_transition_percent | FLOAT | 7050–100 | Custom only. ROBUST secondary gate: minimum percentage of transitions inside the final-frame-matching suffix that must be near-static. Isolated shimmer/outliers are allowed. |
| max_consecutive_motion_outliers | INT | 20–12 | Custom only. ROBUST secondary gate: maximum consecutive non-static transitions allowed inside an otherwise locked suffix. Prevents sustained real motion from being accepted. |
| final_reference_frames | INT | 153–31 | Custom only. STABLE-TAIL reference: build the final-state image from the pixel-wise median of this many ending frames instead of trusting one possibly shimmering last frame. |
| min_final_match_percent | FLOAT | 7550–100 | Custom only. ROBUST primary gate: minimum percentage of frames in the candidate locked suffix that must match the median final-state reference. |
| max_consecutive_final_outliers | INT | 30–12 | Custom only. ROBUST primary gate: maximum consecutive final-state mismatches allowed inside the locked suffix. Candidate start itself must always match. |
| safety_mode | COMBO | fixed | Custom only. fixed is recommended; adaptive (Legacy) can reduce safety at high confidence. |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| handover | H3_CONTINUOUS_HANDOVER | — |
| analysis_info | STRING | — |
| freeze_detected | BOOLEAN | — |
| freeze_start_frame | INT | — |
| ideal_handover_end_frame | INT | — |
| phase_aligned_handover_end_frame | INT | — |
| ignored_tail_frames | INT | — |
| confidence | FLOAT | — |