Nodes/Herrgotts-H3-Infinite-Continuation-Suite/H3 Continuous - Auto Handover Analyzer (Legacy v1.0)
ComfyUI Node

H3 Continuous - Auto Handover Analyzer (Legacy v1.0)

Auto Handover, But You Only Ever Change One Dropdown

By HerrgottMargott·Created 14 days ago·Updated 3 days ago· 51
H3 Continuous - Auto Handover Analyzer (Legacy v1.0)
  • images
  • handover
  • analysis_info
  • freeze_detected
  • freeze_start_frame
  • ideal_handover_end_frame
  • phase_aligned_handover_end_frame
  • ignored_tail_frames
  • confidence
presetBalanced
analysis_window72
freeze_hold12
safety_margin3
context_frames22
analysis_size192
final_mean_diff_threshold0.0120
final_active_pixel_threshold0.025
max_final_active_area_percent3.00
transition_mean_diff_threshold0.0020
transition_active_pixel_threshold0.010
max_transition_active_area_percent1.00
min_static_transition_percent70
max_consecutive_motion_outliers2
final_reference_frames15
min_final_match_percent75
max_consecutive_final_outliers3
safety_modefixed

The v1.0 version of the suite's Auto Handover analyzer is basically the answer to the v0.x node's biggest usability sin: a wall of 18 threshold widgets staring at you every time you build a workflow. This one hides all of that behind a preset dropdown. You pick Balanced, Motion Safe, or Custom, and only in the last case do the advanced controls bother you.

Job is unchanged: look at the end of an H3 FL2VA clip, find where it locks into a frozen final state, and produce the handover metadata the Continue node needs so it can cut before the dead tail. If you're chaining clips and the seams look wrong, this is the node that decides where "previous clip" ends and "next clip" begins.

Why the preset matters

  • Balanced (default): the validated v1.0 detector settings. freeze_hold 12, fixed 3-frame safety. This is what the author actually tested against live H3 output.
  • Motion Safe: same detector, but the pre-lock safety margin is larger, so you cut even earlier and risk losing a bit more genuine motion in exchange for never swallowing a freeze.
  • Custom: all the knobs from v0.x reappear - analysis_window, freeze_hold, safety_margin, analysis_size, the primary/secondary thresholds, the robust gates. Same Stable-Tail Consensus machinery, just now opt-in.

The one setting that still applies in every mode is context_frames (default 22), which is the minimum motion/audio history you want carried over. The handover can extend backward beyond it to restore H3's canonical phase-0 alignment - that's the "phase aligned" part of the analyzer's design and it's what keeps the reused head from starting mid-phase and flickering.

Wiring it up

Feed images the decoded full render of the accepted clip. The handover output is the thing - it plugs into a Continue node's handover input. The rest of the outputs (analysis_info, freeze_detected, freeze_start_frame, ideal_handover_end_frame, phase_aligned_handover_end_frame, ignored_tail_frames, confidence) are diagnostic, and genuinely useful ones: confidence and freeze_detected tell you whether you can trust the cut or should re-render.

Install

It's part of the Herrgotts-H3-Infinite-Continuation-Suite pack:

cd ComfyUI/custom_nodes
git clone https://github.com/HerrgottMargott/Herrgotts-H3-Infinite-Continuation-Suite.git

or install through ComfyUI Manager by searching the pack title. Restart ComfyUI, reload the UI. No extra Python deps, no bundled model weights - you still need the H3 checkpoints and VAEs from Comfy-Org MiniMax-H3, and given H3 is a ~33B omni-modal model, that's the part that eats your disk and VRAM.

Gotchas

This is a legacy v1.0 class, kept around so old workflows don't break. The current recommended path is the newer v1.4 Masked AV analyzer. If you're starting fresh, that's the one to use - but if you're reproducing an old chain or A/B testing, this one behaves exactly as v1.0 shipped. One trap: don't leave preset on Custom if you didn't touch it - the defaults are the validated ones, but any drift in those custom values is on you.

CategoryH3 Continuous

Inputs (19)

NameTypeDefaultDescription
imagesIMAGEDecoded FULL rendered frames from the accepted H3 clip.
presetCOMBOBalancedBalanced = validated v1.0 detector settings. Motion Safe = same validated detector with a larger fixed pre-lock safety margin. Custom = use the advanced values below.
analysis_windowINT7212–480Advanced: used only when preset = Custom. Inspect this many final frames first. If the whole window is already locked, analysis automatically expands backward.
freeze_holdINT122–60Advanced: used only when preset = Custom. Minimum trailing lock length. Stable-tail consensus must persist for at least this many ending frames.
safety_marginINT30–12Advanced: used only when preset = Custom. 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_framesCOMBO22Advanced: used only when preset = Custom. Minimum motion/audio history. phase_aligned_extended may extend backward beyond this value to restore canonical phase-0 alignment.
analysis_sizeINT19264–512Advanced: used only when preset = Custom. Max edge used only for analysis. The rendered video is never resized or modified.
final_mean_diff_thresholdFLOAT0.01200.0001–0.03Advanced: used only when preset = Custom. 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_thresholdFLOAT0.0250.001–0.2Advanced: used only when preset = Custom. 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_percentFLOAT3.000.05–20Advanced: used only when preset = Custom. PRIMARY lock test: at most this percentage of the image may differ materially from the median stable-tail reference.
transition_mean_diff_thresholdFLOAT0.00200.0001–0.03Advanced: used only when preset = Custom. SECONDARY safety test: maximum mean luminance change between consecutive frames inside the detected final-frame lock.
transition_active_pixel_thresholdFLOAT0.0100.001–0.2Advanced: used only when preset = Custom. SECONDARY safety test: per-pixel luminance change that counts as residual motion.
max_transition_active_area_percentFLOAT1.000.05–20Advanced: used only when preset = Custom. SECONDARY safety test: maximum visibly changing area allowed for an individual transition.
min_static_transition_percentFLOAT7050–100Advanced: used only when preset = Custom. 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_outliersINT20–12Advanced: used only when preset = Custom. ROBUST secondary gate: maximum consecutive non-static transitions allowed inside an otherwise locked suffix. Prevents sustained real motion from being accepted.
final_reference_framesINT153–31Advanced: used only when preset = Custom. 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_percentFLOAT7550–100Advanced: used only when preset = Custom. ROBUST primary gate: minimum percentage of frames in the candidate locked suffix that must match the median final-state reference.
max_consecutive_final_outliersINT30–12Advanced: used only when preset = Custom. ROBUST primary gate: maximum consecutive final-state mismatches allowed inside the locked suffix. Candidate start itself must always match.
safety_modeCOMBOfixedUsed only by Custom. fixed is recommended. adaptive (Legacy) can reduce safety at high confidence and is kept only for old workflow reproduction.

Outputs (8)

NameTypeDescription
handoverH3_CONTINUOUS_HANDOVER
analysis_infoSTRING
freeze_detectedBOOLEAN
freeze_start_frameINT
ideal_handover_end_frameINT
phase_aligned_handover_end_frameINT
ignored_tail_framesINT
confidenceFLOAT