AU+IMG2VID Continuity (legacy alias)
The overlap trimmer that keeps chunk-to-chunk video from feeling stitched
- 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
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.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| source_images | IMAGE | — | |
| overlap_frames | INT | 91–256 | — |
| overlap_side | COMBO | source | 2 options: source, new_images |
| overlap_mode | COMBO | cut | 5 options: cut, linear_blend, ease_in_out, filmic_crossfade, perceptual_crossfade |
| enable_math | BOOLEAN | true | — |
| math_operation | COMBO | a-b | 8 options: none, a-b, a-1, a+b, a*b, a/b, +2 |
| safe_mode | COMBO | none | 2 options: none, native_workflow_safe |
| start_frames_rule | COMBO | none | 3 options: none, ltx2_round_down, ltx2_nearest |
| preset | COMBO | lossless_refresh_24fps | 10 options: custom, target_extension_ltx2, lossless_refresh_24fps, lossless_refresh_strong_24fps, videoclip_audio_24fps, monologue_audio_24fps, +4 |
| use_planner_preset | BOOLEAN | true | — |
| new_imagesopt | IMAGE | — | |
| planner_payloadopt | STRING | {} | — |
| refresh_payloadopt | STRING | {} | — |
| parent_contractopt | IAMCCS_SUPERNODE_CONTRACT | — | |
| linxopt | IAMCCS_SUPERNODE_LINX | — | |
| math_value_bopt | INT | 10–256 | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| continuity_payload | STRING | — |
| contract | IAMCCS_SUPERNODE_CONTRACT | — |
| linx | IAMCCS_SUPERNODE_LINX | — |
| source_images_passthrough | IMAGE | — |
| start_images | IMAGE | — |
| extended_images | IMAGE | — |
| overlap_frames_out | INT | — |
| calculated_frames | INT | — |
| extension_frames | INT | — |
| report | STRING | — |