VRAM tiers · measured gates across our fleet · Updated July 2026
A 12GB GPU runs 4 of the 12 AI workloads we benchmark and is locked out of 8. 12GB is where local AI starts feeling like a real tool rather than a demo. A 14B coding assistant fits, SDXL is comfortable, and LTX video comes into range. The wall is still FLUX and anything past 14B. Every floor below is measured: we ran each model on each card until it failed, and published where it failed.
12GB is where local AI starts feeling like a real tool rather than a demo. A 14B coding assistant fits, SDXL is comfortable, and LTX video comes into range. The wall is still FLUX and anything past 14B.
What runs on 12GB. Measured floors from our own gate testing
| Model | Type | VRAM floor | On 12GB? |
|---|---|---|---|
| Qwen3 4B | LLM | ~5GB | Runs |
| Llama 3.1 8B | LLM | ~8GB | Runs |
| Stable Diffusion XL | Image | ~8GB | Runs |
| Qwen2.5-Coder 14B | LLM | ~11.5GB | Runs |
| Z-Image Turbo | Image | ~13GB | Won't fit (short 1GB) |
| LTX-Video | Video | ~14GB | Won't fit (short 2GB) |
| Wan 2.2 (720p) | Video | ~18GB | Won't fit (short 6GB) |
| Qwen3 32B | LLM | ~20GB | Won't fit (short 8GB) |
| FLUX.1-dev | Image | ~26GB | Won't fit (short 14GB) |
| FLUX.1 Kontext | Editing | ~26GB | Won't fit (short 14GB) |
| Llama 3.3 70B | LLM | ~42GB | Won't fit (short 30GB) |
| Qwen-Image-Edit | Editing | ~42GB | Won't fit (short 30GB) |
Floors are measured at Q4_K_M for language models and BF16 for diffusion (SDXL at FP16). A smaller quantisation lowers the requirement and the quality, we don't mix precisions in one column.
What 12GB actually delivers, NVIDIA GeForce RTX 3060, single stream, Q4_K_M
Measured on our bench. NVIDIA GeForce RTX 3060 is the highest-scoring 12GB card in our data (AI Score 2.6/100). Speed at a given tier varies with bandwidth, capacity decides what runs, bandwidth decides how fast.
Two things decide whether a GPU can do AI, and people consistently get the order wrong. Capacity decides what runs. Bandwidth decides how fast it runs. Capacity comes first, because a model that doesn't fit doesn't run slowly: it doesn't run at all, and no amount of bandwidth rescues it. That's why our AI Score treats a won't-fit as a zero rather than quietly excluding it. The practical consequence: shop for the VRAM tier that clears the models you actually intend to use, then optimise for bandwidth within that tier. Buying a faster card at the same capacity gets you a percentage. Buying the next capacity tier up can get you a model you literally could not run before.
12GB is the sensible minimum for anyone serious about local AI in 2026. On our measured gates, 12GB clears 4 of 12 workloads and misses 8, the nearest being Z-Image Turbo at ~13GB, short by 1GB. Buy capacity first and bandwidth second: capacity decides what runs, bandwidth only decides how fast.
The VRAM floors on this page are measured, not calculated. We ran every model in our suite on every GPU in our fleet and recorded where it failed. When a model exceeds a card's VRAM we publish a hard won't-fit result with the requirement we observed, rather than quietly dropping to a smaller quantisation to produce a number, a card that can't run a model scores zero on it in our AI Score. LLMs are measured at Q4_K_M on llama.cpp (llama-bench, -p 512 -n 128). Diffusion and video run at BF16 on diffusers/ComfyUI, with SDXL at FP16. Floors are for those precisions: running a model at a smaller quantisation will lower its VRAM requirement and its quality, and we don't mix the two in one column. Two caveats worth stating plainly. First, these floors assume the model is the only thing on the card: a display attached to the same GPU, or a desktop compositor, eats into your headroom. Second, some workloads gate on system RAM as well as VRAM, LTX-Video wants roughly 20GB of host RAM and Wan 2.2 wants around 38GB, and a card with enough VRAM in a RAM-starved machine still fails. We gate on both. Speed figures are single-GPU, single-stream, batch-size-1, from our own runs. Cards labelled Measured were rented and run by us; Estimated cards are interpolated per workload against those anchors and labelled on every row.