Go to file
2025-12-21 15:40:21 +08:00
.github chore: add compute kernels to Windows CUDA build (#1062) 2025-12-07 22:12:50 +08:00
assets docs: update logo 2025-12-07 15:09:32 +08:00
docs docs: document usage of tae for VRAM reduction using wan (#1108) 2025-12-19 23:31:09 +08:00
examples feat: default to LCM scheduler for LCM sampling (#1109) 2025-12-18 21:43:39 +08:00
ggml@f5425c0ee5 sync: update ggml (#1082) 2025-12-14 01:23:34 +08:00
thirdparty feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
.clang-format style: format code 2024-01-29 23:05:18 +08:00
.clang-tidy chore: add .clang-tidy configuration and apply modernize checks (#902) 2025-10-18 23:23:40 +08:00
.dockerignore chore: add sd Dockerfile 2023-08-22 22:14:20 +08:00
.gitignore feat: add image preview support (#522) 2025-11-10 00:12:02 +08:00
.gitmodules feat: add wan2.1/2.2 support (#778) 2025-09-06 18:08:03 +08:00
clip.hpp refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +08:00
CMakeLists.txt feat: embed version string and git commit hash (#1008) 2025-12-09 22:38:54 +08:00
common.hpp perf: optimize ggml_ext_chunk (#1084) 2025-12-14 01:22:41 +08:00
conditioner.hpp fix: resolve embedding loading issue when calling generate_image multiple times (#1078) 2025-12-12 23:08:12 +08:00
control.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
denoiser.hpp feat: add KL Optimal scheduler (#1098) 2025-12-18 21:02:55 +08:00
diffusion_model.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
Dockerfile feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
Dockerfile.musa feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
Dockerfile.sycl feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
easycache.hpp feat: add easycache support (#940) 2025-11-19 23:19:32 +08:00
esrgan.hpp feat: support custom upscale tile size (#896) 2025-12-10 22:25:19 +08:00
face_detect.py feat: add PhotoMaker Version 2 support (#358) 2024-11-23 11:50:14 +08:00
flux.hpp feat: add support for Chroma Radiance x0 (#1091) 2025-12-20 00:55:57 +08:00
format-code.sh feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
ggml_extend.hpp fix: avoid crash with VAE tiling and certain image sizes (#1090) 2025-12-15 23:51:40 +08:00
gguf_reader.hpp feat: add wan2.1/2.2 support (#778) 2025-09-06 18:08:03 +08:00
gits_noise.inl fix: clang complains about needless braces (#618) 2025-03-09 12:26:41 +08:00
latent-preview.h feat: add Flux.2 VAE proj matrix for previews (#1017) 2025-12-09 22:00:45 +08:00
LICENSE Initial commit 2023-08-13 16:00:22 +08:00
llm.hpp feat: add ovis image support (#1057) 2025-12-07 12:32:56 +08:00
lora.hpp fix: resolve issue with concat multiple LoRA output diffs at runtime (#985) 2025-11-17 22:56:07 +08:00
ltxv.hpp refactor: introduce GGMLRunnerContext (#928) 2025-11-02 02:11:04 +08:00
mmdit.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
model.cpp feat: add support for Chroma Radiance x0 (#1091) 2025-12-20 00:55:57 +08:00
model.h feat: add ovis image support (#1057) 2025-12-07 12:32:56 +08:00
name_conversion.cpp feat: add support for underline style lora of flux (#1103) 2025-12-18 21:44:16 +08:00
name_conversion.h feat: support applying LoRA at runtime (#969) 2025-11-13 21:48:44 +08:00
ordered_map.hpp refactor: optimize the logic for name conversion and the processing of the LoRA model (#955) 2025-11-10 00:12:20 +08:00
pmid.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
preprocessing.hpp refactor: unify the naming style of ggml extension functions (#921) 2025-10-28 23:26:48 +08:00
qwen_image.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
README.md feat: simple openai image generation api compatiple server (#1037) 2025-12-13 13:53:21 +08:00
rng_mt19937.hpp feat: add cpu rng (#977) 2025-11-16 14:48:15 +08:00
rng_philox.hpp chore: add .clang-tidy configuration and apply modernize checks (#902) 2025-10-18 23:23:40 +08:00
rng.hpp chore: add .clang-tidy configuration and apply modernize checks (#902) 2025-10-18 23:23:40 +08:00
rope.hpp feat: add scale_rope support (#1121) 2025-12-21 15:40:21 +08:00
stable-diffusion.cpp feat: select vulkan device with env variable (#629) 2025-12-21 15:35:38 +08:00
stable-diffusion.h feat: default to LCM scheduler for LCM sampling (#1109) 2025-12-18 21:43:39 +08:00
t5.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
tae.hpp feat: add taehv support for Wan/Qwen (#937) 2025-12-16 22:57:34 +08:00
tokenize_util.cpp feat: add flux2 support (#1016) 2025-11-30 11:32:56 +08:00
tokenize_util.h feat: add Qwen Image support (#851) 2025-10-12 23:23:19 +08:00
unet.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
upscaler.cpp feat: support custom upscale tile size (#896) 2025-12-10 22:25:19 +08:00
util.cpp refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +08:00
util.h refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +08:00
vae.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
version.cpp feat: embed version string and git commit hash (#1008) 2025-12-09 22:38:54 +08:00
vocab_mistral.hpp feat: add flux2 support (#1016) 2025-11-30 11:32:56 +08:00
vocab_qwen.hpp feat: add Qwen Image support (#851) 2025-10-12 23:23:19 +08:00
vocab_umt5.hpp feat: add wan2.1/2.2 support (#778) 2025-09-06 18:08:03 +08:00
vocab.hpp feat: add sd3 support (#298) 2024-07-28 15:44:08 +08:00
wan.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
z_image.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00

stable-diffusion.cpp

leejet%2Fstable-diffusion.cpp | Trendshift

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

  • 2025/12/01 🚀 stable-diffusion.cpp now supports Z-Image
    👉 Details: PR #1020

  • 2025/11/30 🚀 stable-diffusion.cpp now supports FLUX.2-dev
    👉 Details: PR #1016

  • 2025/10/13 🚀 stable-diffusion.cpp now supports Qwen-Image-Edit / Qwen-Image-Edit 2509
    👉 Details: PR #877

  • 2025/10/12 🚀 stable-diffusion.cpp now supports Qwen-Image
    👉 Details: PR #851

  • 2025/09/14 🚀 stable-diffusion.cpp now supports Wan2.1 Vace
    👉 Details: PR #819

  • 2025/09/06 🚀 stable-diffusion.cpp now supports Wan2.1 / Wan2.2
    👉 Details: PR #778

Features

Quick Start

Get the sd executable

Download model weights

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.

Bindings

These projects wrap stable-diffusion.cpp for easier use in other languages/frameworks.

UIs

These projects use stable-diffusion.cpp as a backend for their image generation.

Contributors

Thank you to all the people who have already contributed to stable-diffusion.cpp!

Contributors

Star History

Star History Chart

References