WanImageToVideoSVIProFLF
SVI gives you length. This node gives you a destination.
- positive
- negative
- prev_samples
- anchor_samples
- end_samples
- positive
- negative
- latent
SVI 2 Pro's whole trick is length. It's an error-recycling LoRA that lets Wan 2.2 keep going past its 81-frame ceiling - 20-25 seconds of continuous footage on one consumer GPU, which is why it became the default long-form path on Wan. But the honest complaint in every celebration thread is that you get length and nothing else: faces drift, expressions change every few seconds, and the shot wanders wherever the model feels like going. This node is the main event of the Well-Made pack, and it attacks the control half of that problem. It stitches Wan SVI 2 Pro motion continuity at the start of each segment to a hard-locked, FLF-style last frame at the end, so every clip you generate ends where you decided it ends.
How it works
It's conditioning surgery, not a sampler. The node builds one "concat latent" block, injects it - plus a mask - into both your positive and negative conditionings, then hands you an empty latent for the sampler to fill.
The block starts with anchor_samples (usually your first frame as a latent). If you feed in prev_samples from the previous segment, it appends the last motion_latent_count temporal slots of that clip onto the front - that's the SVI-style motion continuity, letting the new segment literally continue the old one's trajectory instead of re-anchoring from a still. The whole thing gets padded to the temporal length Wan expects (stride 4, so length in frames becomes (length-1)//4+1 latent slots), then the final slots are overwritten with end_samples when you've connected one. The mask marks the first slot and those end slots as locked (concat_mask = 0), which forces the sampler to honor them rather than paint over them.
Two 2026 updates reshaped the ergonomics. end_samples is now optional, and there's a use_end_samples boolean toggle, so you can run a segment with the last-frame pull and fall back to pure SVI 2 Pro on the next one without rewiring a single wire. Handy. If you grabbed the pack before Feb 21, 2026, update - there was a bug where the last frame could be silently ignored, and it's fixed.
The inputs that matter
length- target frames (default 81, step 4, must land on Wan's stride).anchor_samples- first frame (or a very short clip) latent for this segment.prev_samples- the previous segment's latents; its lastmotion_latent_countslots continue the motion.end_samples- optional target end latent; defines the locked tail.motion_latent_count- how many tail slots to inherit, 1–2 is typical, 0 disables continuity.use_end_samples- master switch for the FLF behavior.
It outputs positive, negative (the patched conditionings) and latent - an all-zeros latent of the right shape. Wire all three into a Wan sampler; the pack ships equivalent workflows for KSampler (Advanced) and SamplerCustomAdvanced plus a video-extension variant, so you can pick whichever you already use.
Installing it
ComfyUI Manager (search Wan-SVI2Pro-FLF) or:
cd ComfyUI/custom_nodes
git clone https://github.com/Well-Made/ComfyUI-Wan-SVI2Pro-FLF.git
Then restart ComfyUI. There's no requirements.txt and pyproject declares no Python dependencies - the code is pure ComfyUI. The real setup is the models: Wan 2.2 I2V-A14B plus the SVI 2.0 Pro HIGH/LOW LoRA pair (the README links SFW and NSFW versions with a speed LoRA baked in). If you already run SVI 2 Pro, your current combo should mostly work.
Where people get burned
- Ghosting or doubling at the seam. The VAE splits latents inconsistently and it's not really controllable. Nudge the
overlapslider in the Image Batch Extend With Overlap node by a step or two. - Washed-out frames. Bump the Adjust Contrast node to about 1.2.
- Prompt not following. Try a longer clip (81–101 frames) so the model has room, and rephrase "starting to do X" as "doing X" - it needs runway to commit to an action.
It's a young, low-traffic pack (the author announced it on r/StableDiffusion in Feb 2026), but one early commenter reported chaining five generations with no degradation. It won't hold identity - nothing on Wan does - and it doesn't touch Bernini, which neither does FLF nor works with SVI. If you're chaining Wan 2.2 for long-form, this is a genuine alternative to IAMCCS-Nodes' SVI Pro v2 nodes, and unlike those it ships with the stitching workaround built in. That workaround is the next node in this pack.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| length | INT | 811–16384 | Target video length in frames. Wan video latents use a temporal stride of 4. |
| prev_samples | LATENT | Previous segment latents (B,C,T,H,W). The last motion_latent_count temporal slots will be used to continue motion (SVI Pro style). | |
| anchor_samples | LATENT | Anchor latent(s) for the current segment (B,C,T,H,W). Typically the first frame (or a very short clip) of this segment. | |
| use_end_samples | BOOLEAN | true | If enabled, the node will use end_samples (when connected) to hard-lock the last temporal slots of the clip. If disabled, behavior falls back to pure SVI Pro even if end_samples is provided. |
| motion_latent_count | INT | 10–16 | How many last temporal latent slots to copy from prev_samples. 0 = no motion continuity; 1–2 is typical for smooth transitions. |
| end_samplesopt | LATENT | Optional target end latent(s), in Wan video latent format (B,C,T,H,W). The last temporal slots of this tensor will define the last slots of the clip (FLF-style hard lock). |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |