CivArchive
    Wan 2.2 - SVI2Pro w/ NAG - I2V for 12GB VRAM (Different Loras Per Stage)(Optimized for Speed) - v1.0
    NSFW

    WAN 2.2 / SVI Pro 2 / I2V for 12GB VRAM

    V2.1 - small fix, I accidentally removed the required SVI Low LoRa in Stage 2.

    Obviously an easy fix but for beginners it might be easy to miss.

    • check my Aerith video (3rd video in the list) at the top. (Download Video then drag n' drop it into comfyui) it's a perfect example video of NAG negative prompts working correctly. Note the settings changing per stages. Sometimes nag_scale 8 has to be used with weighted prompts for it to work correctly. This is using all 7 stages and a good example of the many things you can do at CFG 1.

    V2.0 - Adds about 30 seconds to generation time, due to NAG and Inject Latent Noise nodes.

    SamplerCustomWithNAG replaced the old Custom Samplers. If you do not need Negative prompts and want faster gen times, stick with v1.31.

    There is a lot of new stuff to this, so expect some trial and error.

    Added CFG High and Low to the settings.

    Shift is still 9 for better prompting but if you want to retain more face detail use Shift 5. It's a good trade off though.

    Upscale Model:

    RealESRGAN_x2plus.pth

    please report any BUGS!

    Pro Tip!

    Mix and Match High/Low Checkpoints:

    For example: Try using Smooth Mix High and Dasiwa's Low. I got some interesting results!

    Inject Latent Noise

    • Reduces prompt bleeding/carry over to next stage.

    SamplerCustomWithNAG

    • Open CMD: navigate to ComfyUI/custom_nodes folder.

    • Run: git clone https://github.com/BigStationW/ComfyUI-NAG

    • If it fails to install correctly (node not showing up):

      File 1: ComfyUI/custom_nodes/ComfyUI-NAG/chroma/layers.py

      Line 5:

      Change:

      from comfy.ldm.chroma.layers import DoubleStreamBlock, SingleStreamBlock

      To:

      from comfy.ldm.flux.layers import DoubleStreamBlock, SingleStreamBlock

      File 2: ComfyUI/custom_nodes/ComfyUI-NAG/chroma/model.py

      Lines 9–14:

      Change to:

      from comfy.ldm.flux.layers import DoubleStreamBlock, SingleStreamBlock

      from comfy.ldm.flux.layers import timestep_embedding

      from comfy.ldm.flux.layers import (

      DoubleStreamBlock,

      SingleStreamBlock,

      )

      from comfy.ldm.chroma.model import Chroma

      after, close comfyui (don't restart).


    v1.31 - QoL Update and change to Shift Values.

    576x832, This is the resolution I've had the most success with.

    • overlap frames added from subgraph. Recommended to not touch unless you understand what you are changing.

    • Added Preview Animation and Control Random Seed to each sampler instead of a subgraph in the beginning, this way you can preview each clip as they finish, and let the generation continue endlessly if you're doing batches. Just remember to change it from Fixed -> Randomize. Also, don't forget to change it back to Fixed when happy with generation, otherwise it will just start at Sample 1 again.

    • Also, use Shift 9.0, it seems much better than 5.0. Don't forget when using ANY video LoRa, especially High LoRas, start them at 0.5-0.6, the low can usually stay safe at 1.0. This will avoid a lot jittery, jelly animations.

    • If you ever think you lost a seed... just drag the video into Comfyui workspace, and it will always have the seed number it used.

    • If you dont want endless 'preview animation' -> right-click Preview Window and select 'Reload Node', this can be done during generating as well. Or, you can CTRL+B before generation to disable it. This is a QoL update.


    v1.2 - Please update to this version.

    Seed per Sample - fixed.

    1. Seed arrangement were out of order. (I'm not sure how this slipped through.)

    2. Added labels on seed per sample.

    3. Tested each seed on each clip and changed seed to make sure its working correctly.

    Added a preview image after Resize Image so you can check and compare your image to the original.

    For 832x1216 Images use 576x832 resolution if you're using the crop option on resize.

    Modified version of [SVI Pro 2.0 for Low VRAM (8GB)]

    And [Wan2.2 SVI Pro Example KJ]

    • 7 Stage Sample Setup, with each Stage having their own Loras, combined with Sage Attention Cuda for faster speeds.

    • Can save each stage clip if needed.

    • Final Output w/ Upscaler + RIFE for smooth 60FPS.

    • Fast Group Bypasser - for quick access.

    ### Required Models & LoRAs

    GGUF Main Models:

    * [DaSiWa-Wan 2.2 I2V] or

    * [Smooth Mix Version] or

    * [Enhanced NSFW Camera Prompt Adherence]

    > Note: Use a suitable quantization (e.g., Q4 or Q5) based on your available VRAM. I highly recommend DaSiWa-Wan high/low Models, as the Lightning Loras are BAKED in, leaving you only with SVI Loras being required.

    SVI PRO LoRAs (Wan2.2-I2V-A14B):

    * Both Required

    [SVI PRO - HIGH (Rank 128)]

    [SVI PRO - LOW (Rank 128)]

    Text Encoders:

    [WAN UMT5] or

    [NSFW WAN UMT5]

    VAE:

    [Wan 2.1 VAE]

    The following is for Speed Boosts for nVidia Cards - If its already working then skip this!

    Patch Sage Attention Node (sageattn_qk_int8_pv_fp16_cuda) + Model Patch Torch Settings Node (Faster Speed Times):

    Prompt executed in 136.56 seconds <- Sage Attention Disable/FP16 Accumulation = Disable/Allow Compile = False

    Prompt executed in 104.38 seconds <- Sage Attention Enabled/FP16 Accumulation = Enabled/Allow Compile = False

    Prompt executed in 96.26 seconds <-- Sage Attention Enabled/FP16 Accumulation = True/Allow Compile = True

    With this setup you can save a massive 40+ seconds just for one Stage!

    If Sage Attention is not working/crashing comfyui then do the following or use (CTRL+B to bypass the nodes but I highly recommend getting it working for massive speed boost):

    • The following is for Comfyui_windows_portable, do not do it this way if you are using a different setup!

      • Step 1 — Check your PyTorch + CUDA version

    Open CMD in your ComfyUI Portable folder (SAME directory as run_nvidia_gpu.bat) and run the following command:

    .\python_embeded\python.exe -c "import torch; print(torch.__version__, torch.version.cuda)"

    output = 2.9.1+cu130 13.0

    check Python embeded version:

    .\python_embeded\python.exe -V

    output = Python 3.13.9

    Which Means:

    Python: 3.13 (embeded)

    PyTorch: 2.9.1

    CUDA: 13.0

    Warning! If you are unsure how to proceed with the following steps, then paste your error code into Grok/ChatGPT

    for a more detailed analysis.

    Pick the wheel that matches your Python + PyTorch + CUDA output from Step 1.

    That means the correct SageAttention wheel for your setup would be something like this:

    sageattention-2.2.0.post3+cu130torch2.9.0-cp313-cp313-win_amd64.whl

    download the correct wheel for your setup from:

    [List of Wheels]

    It matches Python 3.13 (cp313-cp313), PyTorch 2.9.x, and CUDA 13.0.

    The slight difference in patch version (2.9.1 vs 2.9.0) is fine — this wheel works with PyTorch 2.9.x.

    • Step 2 — Install Wheel (make sure the file is in \ComfyUI_windows_portable, same directory as run_nvidia_gpu.bat)

    Open CMD in your ComfyUI Portable folder and run with the correct wheel file (example below):

    .\python_embeded\python.exe -m pip install "sageattention-2.2.0.post3+cu130torch2.9.0-cp313-cp313-win_amd64.whl"

    • Step 3 — How to check if it works:

    Open CMD in your ComfyUI Portable folder and run:

    .\python_embeded\python.exe -c "import sageattention; print('SageAttention import successful!'); print(dir(sageattention))"

    You should see:

    SageAttention import successful!

    ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_fused', '_qattn_sm80', '_qattn_sm89', '_qattn_sm90', 'core', 'quant', 'sageattn', 'sageattn_qk_int8_pv_fp16_cuda', 'sageattn_qk_int8_pv_fp16_triton', 'sageattn_qk_int8_pv_fp8_cuda', 'sageattn_qk_int8_pv_fp8_cuda_sm90', 'sageattn_varlen', 'triton']

    • Step 4 — confirm if triton attention mode is available:

    Open CMD in your ComfyUI Portable folder and run:

    .\python_embeded\python.exe -c "import sageattention; print('SageAttention import successful!'); print('Triton mode available:' , hasattr(sageattention, 'sageattn_qk_int8_pv_fp16_triton'))"

    You should see:

    SageAttention import successful!

    Triton mode available: True

    if any triton errors run this command:

    .\python_embeded\python.exe -m pip install triton

    Step 5 - now you should be able to use "sageattn_qk_int8_pv_fp16_cuda" with Patch Sage Attention + Model patch Torch Settings Nodes properly.

    Description

    initial release

    FAQ

    Comments (17)

    darkwaterramenJan 13, 2026
    CivitAI

    oh boy. time to test !!

    oatis81259
    Author
    Jan 14, 2026

    let me know it goes!

    darkwaterramenJan 14, 2026

    @oatis81259 I couldn't get it working. lol. I think it is sage attention.

    oatis81259
    Author
    Jan 14, 2026

    @darkwaterramen post the error if you can.

    Promt_OfficialJan 13, 2026
    CivitAI

    For some reason the GGUF Loader KJ will not let me select or change a model. Its just circled in red. Ive tried updating it ect and still nothing. I feel like it has to be something simple. Can you help? Thanks!

    oatis81259
    Author
    Jan 14, 2026· 1 reaction

    It sounds like you have the GGUFs in the wrong folder, they should reside in \models\unet folder. Unless you have them specified differently in: \comfyUI_windows_portable\comfyUI\extra_model_paths.yaml, if this file doesnt exist then this file will exist extra_model_paths.yaml.example. Which means it should be the unet folder. Or depending on your setup it could be models\gguf\

    example how my .yaml file looks:
    # WAN 2.2 extras (keep these if you're using them)

    unet: models/unet # For GGUF high/low noise files — create this folder in Forge Neo and put GGUF here

    text_encoders: models/Text-encoder # Preferred for UMT5 text encoder — create and put it here

    clip: models/clip # Alternative for UMT5 if you prefer

    diffusion_models: models/diffusion_models # Optional alternative for GGUF

    Promt_OfficialJan 14, 2026· 1 reaction

    @oatis81259 This helped me thanks! Was using a template that had folders and files in wrong places

    MarcanOlssonJan 13, 2026· 2 reactions
    CivitAI

    Great workflow, organized and easy to use.

    Don't suppose you have a similar workflow for us none-gguf users?

    UnrealizedGainsJan 13, 2026

    I would love this also

    oatis81259
    Author
    Jan 14, 2026

    I do not, as I'm working with a 3080 @ 12GB vram. BUT, it should be incredibly easy to add. double-click, Models (Top Left Blue Box). Add a "Diffusion Model Loader KJ Node" for both High & Low. Connect each wire as the GGUF is shown, then you can remove the GGUF. weight_type = default, compute_dtype = default, patch cubiaslinear = false, sage_attention = sageattn_qk_int8_pv_fp16_cuda, enable_fp16_accumulation = true. Do the same for the LOW version. Let me know how it works out for ya, as I cant test this myself.

    Dont forget to download the correct safetensors, https://civitai.com/models/1981116?modelVersionId=2512098

    you might have to try out different versions of this model and see what works. Also, the safetensors have lightning loras BAKED in, just like the ggufs so no need for those. Just the SVI Loras.

    MarcanOlssonJan 14, 2026

    @oatis81259 Thanks for helping out! I did as you said but I get an error saying "Prompt output failed validation: DiffusionModelLoaderKJ: Value not in list: model_name: then a bunch of gguf model names"

    I suspect I need to rename the links from Models so that it goes to diffusion model and not gguf model but I'm not smart enough to know how...

    oatis81259
    Author
    Jan 14, 2026

    @MarcanOlsson i think i know whats going on now. On the main workflow (start with the original default untouched one - start fresh), right click that loader box, and click unpack subgraph, then redo the connections like that. Afterwards you can convert back to subgraph if it works. Or you can leave as is if its working.

    MarcanOlssonJan 14, 2026· 1 reaction

    @oatis81259 I think that did it, I don't know how I did it concidering my limit understanding of everything but I got it to work. Thank you so much for taking your time to help me.

    KhainoneJan 16, 2026
    CivitAI

    default settings 7 sample enabled i only get 6 seconds and the video is like ultra fast forward, what im doing wrong ?

    oatis81259
    Author
    Jan 16, 2026

    I thought i had disabled all Fast Group Bypasser except for Sample 1 and Initial Output (and settings enabled of course). Start with 1 Sample, FPS 16, Length 81, do a simple prompt for that 1 sample, generate. If you like it, then do a quick test and enable Final Output / Upscale. It should be very smooth.
    If its still fast let me know what loras your using.

    oatis81259
    Author
    Jan 16, 2026

    i made a small revision, you can download v1.1 to start fresh and let me know how it works out. Stick with just the SVI loras for now. Then add custom loras after its working properly.

    KhainoneJan 17, 2026

    @oatis81259 thnks is working very nice

    Workflows
    Wan Video 2.2 I2V-A14B

    Details

    Downloads
    369
    Platform
    CivitAI
    Platform Status
    Available
    Created
    1/13/2026
    Updated
    6/11/2026
    Deleted
    -