Table of Contents
Flux.1 FP16 doesn’t fit in 12 GB. Flux.1 Q4 GGUF transformer + FP8 T5 encoder does — just barely. The setup: ComfyUI with the GGUF loader, flux1-schnell-Q4_K_S.gguf or flux1-dev-Q4_K_S.gguf, plus t5xxl_fp8_e4m3fn.safetensors. Schnell (4 steps) is comfortable at 12 GB; Dev (28 steps) is very tight — max 1024×1024.
Can RTX 5070 Run Flux.1?
Yes — but quantised, not at full FP16. Flux.1 Dev at full FP16 requires approximately 24 GB of VRAM when the transformer, T5-XXL text encoder, CLIP-L, VAE, and working memory are all resident. The RTX 5070 has 12 GB. The solution is to quantise the transformer to Q4 GGUF and use the FP8 variant of T5-XXL, which together reduce the total pipeline footprint to ~11–12 GB.
Quality impact: Q4 GGUF on the Flux transformer retains excellent visual quality. The quantisation affects weights, not the diffusion process itself — outputs are comparable to FP16 at the same prompt and seed. The FP8 T5 encoder introduces marginal prompt-following reduction that’s imperceptible in typical use.
For a full image generation guide covering SD 1.5 and SDXL too, see RTX 5070 for Stable Diffusion. To see which card handles Flux.1 at FP16, see best GPU for Flux.1.
VRAM Math for Flux.1 on 12 GB
Breaking down each Flux.1 pipeline component:
| Component | FP16 size | FP8 size | Q4 GGUF size |
|---|---|---|---|
| Flux transformer (12B) | ~12 GB | ~6 GB | ~7 GB (Q4_K_S) |
| T5-XXL text encoder | ~5 GB | ~2.5 GB | ~2.5 GB (GGUF) |
| CLIP-L encoder | ~0.5 GB | ~0.25 GB | ~0.25 GB |
| VAE | ~0.3 GB | ~0.3 GB | ~0.3 GB |
| Working memory (1024×1024) | ~4–6 GB | ~3–4 GB | ~2–3 GB |
| Total (recommended config) | ~22–24 GB | — | ~12–13 GB |
Recommended config for RTX 5070: Q4_K_S GGUF transformer + FP8 T5 + standard CLIP + standard VAE = ~10–11 GB weights, ~1–2 GB working memory at 1024×1024. Total: ~11–12 GB. Fits — but leaves minimal headroom. Stay at 1024×1024 max resolution.
ComfyUI Setup for Flux.1
Download the required model files:
# Download Flux GGUF files from Hugging Face
# Schnell (4-step, faster):
wget https://huggingface.co/city96/FLUX.1-schnell-gguf/resolve/main/flux1-schnell-Q4_K_S.gguf \
-O ComfyUI/models/unet/flux1-schnell-Q4_K_S.gguf
# Dev (28-step, higher quality):
wget https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q4_K_S.gguf \
-O ComfyUI/models/unet/flux1-dev-Q4_K_S.gguf
# FP8 T5 encoder (saves ~2.5 GB vs FP16)
wget https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors \
-O ComfyUI/models/clip/t5xxl_fp8_e4m3fn.safetensors
# Standard CLIP-L
wget https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors \
-O ComfyUI/models/clip/clip_l.safetensors
# VAE
wget https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors \
-O ComfyUI/models/vae/ae.safetensors
In ComfyUI, use a GGUF Loader node (from the ComfyUI-GGUF custom node pack) to load the transformer. Wire it to the standard dual CLIP loader (CLIP-L + T5 FP8), VAE, and KSampler as normal. The GGUF loader handles the dequantisation on-the-fly on the GPU — no performance penalty vs loading a static quantised checkpoint.
# Install ComfyUI-GGUF support
cd ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF
pip install -r ComfyUI-GGUF/requirements.txt
Flux.1 Schnell: The Easy Route
Flux.1 Schnell is the recommended starting point for 12 GB. At Q4_K_S + FP8 T5:
- Total VRAM: ~10 GB (transformer 7 GB + T5 FP8 2.5 GB + CLIP 0.5 GB)
- Working memory at 1024×1024: ~1.5 GB
- Total: ~11.5 GB — comfortable
- 4 steps → fast generation, ~3 s per image
- 1152×1152 possible (~0.5 GB extra working memory)
Schnell is technically a distilled model (fewer steps, lower quality ceiling than Dev) but for most practical image generation it’s indistinguishable from Dev at steps 4 vs 28.
Flux.1 Dev: The Careful Route
Flux.1 Dev at Q4_K_S + FP8 T5 is tighter:
- Total VRAM: ~10 GB weights (same as Schnell)
- Working memory at 1024×1024: ~2–3 GB (Dev’s 28 denoising steps each maintain a larger state)
- Total: ~12–13 GB — right at the limit
To stay within 12 GB on Dev:
- Use
--lowvramin ComfyUI:python main.py --lowvram --listen - Enable VAE tiling in ComfyUI (Settings → VAE → Tiling) to reduce VAE decode peak memory
- Stick to 1024×1024 — avoid 1280×1280 or above
- Use the
flux1-dev-Q4_K_S.gguf(not Q8 — Q8 is too large)
Speed Comparison
| Config | Steps | Resolution | Est. time (RTX 5070) |
|---|---|---|---|
| Flux.1 Schnell Q4 GGUF | 4 | 1024×1024 | ~3 s |
| Flux.1 Schnell Q4 GGUF | 4 | 1152×1152 | ~4 s |
| Flux.1 Dev Q4 GGUF | 20 | 1024×1024 | ~10 s |
| Flux.1 Dev Q4 GGUF | 28 | 1024×1024 | ~13 s |
RTX 5070 vs 24 GB Cards for Flux
| GPU | Flux.1 Dev FP16? | Flux.1 Dev Q4? | Dev speed est. | Price |
|---|---|---|---|---|
| RTX 5070 | No (12 GB) | Yes (tight) | ~13 s | £139/mo |
| Arc Pro B60 | Tight (24 GB via OpenVINO) | Yes (comfortable) | ~20 s (OpenVINO) | £129/mo |
| RTX 3090 | Yes (with T5 offload) | Yes (comfortable) | ~10 s | £159/mo |
| RTX 5090 | Yes (32 GB) | Yes | ~5 s | £399/mo |
If Flux.1 Dev at full FP16 is your primary requirement, the RTX 3090 at £159/mo or Arc Pro B60 at £129/mo are better fits. For Flux.1 Schnell at Q4 where speed matters more than max quality, the RTX 5070’s Blackwell CUDA stack is fast and efficient.
Run Flux.1 on the RTX 5070
12 GB GDDR7 · GGUF Q4 + FP8 T5 · Schnell comfortable, Dev tight · £139/mo · Order the RTX 5070 or compare all GPUs.