Nodes/IAMCCS-nodes/AU+IMG2VID Continuity (legacy alias)
ComfyUI Node

AU+IMG2VID Continuity (legacy alias)

The overlap trimmer that keeps chunk-to-chunk video from feeling stitched

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
AU+IMG2VID Continuity (legacy alias)
  • source_images
  • new_images
  • parent_contract
  • linx
  • continuity_payload
  • contract
  • linx
  • source_images_passthrough
  • start_images
  • extended_images
  • overlap_frames_out
  • calculated_frames
  • extension_frames
  • report
overlap_frames9
overlap_sidesource
overlap_modecut
enable_mathtrue
math_operationa-b
safe_modenone
start_frames_rulenone
presetlossless_refresh_24fps
use_planner_presettrue
planner_payload{}
refresh_payload{}
math_value_b1

Here's the thing nobody tells you about long video: the model generates each chunk with overlapping frames so the next chunk has context, and then someone has to decide which frames are actually new video. If you just concatenate raw chunks, you double up the overlap and get the stuttery "jellyfish" motion that reads as stitched. IAMCCS_AUIMG2VID_Continuity (legacy alias for Ltx2HelperModules_Continuity) is the node that resolves this: it takes your source_images (the previous chunk) and new_images (the freshly generated next chunk), cuts or blends away the shared overlap, and hands back the actual extension.

The mechanism is straightforward image math. overlap_frames (default 9) says how many frames the two chunks share, overlap_side says whether the shared frames live on the tail of source or the head of new_images, and overlap_mode decides what to do with them - cut just drops the dupes, while linear_blend, ease_in_out, filmic_crossfade, and perceptual_crossfade blend the transition so the seam disappears. For dialogue-driven clips, filmic_crossfade is the one people reach for; cut is what you want when the chunks are already clean.

There's also a hidden-in-plain-sight helper: enable_math with math_operation (a-b, a+b, min(a,b), max(a,b), etc.) applies a per-pixel operation between the two image sets - that sounds weird until you realize it's for the "difference" workflows where you only care about what changed between chunks. Leave it off unless you know you need it.

Outputs worth wiring: start_images and extended_images - the actual media your sampler or VAE decode should consume; calculated_frames and extension_frames tell you how many frames are genuinely new; and continuity_payload is the JSON the rest of the AU+IMG2VID chain reads. The preset menu (lossless_refresh_24fps, target_extension_ltx2, videoclip_audio_24fps, etc.) is the fast path - it fills in overlap size and mode for common setups, and use_planner_preset lets the upstream planner's payload override it. safe_mode (native_workflow_safe) exists for graphs where the node needs to avoid doing anything surprising to the native sampler chain.

Installing: part of IAMCCS/IAMCCS-nodes. ComfyUI Manager → search "IAMCCS", or cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes.git, restart. No models or extra deps - it's tensor slicing and blending.

Where people get burned: mismatch between overlap_frames here and the overlap your planner/sampler actually used. If the planner says 9 but you tell Continuity 12, you'll either keep duplicated frames or clip real ones, and the result looks like the video skips. Keep overlap in sync across the chain, and read extension_frames on your first run to confirm the math agrees with what you intended.

CategoryIAMCCS/Ltx2 Helper Modules

Inputs (16)

NameTypeDefaultDescription
source_imagesIMAGE
overlap_framesINT91–256
overlap_sideCOMBOsource2 options: source, new_images
overlap_modeCOMBOcut5 options: cut, linear_blend, ease_in_out, filmic_crossfade, perceptual_crossfade
enable_mathBOOLEANtrue
math_operationCOMBOa-b8 options: none, a-b, a-1, a+b, a*b, a/b, +2
safe_modeCOMBOnone2 options: none, native_workflow_safe
start_frames_ruleCOMBOnone3 options: none, ltx2_round_down, ltx2_nearest
presetCOMBOlossless_refresh_24fps10 options: custom, target_extension_ltx2, lossless_refresh_24fps, lossless_refresh_strong_24fps, videoclip_audio_24fps, monologue_audio_24fps, +4
use_planner_presetBOOLEANtrue
new_imagesoptIMAGE
planner_payloadoptSTRING{}
refresh_payloadoptSTRING{}
parent_contractoptIAMCCS_SUPERNODE_CONTRACT
linxoptIAMCCS_SUPERNODE_LINX
math_value_boptINT10–256

Outputs (10)

NameTypeDescription
continuity_payloadSTRING
contractIAMCCS_SUPERNODE_CONTRACT
linxIAMCCS_SUPERNODE_LINX
source_images_passthroughIMAGE
start_imagesIMAGE
extended_imagesIMAGE
overlap_frames_outINT
calculated_framesINT
extension_framesINT
reportSTRING