stable-diffusion.cpp is a lightweight, high-performance implementation of Stable Diffusion and related generative models written entirely in portable C/C++, designed to run on virtually any device without heavy dependencies. It enables text-to-image and image-to-image generation, supports a growing set of models like SD1.x, SD2.x, SDXL, SD-Turbo, Qwen Image, and more, and is continually updated with support for cutting-edge model variants including video and image editing models. The project is built on the ggml backend, which allows efficient execution on CPUs and GPUs via backends like CUDA, Vulkan, Metal, OpenCL, and SYCL, making it suitable for everything from desktops to mobile devices. It includes options for ControlNet, LoRA models, upscaling via ESRGAN, and advanced sampling techniques, giving developers and users a rich toolkit for creative workflows.
Features
- Portable C/C++ inference engine for diffusion models
- Wide model support (SD1.x, SD2.x, SDXL, Turbo, Qwen Image, etc.)
- Multi-backend acceleration (CPU, CUDA, Vulkan, Metal, OpenCL)
- ControlNet, LoRA, and advanced sampling support
- Upscaling via ESRGAN and latent decoding optimizations
- Bindings for Python, Rust, Go, and Flutter