Table of Contents
RTX 5070 runs SD 1.5 and SDXL with ease — SDXL at ~8 GB FP16 leaves 4 GB of headroom for single ControlNet stacks. Flux.1 Schnell and Dev need Q4 GGUF quantisation to fit in 12 GB. Full CUDA stack: xformers, FlashAttention, all nodes. Setup is standard pip install torch — no special flags.
RTX 5070 for Stable Diffusion: The Quick Answer
Yes — SDXL runs great, Flux.1 runs quantised, SD 1.5 is trivial. The RTX 5070 is a full-CUDA Blackwell card with 12 GB GDDR7 and ~672 GB/s memory bandwidth. For image generation, that bandwidth figure matters: VAE decode and attention cache reads are bandwidth-bound, and GDDR7’s fast per-pin speed compensates for the 192-bit bus width.
The limitation is VRAM capacity. Flux.1 Dev at full FP16 needs ~24 GB — it won’t fit. Flux.1 with a Q4 GGUF transformer compresses to ~7 GB, and the full pipeline (T5 encoder ~5 GB, CLIP ~0.5 GB, VAE ~0.3 GB, working memory at 1024×1024 ~4 GB) lands around 11–12 GB total — fitting with care. For pure SDXL workflows, 12 GB is plenty.
For the full GPU comparison for image generation see best GPU for Stable Diffusion. For a deeper Flux.1 breakdown see RTX 5070 for Flux.1.
VRAM Table: What Fits on 12 GB
| Model | Precision | Peak VRAM | Fits 12 GB? | Notes |
|---|---|---|---|---|
| SD 1.5 | FP16 | ~4 GB | Yes — 8 GB free | Batch 4+ possible |
| SD 2.1 | FP16 | ~5 GB | Yes — 7 GB free | 768px native |
| SDXL base | FP16 | ~8 GB | Yes — 4 GB free | 1024px comfortable |
| SDXL + refiner | FP16 | ~14 GB | No (load sequentially) | Swap refiner in after base |
| SDXL + 1× ControlNet | FP16 | ~11 GB | Yes — 1 GB tight | Single ControlNet fits |
| SDXL + 2× ControlNet | FP16 | ~13–14 GB | No | Exceeds 12 GB |
| Flux.1 Schnell (Q4 GGUF) | Q4 | ~10 GB | Yes — 2 GB free | Recommended path |
| Flux.1 Dev (Q4 GGUF) | Q4 | ~11–12 GB | Tight fit | Use 1024px; avoid 1536px |
| Flux.1 Dev (FP16) | FP16 | ~24 GB | No | Needs 24 GB card |
ComfyUI Setup
Standard CUDA setup — no special flags needed on the RTX 5070:
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
# Standard PyTorch CUDA install
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
# Launch (auto-detects CUDA GPU)
python main.py --listen 0.0.0.0 --port 8188
All standard ComfyUI custom nodes work — ControlNet preprocessors, IP-Adapter, AnimateDiff, GGUF loaders, xformers. The RTX 5070’s 5th Gen Tensor Cores are automatically used by PyTorch for BF16/FP16 matrix operations. Enable xformers for faster attention:
pip install xformers
python main.py --use-xformers --listen 0.0.0.0 --port 8188
Automatic1111 Setup
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
# Standard CUDA launch
./webui.sh --xformers --listen --port 7860
The --xformers flag enables efficient attention on CUDA cards and gives ~10–20% speed improvement on SDXL. For the RTX 5070 also consider --opt-sdp-attention which uses PyTorch’s native scaled dot-product attention path (often faster on Blackwell with FlashAttention 3):
./webui.sh --opt-sdp-attention --listen --port 7860
Flux.1 on 12 GB
Flux.1 needs careful VRAM management on 12 GB. The recommended approach:
Flux.1 Schnell Q4 GGUF via ComfyUI GGUF loader:
- Transformer (Q4 GGUF): ~7 GB
- T5-XXL text encoder: ~5 GB — this is the problem. T5 alone is 5 GB.
Wait — T5 at FP16 is ~5 GB. If you load the T5 encoder in FP8 (using the t5xxl_fp8_e4m3fn.safetensors variant), it drops to ~2.5 GB. Combined with Q4 transformer (~7 GB) + CLIP (~0.5 GB) + VAE (~0.3 GB) + working memory (~2 GB at 1024×1024): ~12.3 GB. This is the approach that makes Flux.1 work on 12 GB:
- Use Q4 or Q8 GGUF transformer (via ComfyUI GGUF loader)
- Use T5 FP8 (
t5xxl_fp8_e4m3fn.safetensors) instead of FP16 - Stay at 1024×1024 max resolution
- For Flux.1 Schnell: 4 steps, so working memory pressure is lower — fits more comfortably
ControlNet and IP-Adapter
On 12 GB, SDXL + single ControlNet is the safe combination:
- SDXL + depth ControlNet: ~10.5 GB ✓
- SDXL + canny ControlNet: ~10.5 GB ✓
- SDXL + IP-Adapter (standard): ~9.5 GB ✓
- SDXL + ControlNet + IP-Adapter: ~12–12.5 GB — very tight, may OOM at larger resolutions
- SDXL + 2× ControlNet: ~13–14 GB — won’t fit on 12 GB
For stacked multi-ControlNet workflows, the RTX 3090 at £159/mo or Arc Pro B60 at £129/mo (both 24 GB) are better fits.
Speed Estimates
| Model | Steps | Resolution | Estimated time |
|---|---|---|---|
| SD 1.5, DPM++ 2M | 20 | 512×512 | ~1.0 s |
| SD 1.5, DPM++ 2M | 20 | 768×768 | ~2.0 s |
| SDXL base, Euler a | 30 | 1024×1024 | ~5 s |
| SDXL + xformers, Euler a | 30 | 1024×1024 | ~4 s |
| Flux.1 Schnell, Q4 GGUF | 4 | 1024×1024 | ~3 s |
| Flux.1 Dev, Q4 GGUF | 28 | 1024×1024 | ~12 s |
Speed estimates based on Blackwell Xe2 compute specs and community benchmarks. Actual times vary with scheduler and exact model. The RTX 5070’s high GDDR7 bandwidth makes it fast at SDXL — faster than any 16 GB GDDR6 card in this price range.
RTX 5070 vs RTX 5060 Ti for Image Gen
| Factor | RTX 5070 (£139/mo) | RTX 5060 Ti (£119/mo) |
|---|---|---|
| VRAM | 12 GB GDDR7 | 16 GB GDDR7 |
| Bandwidth | ~672 GB/s | ~448 GB/s |
| SDXL speed | ~4–5 s | ~5–6 s |
| Flux.1 FP16 | No (12 GB) | No (16 GB — still not enough) |
| Flux.1 Q4 GGUF | Tight (12 GB) | Comfortable (16 GB) |
| SDXL + 2× ControlNet | No (OOM) | Yes (16 GB) |
| SDXL raw speed | Faster | Slower (lower bandwidth) |
For pure speed on SDXL, the RTX 5070 wins. For Flux.1 and multi-ControlNet stacking, the RTX 5060 Ti’s extra 4 GB is meaningful. See the full RTX 5070 vs 5060 Ti comparison.
Deploy the RTX 5070 for image generation
12 GB GDDR7 · SDXL, Flux.1 Q4, SD 1.5 · Full CUDA · £139/mo · Order the RTX 5070 or compare all GPUs.