leejet/stable-diffusion.cpp
Summary
A lightweight C/C++ inference engine for diffusion models, supporting a wide range of image and video generation models with active development and day-0 support for new releases.
View Cached Full Text
Cached at: 09/24/26, 03:10 PM
leejet/stable-diffusion.cpp
Source: https://github.com/leejet/stable-diffusion.cpp
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
- Video Models
- 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
- Image Models
- 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)
- Pytorch checkpoint (
- 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!
Similar Articles
AUTOMATIC1111/stable-diffusion-webui
This open-source project provides a feature-rich web interface for Stable Diffusion, enabling users to easily generate, edit, and upscale images using various AI models and extensions. Built with Gradio, it supports txt2img, img2img, inpainting, and numerous community-driven tools for local AI image generation.
Bringing Nunchaku 4-bit Diffusion Inference to Diffusers
Nunchaku, a 4-bit diffusion inference engine based on SVDQuant, is now natively integrated into Hugging Face Diffusers, enabling fast and memory-efficient loading of quantized diffusion models with a simple from_pretrained() call.
Conditional Diffusion Under Linear Constraints: Langevin Mixing and Information-Theoretic Guarantees
This paper analyzes zero-shot conditional sampling with pretrained diffusion models for linear inverse problems, providing information-theoretic guarantees and proposing a projected-Langevin initialization method.
DiffusionGemma
Google released DiffusionGemma, an open-weight text generation model (26B parameters, 4B active) under Apache 2 license, demonstrating high inference speeds via NVIDIA's NIM cloud API.
Nemotron-Labs-Diffusion from NVIDIA
NVIDIA released the Nemotron-Labs-Diffusion model family (3B to 14B) that supports both AR and diffusion decoding with novel self-speculation, achieving significant speedups (up to 4x) over standard AR and Eagle3 methods across hardware platforms.