Go to file
2025-12-10 00:26:07 +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 feat: add ovis image support (#1057) 2025-12-07 12:32:56 +08:00
examples refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +08:00
ggml@2d3876d554 sync: update ggml 2025-10-24 00:32:45 +08:00
thirdparty feat: add wan2.1/2.2 support (#778) 2025-09-06 18:08:03 +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 fix: avoid precision issues on vulkan backend (#980) 2025-11-16 20:57:08 +08:00
conditioner.hpp refactor: optimize the handling of embedding (#1068) 2025-12-08 23:59:04 +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: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
diffusion_model.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
Dockerfile chore: fix dockerfile libgomp1 dependency + improvements (#852) 2025-10-11 00:17:45 +08:00
Dockerfile.musa feat: upgrade musa sdk to rc4.2.0 (#732) 2025-07-28 21:51:11 +08:00
Dockerfile.sycl feat: Add SYCL Dockerfile (#651) 2025-09-14 13:02:59 +08:00
easycache.hpp feat: add easycache support (#940) 2025-11-19 23:19:32 +08:00
esrgan.hpp feat: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +08:00
face_detect.py feat: add PhotoMaker Version 2 support (#358) 2024-11-23 11:50:14 +08:00
flux.hpp feat: add ovis image support (#1057) 2025-12-07 12:32:56 +08:00
format-code.sh chore: add .clang-tidy configuration and apply modernize checks (#902) 2025-10-18 23:23:40 +08:00
ggml_extend.hpp feat: add ovis image support (#1057) 2025-12-07 12:32:56 +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 ovis image support (#1057) 2025-12-07 12:32:56 +08:00
model.h feat: add ovis image support (#1057) 2025-12-07 12:32:56 +08:00
name_conversion.cpp feat: add z-image support (#1020) 2025-12-01 22:39:43 +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 docs: update download link for Stable Diffusion v1.5 (#1063) 2025-12-09 22:06:16 +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 ovis image support (#1057) 2025-12-07 12:32:56 +08:00
stable-diffusion.cpp refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +08:00
stable-diffusion.h refactor: optimize the handling of LoRA models (#1070) 2025-12-10 00:26:07 +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: handle ggml compute failures without crashing the program (#1003) 2025-12-04 22:04:27 +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 refactor: optimize the logic for name conversion and the processing of the LoRA model (#955) 2025-11-10 00:12:20 +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 -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