IAMCCS WAN Shotboard Loop Accumulator Linear Blend
The loop accumulator that knows how to crossfade properly
- chunk_images
- previous_images
- images
- frame_count
- report
The plain IAMCCS_WanShotboardLoopAccumulator hides chunk seams with a linear crossfade. Its Linear Blend sibling, IAMCCS_WanShotboardLoopAccumulatorLinear, is the version that takes crossfades seriously: five overlap modes, including gamma-corrected and Lab-color-space blending, so a bright scene dissolving into a dark one doesn't produce the washed-out gray mush a naive linear mix gives you.
Same job, fancier toolbox. You feed it decoded chunk_images each loop pass, it accumulates them onto previous_images into one growing images timeline, and it trims the duplicated overlap between chunks (trim_first_frames_after_first) before joining. The difference is entirely in the overlap_mode dropdown.
The five overlap modes
cut- no blending, just trim and concatenate. The fast, clean option for exactly-aligned chunks.linear_blend- the default, same as the basic accumulator. Good enough for most seams.ease_in_out- an eased ramp instead of a straight linear one, so the transition has a slight S-curve. Feels smoother to the eye than constant-rate blending, particularly on slower shots.filmic_crossfade- blends in gamma-corrected (linear light) space and converts back. This is the "correct" dissolve: it preserves brightness across the transition instead of dipping through a dark band. When two chunks differ a lot in exposure, this is the one that keeps the seam invisible.perceptual_crossfade- converts the blend frames to Lab color space, blends there, and converts back. Best color fidelity of the group, and it costs the most compute. On low-end cards the node falls back to a plain blend gracefully if the color conversion isn't available.
overlap_frames (default 5) sets the blend window; loop_index is lazy so it only re-runs when a chunk actually changes.
Outputs: images (the accumulated timeline), frame_count, and a report telling you the mode, frames trimmed, and overlap frames actually used.
Install
Standard IAMCCS-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
or ComfyUI Manager → search "IAMCCS" → restart. No models. ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.
Choosing between the two accumulators
Honest guidance: if your chunks are close in exposure and color, the basic accumulator's linear blend is fine and simpler. Upgrade to this one when (a) you're crossfading between shots with very different brightness - the gamma-corrected filmic_crossfade is a genuine fix, not marketing - or (b) you want ease_in_out for softer motion at the seam. perceptual_crossfade is the "I care about this transition" button; use it sparingly on long renders, because Lab-space blending over thousands of frames adds up. And remember both accumulators work in pixel space - they smooth the join, but they can't rescue a chunk that drifted off-palette in generation.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| chunk_images | IMAGE | — | |
| loop_index | INT | 00–100000 | — |
| trim_first_frames_after_first | INT | 10–512 | — |
| overlap_mode | COMBO | linear_blend | 5 options: cut, linear_blend, ease_in_out, filmic_crossfade, perceptual_crossfade |
| overlap_frames | INT | 50–512 | — |
| previous_imagesopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| frame_count | INT | — |
| report | STRING | — |