stable-diffusion.cpp 高性能本地生图与视频生成全攻略

Stable Diffusion.cpp 高性能本地生图与视频生成

本文基于 2026 年 4 月最新资料整理,涵盖 SD、Z-Image、FLUX 及 Wan 视频模型的全栈部署与实战。
stable-diffusion.cpp(简称 sd.cpp)是基于 ggml的纯 C/C++ 推理引擎。它彻底摆脱了 Python 和 PyTorch 的臃肿依赖,通过底层优化实现了极低的内存占用(最低 4GB VRAM)和极快的推理速度,支持 CUDA、Vulkan、Metal 等多种后端,是低配置设备运行 AI 绘画的首选方案。

一、环境部署与编译

1. 获取预编译版本(推荐新手)

官方 GitHub Releases 页面提供了 Windows (.exe)、Linux 和 macOS 的预编译二进制文件,开箱即用。

1
2
# 前往 Releases 下载对应平台的 sd-cli 或 sd-server
# 例如 Windows: sd-cli.exe, Linux: sd-cli

2. 源码编译(自定义加速后端)

如需开启 CUDA、OpenBLAS 或 Vulkan 加速,需从源码编译。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 1. 克隆代码(务必递归子模块)
git clone --recursive https://github.com/leejet/stable-diffusion.cpp.git
cd stable-diffusion.cpp

# 2. 创建构建目录
mkdir build && cd build

# 3. CMake 配置(根据硬件选择)
# 基础 CPU 版本
cmake ..
# CUDA 加速(NVIDIA GPU)
cmake .. -DGGML_USE_CUBLAS=ON
# Vulkan 加速(AMD/Intel/跨平台)
cmake .. -DGGML_USE_VULKAN=ON

# 4. 编译
cmake --build . --config Release

编译后产物位于 ./bin/Release/目录下。

检查PNG/JPEG格式文件的元数据信息

元数据模式可以在不加载任何模型的情况下,检查PNG/JPEG格式文件的元数据信息。

1
2
3
4
./bin/sd-cli -M metadata --image ./output.png
./bin/sd-cli -M metadata --image ./output.jpg --metadata-format json
./bin/sd-cli -M metadata --image ./output.png --metadata-raw
./bin/sd-cli -M metadata --image ./output.png --metadata-all

二、模型准备(GGUF / Safetensors)

  • safetensors 版
    • 官方原版、高精度、完整权重
    • 适合 ComfyUI、Diffusers、PyTorch 等主流 AI 绘图框架
  • GGUF 版
    • 量化压缩版、轻量版
    • 适合 llama.cpp、stable-diffusion.cpp、GGUF 专用插件 等轻量推理环境

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

1
curl -L -O https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

Generate an image with just one command

1
./bin/sd-cli -m ../models/v1-5-pruned-emaonly.safetensors -p "a lovely cat"

For detailed command-line arguments, check out cli doc.

qwen_image

qwen_image.md
https://hf-mirror.com/QuantStack
https://hf-mirror.com/QuantStack/Qwen-Image-GGUF
https://hf-mirror.com/Comfy-Org/Qwen-Image_ComfyUI/resolve/main/split_files/vae/qwen_image_vae.safetensors
https://hf-mirror.com/unsloth/Qwen2.5-VL-7B-Instruct-GGUF?show_file_info=Qwen2.5-VL-7B-Instruct-Q4_K_M.gguf

文生图

1
./sd-cli.exe --diffusion-model  ./models/qwen-image-2512-Q4_K_M.gguf --vae ./models/qwen_image_vae.safetensors  --llm ./models/Qwen2.5-VL-7B-Instruct-Q4_K_M.gguf  -p '一个穿着"17you"标志的T恤的中国美女正拿着黑色的马克笔面相镜头微笑。她身后的玻璃板上手写体写着 “一、Qwen-Image的技术路线: 探索视觉生成基础模型的极限,开创理解与生成一体化的未来。二、Qwen-Image的模型特色:1、复杂文字渲染。支持中英渲染、自动布局; 2、精准图像编辑。支持文字编辑、物体增减、风格变换。三、Qwen-Image的未来愿景:赋能专业内容创作、助力生成式AI发展。”' --cfg-scale 2.5 --sampling-method euler -v --offload-to-cpu -H 1024 -W 1024 --diffusion-fa --flow-shift 3 -o "./test3.png"

FLUX.1/FLUX.2

FLUX.1/FLUX.2
https://hf-mirror.com/black-forest-labs
https://hf-mirror.com/leejet
https://modelscope.cn/models/black-forest-labs/FLUX.2-dev/files?version=master
文生图

1
./sd-cli.exe --diffusion-model "./models/flux-2-klein-4b-Q4_0.gguf"   --llm "./models/Qwen3-4B-Q4_K_M.gguf"   --vae "./models/FLUX.2-dev-ae.safetensors"   --offload-to-cpu   --vae-tiling   --vae-on-cpu  -p "a lovely dog"   -W 512 -H 512 --steps 4 --cfg-scale 1.0 --sampling-method euler  -o "./test.png"  --diffusion-fa -v

生图优秀,速度快,中文标题失败

Z-Image-Turbo

z-image
https://hf-mirror.com/jayn7/Z-Image-Turbo-GGUF
https://hf-mirror.com/unsloth/Qwen3-4B-GGUF
vae
VAE(变分自编码器)​ 是 Stable Diffusion 和 FLUX 模型中的“画质解码器”

  • 作用:模型在推理时生成的是“潜空间噪声”,VAE 负责将这些抽象的噪声数据解码成你能看懂的 RGB 高清图片。没有 VAE,你只能得到一堆乱码数据。
  • 文件识别:在 black-forest-labs/FLUX.1-schnell仓库中,对应的 VAE 文件名通常是 ae.safetensors(约 335MB)
来源下载地址(直接点击或复制到下载工具)备注
**HF Mirror (推荐)**​https://hf-mirror.com/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors国内速度最快的镜像站
ModelScopehttps://modelscope.cn/models/AI-ModelScope/FLUX.1-schnell/files需进入页面手动查找 ae.safetensors下载

z-image 文生图(CLI)

z-image

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
./sd-cli.exe --diffusion-model "./models/z_image_turbo-Q4_K_M.gguf"   --llm "./models/Qwen3-4B-Q4_K_M.gguf"   --vae "./models/ae.safetensors"   --offload-to-cpu   --vae-tiling   --vae-on-cpu  -p "a lovely cat"   -W 512 -H 512 --steps 9 --cfg-scale 1.0 --sampling-method euler  -o "./test.png" --diffusion-fa

./sd-cli.exe --diffusion-model "./models/z_image_turbo-Q4_K_M.gguf"   --llm "./models/Qwen3-4B-Q4_K_M.gguf"   --vae "./models/ae.safetensors"   -p "a lovely cat"  -o "./test3.png" --cfg-scale 1.0 -v --offload-to-cpu --diffusion-fa -H 1024 -W 512  --steps 9

#  启用CPU卸载与分块解码
./sd-cli.exe -M img_gen `
  --diffusion-model "./models/z_image_turbo-Q5_K_M.gguf" `
  --llm "./models/Qwen3-4B-Q5_K_M.gguf" `
  --vae "./models/ae.safetensors" `
  --offload-to-cpu `       # 关键:将部分权重卸载到系统内存
  --vae-tiling `           # 关键:启用VAE分块解码,避免大显存峰值
  --vae-on-cpu `           # 关键:强制VAE在CPU上运行
  -p "A simple test" `
  -W 512 -H 512 --steps 9 --cfg-scale 0.0 `  # 先降低分辨率测试
  --sampling-method euler `
  -o "./test.png"
  
  # 纯 CPU 模式
  ./sd-cli.exe -M img_gen `
  --diffusion-model "./models/z_image_turbo-Q3_K.gguf" `  # 必须用最低量化
  --llm "./models/Qwen3-4B-Q3_K.gguf" `
  --vae "./models/ae.safetensors" `
  -b cpu `                      # 关键:强制使用CPU后端
  -t 4 `                        # 设置CPU线程数(根据你的CPU核心数调整)
  -p "A simple test" `
  -W 512 -H 512 --steps 9 --cfg-scale 0.0 `
  --sampling-method euler `
  -o "./test.png"
  
  # 改用Q4
  ./sd-cli.exe -M img_gen `
  --diffusion-model "./models/z_image_turbo-Q4_K_M.gguf" `  
  --llm "./models/Qwen3-4B-Q4_K_M.gguf" `                   # LLM也需对应降级
  --vae "./models/ae.safetensors" `
  -p "A simple test" `
  -W 512 -H 512 --steps 9 --cfg-scale 0.0 `                 # 先试512x512
  --sampling-method euler `
  -o "./test.png"
  

参数解析
cli/README

  • -M / --mode:run mode, one of [img_gen, vid_gen, upscale, convert, metadata], default: img_gen
  • -m / --model:指定主模型路径。
  • -p:提示词(Prompt)。
  • -W / -H:宽高(Z-Image 支持非 64 倍数分辨率)。
  • --steps:采样步数(Z-Image 仅需 4-8 步)。
  • --cfg-scale:提示词相关性(Z-Image 推荐 1.0-1.5)。
  • --sampling-method:可选的采样方式,包括[euler、euler_a、heun、dpm2、dpm_2s_a、dpm_2m、dpm_2mv2、ipndm、ipndm_v、lcm、ddim_trailing、tcd、res_multistep、res_2s]等。默认情况下,对于Flux/SD3/Wan场景,使用euler采样方法;其他情况下则使用euler_a采样方法。
  • --diffusion-fa : - **只在画图核心开 FA,
  • -v, --verbose : 显示详细信息

四、进阶应用:视频生成(Wan 2.2)

sd.cpp已支持最新的 Wan 2.1/2.2​ 视频生成模型
Wan 2.1/2.2

五、WebUI 图形界面部署

部署 sd-server

官方sd-server支持前端页面
服务启动后,访问,默认端口 1234 : http://127.0.0.1:1234/ 即可使用图形界面。

七、生态整合:MCP 服务

stable-diffusion.cpp可被封装为 **MCP (Model Context Protocol)**​ 服务,供 Claude Desktop、OpenClaw 或 OpenCode IDE 调用。

服务化启动

sd-server

1
2
3
4
5
6
7
Svr Options:
  -l, --listen-ip <string>      server listen ip (default: 127.0.0.1)        
  --serve-html-path <string>    path to HTML file to serve at root (optional)
  --listen-port <int>           server listen port (default: 1234)
  -v, --verbose                 print extra info
  --color                       colors the logging tags according to level   
  -h, --help                    show this help message and exit
1
./sd-server.exe --listen-port 8081   --diffusion-model "./models/flux-2-klein-4b-Q4_0.gguf"  --llm "./models/Qwen3-4B-Q4_K_M.gguf"   --vae "./models/FLUX.2-dev-ae.safetensors"   --offload-to-cpu --vae-tiling --vae-on-cpu --diffusion-fa -v

http://127.0.0.1:8081/

智能体调用

1
2
3
4
5
6
7
8
9
# 智能体调用,可以查看server终端进度,根据配置需要时间可能很长
curl -X POST "http://127.0.0.1:8081/sdapi/v1/txt2img" `
  -H "Content-Type: application/json" `
  -d '{"prompt": "一只可爱的小猫","n":1, "width": 768, "height": 1024, "steps": 6,"cfg_scale":5,"clip_skip":0,"seed":1521052,"denoising_strength":0.6,"negative_prompt":"","init_images":[],"inpainting_mask_invert":null,"inpainting_fill":null}' `
  --output "./testa.png"

# win11
Invoke-RestMethod -Uri "http://127.0.0.1:8081/sdapi/v1/txt2img" -Method Post -Body '{"prompt":"高清封面"}' -ContentType "application/json" -OutFile "./outputs/我的图片.png"
  

IDE 集成(OpenCode/OpenClaw)

在 IDE 的 MCP 配置文件中添加:

1
2
3
4
5
6
7
8
9
{
  "mcpServers": {
    "sd-cpp": {
      "command": "/absolute/path/to/sd-cli",
      "args": ["-m", "/path/to/model.gguf", "--server"],
      "env": {"GGML_USE_CUBLAS": "1"}
    }
  }
}

重启 IDE 后,AI 助手即可直接调用本地 sd.cpp进行图像生成。
stable-diffusion.cpp凭借其极致的性能和轻量级特性,已成为本地 AI 视觉生成的标杆项目。无论是传统的 SD1.5、高效的 Z-Image,还是前沿的 Wan 视频模型,它都能在消费级硬件上提供流畅的体验。建议开发者关注其 GGUF 量化生态,以获得最佳的效率提升。

项目地址和资源

原文链接: https://www.17you.com/freeresources/stable-diffusion-cpp-local-image-video-generation/ 已复制!
寻找合作和资源

如果你也对文章内容或者分享的资源和机会有兴趣,欢迎联系我。

请点击联系我


相关内容