Wan SVI?FLF Bridge Pro Plus
When SVI and FLF won't play nice, split the jump in two
- positive
- negative
- anchor_samples
- prev_samples
- end_samples
- clip_vision_start_image
- clip_vision_end_image
- bridge_image
- vae
- positive
- negative
- latent
- trim_slots
The hard part of mixing SVI and FLF isn't either technique - it's the transition. You're rolling along with SVI continuation, and then a generation asks the model to lock to an end frame that's far away from where the motion actually is. If the gap is too big, you get a jump, a crossfade bleed, or a clip that visibly scrambles to reach the target. Wan SVI→FLF Bridge Pro Plus is IAMCCS's answer: give it an optional middle image and it splits that one big jump into two smaller, sane transitions inside a single generation.
What it does
On top of the full WanImageMotionPro control set - positive/negative conditioning, anchor_samples, length, motion (1.15), motion_mode, safety_preset, vram_profile, the prev_samples/end_samples LATENT inputs, and the FLF knobs use_end_frame, end_lock_slots, lock_start_slots, end_overshoot_slots - it adds the bridge machinery:
- bridge_image (optional) - an IMAGE that sits mid-transition. Pass a still that's visually between where you are and where you're going.
- bridge_position (0.5) - where along the clip it lands (0 = start, 0.5 = middle, 1 = end).
- bridge_strength (1) - how hard the bridge image pulls the latents around it.
- bridge_slots (2) - how many temporal latent slots the bridge affects.
- bridge_mode -
disabled,blend_middle, orhard_middle.hard_middleoverwrites the middle slots;blend_middlenudges them. Start withblend_middleand only go hard if the middle of the clip drifts.
Plus the other continuation helpers: clip_vision_mode, continuity_profile, prev_skip_last_slots, latent_refresh, delta_max, and the preset dropdown - the raw preset bypasses the advanced features and reproduces the original FLF+SVI behavior, which is handy as a benchmark.
Outputs are the standard motion-node set: positive, negative, latent, and trim_slots (how many overshoot slots to cut after sampling).
How it works
Mechanically it's the same conditioning builder as WanImageMotionPro - start anchored via concat-mask, motion tail pulled from prev_samples, end hard-locked to end_samples - with one extra stage: it injects the bridge image into the temporal conditioning at the chosen slot range, so the model walks toward the bridge first and only then toward the end frame. The jump that used to be one hard ask becomes two small ones, and small asks are what video models are good at. The "Simple" in the name means it's the trimmed-down UI variant of the Bridge Pro node, not a cut-down engine.
Installing it
Ships in IAMCCS-nodes. ComfyUI Manager (search "IAMCCS"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart after. The node itself carries no weights - you still need a Wan 2.2 I2V model plus the SVI Pro LoRAs (Kijai's WanVideo_comfy) for the pipeline it feeds.
Common issues
Two gotchas worth knowing. First, if the bridge doesn't fire at all, check preset and continuity_profile - a continuity profile or the raw preset is documented to skip bridge injection by design, so a non-[custom] setting can silently disable it. Second, the KJNodes warning applies here too: end_overshoot_slots > 0 has been known to crash with an einops shape mismatch when KJNodes WAN attention optimizations (FETA/wrapped_attention) are enabled. The tooltip's workaround is boring and correct: set overshoot to 0 or update KJNodes. And if your middle frames come out frozen rather than bridged, blend_middle at a lower bridge_strength is usually the fix - hard_middle can over-constrain.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| length | INT | 811–16384 | — |
| anchor_samples | LATENT | — | |
| motion_latent_count | INT | 10–16 | — |
| motion | FLOAT | 1.151–2 | — |
| motion_mode | COMBO | motion_only (prev_samples) | 2 options: motion_only (prev_samples), all_nonfirst (anchor+motion) |
| add_reference_latents | BOOLEAN | false | — |
| vram_profile | COMBO | normal | 5 options: normal, chunked_blocks_2, chunked_blocks_4, loop_per_frame (lowest_vram), cpu_offload (slowest) |
| include_padding_in_motion | BOOLEAN | false | — |
| safety_preset | COMBO | safe | 4 options: base, safe, safer, legacy |
| use_end_frame | BOOLEAN | true | — |
| end_lock_slots | INT | 10–16 | — |
| lock_start_slots | INT | 10–16 | — |
| end_overshoot_slots | INT | 00–8 | — |
| latent_refresh | FLOAT | 0.000–1 | — |
| delta_max | FLOAT | 0.00–5 | — |
| clip_vision_mode | COMBO | end_only | 4 options: auto, end_only, start_only, none |
| prev_skip_last_slots | INT | 10–16 | Ignore the last N temporal latent slots from prev_samples before extracting the motion tail. Useful when the carried SVI tail keeps too much of the previous scene and causes background crossfade. |
| bridge_position | FLOAT | 0.500–1 | — |
| bridge_strength | FLOAT | 1.000–1 | — |
| bridge_slots | INT | 21–8 | — |
| bridge_mode | COMBO | hard_middle | 3 options: disabled, blend_middle, hard_middle |
| continuity_profile | COMBO | off | 8 options: off, SVI_CONTINUITY, SVI_CONTINUITY_PREV_SAFE, SVI_CONTINUITY_PREV_AGGRESSIVE, SVI_CONTINUITY_END_ONLY, SVI_CONTINUITY_MOTION_SAFE, +2 |
| preset | COMBO | [custom] | 13 options: [custom], raw, raw overshoot, svi continuity, svi continuity prev safe, svi continuity prev aggressive, +7 |
| prev_samplesopt | LATENT | — | |
| end_samplesopt | LATENT | — | |
| clip_vision_start_imageopt | CLIP_VISION_OUTPUT | — | |
| clip_vision_end_imageopt | CLIP_VISION_OUTPUT | — | |
| bridge_imageopt | IMAGE | — | |
| vaeopt | VAE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |
| trim_slots | INT | — |