ArtificialGuyBR

Home / Blog / AI video

Running WAN Video on 8-12 GB: GGUF Quantization Guide

Master GGUF quantization, block swapping, and SageAttention for WAN 2.2 on 8-12 GB GPUs. Complete workflow for 50-series cards.

5 sources cited AI video

Running WAN Video on 8-12 GB: GGUF Quantization, Block Swapping, and SageAttention for 50-Series GPUs

WAN 2.2's official inference scripts require at least 80 GB VRAM at full precision. Three community techniques bring that down to single-digit gigabytes: GGUF weight quantisation, MoE block swapping, and SageAttention2++ kernel acceleration. This guide covers what each technique does, how to install it, and which parameter values to use.

TL;DR

Installation Requirements

ComponentMinimum versionSource
Python≥ 3.9SageAttention README
PyTorch≥ 2.3.0SageAttention README
Triton≥ 3.0.0SageAttention README
SageAttention2.2.0 (--no-build-isolation)SageAttention README
CUDA toolkit≥ 12.8 (Blackwell / SageAttention2++)SageAttention README
diffusers≥ 0.32.2ChronoKnight guide
transformers≥ 4.49.0ChronoKnight guide

Model downloads — place in the ComfyUI models directory as indicated:

ModelDirectoryURL
High-noise expertmodels/diffusion_models/QuantStack/Wan2.2-I2V-A14B-GGUF/HighNoise
Low-noise expertmodels/diffusion_models/QuantStack/Wan2.2-I2V-A14B-GGUF/LowNoise
VAEmodels/vae/QuantStack/Wan2.2-I2V-A14B-GGUF/VAE
Text encodermodels/text_encoders/city96/umt5-xxl-encoder-gguf
Lightning LoRA(LoRA directory)Wan2.2-I2V-A14B-4steps-lora-rank64-Seko-V1

GGUF Quantisation for Low VRAM

GGUF replaces full-precision model weights with compact quantised representations. If you are still deciding what your card can hold at all, start with VRAM requirements by model. The ComfyUI-GGUF custom node loads these at inference time using a "Unet Loader (GGUF)" node instead of the stock diffusion-model loader.

For the umt5-xxl text encoder, the quantiser recommends Q5_K_M or larger for acceptable quality. Smaller quants may still work in resource-constrained scenarios, but the encoder is more sensitive to precision loss than the DiT backbone. (source)

WAN's DiT architecture — like Flux and SD3.5 before it — tolerates quantisation better than convolutional UNet models. This is why GGUF works for WAN where it would degrade most image models more noticeably.

The two GGUF model sets (HighNoise and LowNoise) are direct conversions of the full Wan-AI/Wan2.2-I2V-A14B weights. Original licensing terms remain in effect. (source)

LightX2V LoRA: 4-Step Distillation

The default WAN 2.2 A14B pipeline uses 40 denoising steps (confirmed by the official config: sample_steps = 40). LightX2V distills this to 4 steps without CFG, claiming a 20× speed-up while keeping output quality close to the base model. (source)

The LoRA adapter is rank 64, compatible with both native ComfyUI workflows and Kijai's WanVideoWrapper. The LightX2V team notes a known limitation: videos with extremely large motion may contain artifacts, and vehicle direction can occasionally reverse. (source)

Supported LoRA variants

VariantTypeNotes
Wan2.2-I2V-A14B-NFE4-V1I2V4 steps, rank 64
Wan2.2-T2V-A14B-NFE4-V1.1T2VV1.1 quality slightly better than V1
TI2V-5BStill on the todo list (not yet released)

(source)

SageAttention2++ on 50-Series GPUs

SageAttention replaces the standard scaled_dot_product_attention with quantised kernels. Version 2.2.0 bundles SageAttention2++, which uses INT8 quantisation for QK^T and FP8 for PV, with two-level accumulation to preserve accuracy in FP8 matrix multiply-accumulate operations. (source)

The authors claim 2–5× speed-up over FlashAttention without losing end-to-end metrics across language, image, and video models. (source)

For WAN specifically, the repo ships a plug-in file — example/modify_model/modify_wan.py — containing a SageWanAttnProcessor class and a set_sage_attn_wan() helper that patches every attention block in the transformer. It handles both self-attention (with RoPE) and the I2V cross-attention path for image encoder context.

50-series cards require CUDA ≥ 12.8 and Triton ≥ 3.0.0. The ChronoKnight ComfyUI guide (source) walks through the full installation: clean Python 3.13.2, CUDA 12.8 toolkit, Visual Studio Build Tools 2022 with C++ desktop workload, then pip-installing triton-windows and sageattention inside ComfyUI's embedded Python. The author marked the guide outdated since the latest ComfyUI update, so check for newer instructions.

Quick SageAttention install (Linux / standard ComfyUI)

pip install sageattention==2.2.0 --no-build-isolation

On Windows portable ComfyUI, use the embedded Python and add --use-sage-attention to your launch .bat.

MoE Block Swapping

WAN 2.2 A14B uses a Mixture-of-Experts architecture with two transformer sets — covered in depth in our guide to the high-noise and low-noise experts: a high-noise expert for early denoising and a low-noise expert for later stages. (source)

The WanMOE KSampler automates the switch between experts at the diffusion timestep where the signal-to-noise ratio crosses 1:1. The key parameter is boundary:

The relationship between boundary timestep and denoising step is non-linear — it depends on total step count, sampler, noise schedule, and sigma shift. (source)

Kijai's ComfyUI-WanVideoWrapper takes a different approach: it swaps individual transformer blocks between GPU and system RAM during inference, allowing the model to fit in VRAM well below its native footprint. Unmerged LoRA weights are now treated as block buffers and swap along with the blocks. (source)

I2V A14B config at a glance

boundary: 0.900
sample_steps: 40
vae_stride: [4, 8, 8]
patch_size: [1, 2, 2]
dim: 5120
ffn_dim: 13824
num_heads: 40
num_layers: 40
sample_shift: 5.0
sample_guide_scale: [3.5, 3.5]

(source)

What the Sources Report on VRAM and Speed

The dossier explicitly flagged VRAM budgets and generation times as gaps — no primary source gives verified numbers across different cards. What the community articles do report:

MetricValueCardSource
I2V generation time (5 s video)~15 minutesRTX 3060 12 GB, 1440×960 @ 60 fps, 6 stepsarkinson
T2V generation time (5 s video)~10–12 minutesRTX 3060 12 GB, 1440×960 @ 60 fps, 6 stepsarkinson
Base model VRAM requirement≥ 80 GBAny card, full precision, no quantisationWan-Video/Wan2.2

The 1440×960 @ 60 fps output comes from 2× upscaling and 4× framerate multiplication applied after base generation — not from native high-resolution inference. (source)

Both the arkinson workflow and the ChronoKnight 50-series guide have been flagged as outdated by their authors. (sources, 13010)

For the wider set of speed techniques beyond low-VRAM work, see making local video generation faster.

Common Errors

SymptomCauseFix
SageAttention install failsWrong CUDA version or missing C++ build toolsCUDA ≥ 12.8, Visual Studio Build Tools 2022 with C++ workload (source)
Triton won't compile on 50-seriesUsing standard Triton instead of triton-windowsInstall triton-windows package, not stock triton (source)
torch.compile first-run OOM spikeOld Triton cache or stale pytorch/tritonDelete ~/.triton and torchinductor_* temp dirs (source)
LoRA increases VRAM unexpectedlyLoRA weights are now block buffers in WanVideoWrapperSwap more blocks to compensate (e.g., +2 blocks per 1 GB LoRA) (source)

Frequently Asked Questions

What GGUF quant level should I use for the text encoder?

Q5_K_M or larger. The city96 repo notes this is a non-imatrix quant, so smaller quants degrade faster. For resource-constrained setups, smaller levels "may still provide decent results," but Q5_K_M is the stated minimum recommendation. (source)

Do I need SageAttention, or can I skip it?

SageAttention is optional but significant. It gives 2–5× attention kernel speed-up. One community workflow (arkinson's RTX 3060 guide) explicitly runs without Triton or SageAttention, relying on block swapping and LightX2V LoRA alone. (source) The ChronoKnight guide, by contrast, considers both essential for 50-series cards. (source)

What's the difference between the WanMOE KSampler and Kijai's block swap?

The WanMOE KSampler switches between the high-noise and low-noise expert models at the correct diffusion timestep. Kijai's WanVideoWrapper swaps individual transformer blocks to and from system RAM to reduce VRAM usage. They solve different problems and can be combined. (sources, kijai/ComfyUI-WanVideoWrapper)

What supported samplers work with these workflows?

The community workflows tend to use euler and uni_pc samplers. (source)

Does LightX2V LoRA work with GGUF-quantised models?

The TwoMoreLurker workflow ships a Lightning variant alongside the standard GGUF variant, implying compatibility. Both load through the same GGUF Unet loader. (source)

Sources

  1. QuantStack/Wan2.2-I2V-A14B-GGUF — GGUF model cards, download links
  2. city96/umt5-xxl-encoder-gguf — Text encoder quantisation guidance
  3. thu-ml/SageAttention — SageAttention2++ installation and benchmarks
  4. stduhpf/ComfyUI-WanMoeKSampler — MoE boundary parameter values
  5. Wan-Video/Wan2.2 — Official model configs and architecture
  6. city96/ComfyUI-GGUF — GGUF loader for ComfyUI
  7. kijai/ComfyUI-WanVideoWrapper — Block swap implementation and LoRA memory notes
  8. lightx2v/Wan2.2-Lightning — LightX2V LoRA details and known limitations
  9. wan_i2v_A14B.py config — Official I2V A14B parameters
  10. SageAttention modify_wan.py — Wan attention processor integration
  11. TwoMoreLurker — Civitai 18162 — Low-VRAM I2V workflow
  12. arkinson — Civitai 17955 — RTX 3060 12 GB workflow with timing data
  13. aipinups69 — Civitai 12380 — Wan 2.1 12 GB GGUF workflows
  14. ChronoKnight — Civitai 13010 — 50-series Triton + SageAttention install guide