leejet/stable-diffusion.cpp
Diffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C++
About leejet/stable-diffusion.cpp
leejet/stable-diffusion.cpp is an open-source project on GitHub, mainly written in C++. Diffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C++ It currently holds 7,031 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
Git Homed tracks it on the Image Trending board and on the AI Image Trending list.
GitHub Repository Details
README
stable-diffusion.cpp
Diffusion model(SD,Flux,Wan,...) inference in pure C/C++
*Note that this project is under active development. \ API and command-line option may change frequently.*
🔥Important News
- 2026/09/20 🚀 stable-diffusion.cpp adds Day-0 support for Qwen-Image-2.1
- 2026/08/20 🚀 stable-diffusion.cpp now supports LTX-2.5
- 2026/08/04 🚀 stable-diffusion.cpp adds Day-1 support for MiniMax-H3
- 2026/06/25 🚀 stable-diffusion.cpp now supports Krea2
- 2026/06/04 🚀 stable-diffusion.cpp now supports Ideogram4
- 2026/05/31 🚀 stable-diffusion.cpp now supports PiD
- 2026/05/27 🚀 stable-diffusion.cpp now supports Lens
- 2026/05/17 🚀 stable-diffusion.cpp now supports LTX-2.3
- 2026/04/11 🚀 stable-diffusion.cpp now uses a brand-new embedded web UI.
- 2026/01/18 🚀 stable-diffusion.cpp now supports FLUX.2-klein
- 2025/12/01 🚀 stable-diffusion.cpp now supports Z-Image
- 2025/11/30 🚀 stable-diffusion.cpp now supports FLUX.2-dev
- 2025/10/13 🚀 stable-diffusion.cpp now supports Qwen-Image-Edit / Qwen-Image-Edit 2509
- 2025/10/12 🚀 stable-diffusion.cpp now supports Qwen-Image
- 2025/09/14 🚀 stable-diffusion.cpp now supports Wan2.1 Vace
- 2025/09/06 🚀 stable-diffusion.cpp now supports Wan2.1 / Wan2.2
Features
- Plain C/C++ implementation based on ggml, working in the same way as llama.cpp
- Super lightweight and without external dependencies
- Supported models
- Image Models
- SD1.x, SD2.x, SD-Turbo
- SDXL, SDXL-Turbo
- Some SD1.x and SDXL distilled models
- SD3/SD3.5
- FLUX.1-dev/FLUX.1-schnell
- FLUX.2-dev/FLUX.2-klein
- Lens
- Chroma
- Chroma1-Radiance
- Qwen Image
- Qwen Image 2.1
- PiD
- LongCat Image
- Z-Image
- MiniT2I
- SenseNova U1.5
- Ovis-Image
- Anima
- ERNIE-Image
- Boogu Image
- Krea2
- Mage-Flow
- SeFi-Image
- HiDream-O1-Image
- Ideogram4
- LLaDA-Image
- Image Edit Models
- FLUX.1-Kontext-dev
- Qwen Image Edit series
- LongCat Image Edit
- Boogu Image Edit
- Mage-Flow-Edit
- LLaDA-Image Edit
- Video Models
- Wan2.1/Wan2.2
- MiniMax-H3
- LTX-2.3/LTX-2.5
- HunyuanVideo 1.5
- LingBot-Video
- PhotoMaker support.
- IP-Adapter support (SD 1.5 and SDXL, including Plus)
- Control Net support with SD 1.5
- ADetailer
- LoRA support, same as stable-diffusion-webui
- Latent Consistency Models support (LCM/LCM-LoRA)
- Faster and memory efficient latent decoding with TAESD
- Upscale images generated with ESRGAN
- Supported backends
- CPU (AVX, AVX2 and AVX512 support for x86 architectures)
- CUDA
- Vulkan
- Metal
- OpenCL
- SYCL
- Supported weight formats
- Pytorch checkpoint (
.ckptor.pthor.pt) - Safetensors (
.safetensors) - GGUF (
.gguf) - Convert mode supports converting model weights to
.ggufor.safetensors - Supported platforms
- Linux
- Mac OS
- Windows
- Android (via Termux, Local Diffusion)
- Flash Attention for memory usage optimization
- Negative prompt
- stable-diffusion-webui style tokenizer (not all the features, only token weighting for now)
- VAE tiling processing for reduce memory usage
- Sampling method
Euler AEulerHeunDPM2DPM++ 2MDPM++ 2M v2DPM++ 2S aER-SDELCM- Cross-platform reproducibility
--rng cuda, default, consistent with thestable-diffusion-webui GPU RNG--rng cpu, consistent with thecomfyui RNG- Embedds generation parameters into png output as webui-compatible text string
Quick Start
Get the sd executable
- Download pre-built binaries from the releases page
- Or build from source by following the build guide
Download model weights
- download weights(.ckpt or .safetensors or .gguf). For example
- Stable Diffusion v1.5 from https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5
curl -L -O https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors
Generate an image with just one command
./bin/sd-cli -m ../models/v1-5-pruned-emaonly.safetensors -p "a lovely cat"
For detailed command-line arguments, check out cli doc.
Performance
If you want to improve performance or reduce VRAM/RAM usage, please refer to performance guide. For runtime and parameter backend placement, see the backend selection guide.
More Guides
- Troubleshooting
- Backend selection
- RPC
- LoRA
- LCM/LCM-LoRA
- Docker
- Quantization and GGUF
- INT8 convrot safetensors
- Inference acceleration via caching
Bindings
These projects wrap stable-diffusion.cpp for easier use in other languages/frameworks.
- Golang (non-cgo): seasonjs/stable-diffusion
- Golang (cgo): Binozo/GoStableDiffusion
- Golang (non-cgo): l8bloom/gosd
- C#: DarthAffe/StableDiffusion.NET
- Python: william-murray1204/stable-diffusion-cpp-python
- Rust: newfla/diffusion-rs
- Flutter/Dart: rmatif/Local-Diffusion
UIs
These projects use stable-diffusion.cpp as a backend for their image generation.
- GIMP Plugins
- Jellybox
- Stable Diffusion GUI
- Stable Diffusion CLI-GUI
- Local Diffusion
- sd.cpp-webui
- LocalAI
- Neural-Pixel
- KoboldCpp
Contributors
Thank you to all the people who have already contributed to stable-diffusion.cpp!