Nodes/Herrgotts-H3-Infinite-Continuation-Suite/H3 Infinite - Seamless AV Join — Masked AV v1.4
ComfyUI Node

H3 Infinite - Seamless AV Join — Masked AV v1.4

Seamless AV Join v1.4 — The Stitch That Just Works, Because the Seam Was Decided Upstream

By HerrgottMargott·Created 14 days ago·Updated 3 days ago· 51
H3 Infinite - Seamless AV Join — Masked AV v1.4
  • previous_images
  • next_images
  • previous_audio
  • next_audio
  • next_handover
  • previous_full_images
  • previous_handover
  • images
  • audio
  • join_info
next_output_modeStitch Ready
next_head_context_frames
video_crossfade_frames4
audio_crossfade_ms15
luminance_matchfalse
luminance_fade_frames16
max_luminance_correction_percent10.0
max_safe_tail_bridge_frames0

Here's the v1.4 philosophy in one node: stop patching the seam at render time, and instead make the seam identical everywhere upstream. H3ContinuousSeamlessJoinV14 joins rendered clips the way v1.2 did, but it leans on the fact that v1.4's Auto Handover defined one shared video boundary - the previous visible clip and the next protected video head both end at the exact same freeze-safe frame. So the join mostly has to trim the duplicated head and do a short context-aligned crossfade, and there's no guessing about where "previous" ends.

That's why the headline controls have inverted from v1.2. Safe Tail Bridge defaults to 0 - it was a fix for frames lost to guide-latent phase quantization, a problem the native-mask path doesn't have. Re-enabling it for a v1.4 chain is explicitly called "legacy-guide A/B compatibility," and the release intentionally accepts the AV-grid snap instead of bridging mismatched motion. Similarly, Luminance Match is off by default and marked as legacy/diagnostic - the brightness seam it used to patch was solved by the masked handover, so the author's advice is to leave it off unless you're deliberately A/B testing an older seam.

What you actually configure

  • next_head_context_frames - from the Continue v1.4 node's actual_head_context_frames. This is the one that must not be left dangling.
  • next_output_mode - Stitch Ready for intermediate clips, Final Clip for the last one (keeps its complete landing).
  • video_crossfade_frames - 4 is the default; 0 disables the blend.
  • audio_crossfade_ms - 15 ms de-click; keep it short.
  • luminance_match, luminance_fade_frames, max_luminance_correction_percent, max_safe_tail_bridge_frames - the advanced legacy fallbacks. Defaults (off/0) are right.

The audio story is different in v1.4, and it's the part worth celebrating: independent protected audio-tail carryover already happened inside the Continue node, so by the time decoded next_audio reaches this join, the carried dialogue is baked in and preserved automatically after the 39-frame video head trim. The join doesn't have to invent an audio seam - it just doesn't destroy the one that was protected.

Inputs: previous_images, next_images, next_output_mode, next_head_context_frames, the crossfade/luminance/bridge controls, and optional previous_audio, next_audio, next_handover, previous_full_images, previous_handover. Outputs: images, audio, join_info.

Install

Same pack, same drill:

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

Restart ComfyUI, reload the UI. Remember the v1.4 caveat that applies to every v1.4 node: you need a current ComfyUI with PR #15375's native H3 AV-mask support, or the masked path won't work at all.

Gotchas

Because the shared boundary is exact and discrete, the handover can sit up to ~16 rendered frames earlier than the detector's ideal visual cutoff - that's intentional conservatism, not a bug; live testing showed recovering those grid-lost frames produced visible motion/alignment errors. If a seam still looks wrong on v1.4, first check that the Continue node's actual_head_context_frames and the join's next_head_context_frames actually match - a mismatch there explains more bad seams than any tuning knob.

CategoryHerrgotts H3 Infinite Continuation Suite

Inputs (15)

NameTypeDefaultDescription
previous_imagesIMAGEAlready prepared/combined previous timeline. For the first join, Clip 1 Stitch Ready is fine.
next_imagesIMAGEFULL decoded render of the next clip. Its reused context head is needed for the context-aligned seam.
next_output_modeCOMBOStitch ReadyIntermediate next clip = Stitch Ready. Current last clip = Final Clip so its complete ending is preserved.
next_head_context_framesINTConnect actual_head_context_frames from the next Continue from Latent node.
video_crossfade_framesINT40–16Short context-aligned video blend after Safe Tail Bridge. 4 frames is the recommended default; 0 disables the blend.
audio_crossfade_msFLOAT150–100Short audio de-click crossfade. 15 ms is the tested default; keep it short to reduce phasing/doubled transients.
luminance_matchBOOLEANfalseLegacy/diagnostic fallback only. Native Masked AV solved the observed brightness seam in live testing; keep this OFF unless deliberately A/B testing an older seam.
luminance_fade_framesINT160–96Advanced legacy luminance-fade length. Ignored while Luminance Match is off.
max_luminance_correction_percentFLOAT10.00–25Advanced legacy luminance correction clamp. Ignored while Luminance Match is off.
max_safe_tail_bridge_framesINT00–4Legacy-guide A/B compatibility only. Keep 0 for v1.4 Native Masked AV; the release intentionally accepts the AV-grid snap instead of bridging mismatched motion.
previous_audiooptAUDIO
next_audiooptAUDIO
next_handoveroptH3_CONTINUOUS_HANDOVERRequired when next_output_mode is Stitch Ready so the next clip's freeze-safe tail is removed.
previous_full_imagesoptIMAGEOptional FULL decoded render of the previous individual clip. Connect this together with previous_handover to enable Safe Tail Bridge.
previous_handoveroptH3_CONTINUOUS_HANDOVERPrevious clip handover metadata. Together with previous_full_images it exposes up to 1-2 safe rendered frames that latent phase alignment had to discard.

Outputs (3)

NameTypeDescription
imagesIMAGE
audioAUDIO
join_infoSTRING