一段时间没有使用生图,本地的 Stable Diffusion 环境(Forge 和 ComfyUI)都出现问题。借此机会重新整理一遍使用要点,以便后续快速恢复。
主流 UI 对比
Stable Diffusion 的官方 WebUI 已停止维护,主要替代方案有两种:
Forge
- 继承自官方 WebUI,保持了类似的操作方式
- 界面直观,上手难度低
- 功能完整,支持大部分扩展插件
- 适合快速生成和实验
ComfyUI
- 采用工作流(workflow)方式,以节点图表组织操作
- 灵活性强,可精细控制每一步参数
- 学习曲线陡峭,使用复杂度较高
- 适合需要精细调试和工程化应用
ComfyUI 复用模型
如果已有 Stable Diffusion WebUI 的模型库,ComfyUI 可以直接复用,避免重复下载。
配置步骤:
- 找到 ComfyUI 根目录中的
extra_model_paths.yaml.example文件 - 重命名为
extra_model_paths.yaml - 编辑
base_path,指向 stable-diffusion-webui 所在目录(支持相对路径)
示例配置:
checkpoints: models/Stable-diffusion
configs: models/Stable-diffusion
vae: models/VAE
loras: |
models/Lora
models/LyCORIS
upscale_models: |
models/ESRGAN
models/RealESRGAN
models/SwinIR
embeddings: embeddings
hypernetworks: models/hypernetworks
controlnet: models/ControlNet
配置后重启 ComfyUI,即可在 UI 中看到已有的模型。
常见问题
VRAM 不足警告
错误信息: This number is lower than the safe threshold; This may cause extreme slow performance
解决方案: 增加启动参数 --reserve-vram 2
bash ./webui.sh --reserve-vram 2
这会为系统保留 2GB 显存,降低 OOM 风险,但代价是生成速度会变慢。根据显卡显存调整数值。
生成黑色图像
原因: 模型使用了错误的 VAE
解决方案:
- 查看模型说明文档,确认使用的 VAE 类型
- 检查 VAE 文件是否已下载到正确位置(
models/VAE/) - 在 WebUI 或 ComfyUI 中显式选择正确的 VAE
- 重新生成
常见的 VAE 类型有 vae-ema-pruned.safetensors(通用)和模型特定的 VAE。模型作者通常会在模型页面备注。
恢复建议
环境出现问题时,按以下顺序排查:
- 重新安装依赖:
pip install -r requirements.txt - 检查 Python 和 CUDA 版本:确保兼容性
- 清理缓存:删除生成的临时文件
- 更新到最新版本:UI 和依赖库可能有修复
- 参考官方文档:Forge 和 ComfyUI 的 GitHub 仓库都有详细的故障排查指南
模型知识
模型文件格式
现在从 Civitai(C站)下载的模型主要有两种格式:
| 格式 | 说明 | 推荐度 |
|---|---|---|
safetensors | PyTorch 的安全序列化格式,执行时不运行任意代码,更安全 | ⭐⭐⭐ 推荐 |
ckpt | 早期 Stable Diffusion 使用的 Pickle 格式,不安全,可能执行恶意代码 | ⚠️ 不推荐 |
建议:优先选择 safetensors 格式的模型。
模型类型和位置
Safetensors 格式下还要细分为不同的用途,需要放在对应的目录中。根据配置文件,主要类型如下:
| 类型 | 目录 | 用途 | 说明 |
|---|---|---|---|
| Checkpoint | models/Stable-diffusion/ | 基础模型 | 主模型,定义了整个模型结构和权重 |
| VAE | models/VAE/ | 编解码器 | 将图像在像素空间和隐空间之间转换,影响图像质量 |
| LoRA | models/Lora/ | 轻量级微调 | 小文件,快速调整模型风格或细节,可叠加使用 |
| LyCORIS | models/LyCORIS/ | 高级微调 | LoRA 的改进版本,性能更优 |
| Embedding | embeddings/ | 提示词增强 | 自定义概念或风格,通过提示词调用 |
| ControlNet | models/ControlNet/ | 控制模块 | 通过输入图像(如线稿、姿态)精确控制生成 |
| Upscale | models/ESRGAN/ 等 | 超分放大 | 提升图像分辨率,包括 ESRGAN、RealESRGAN、SwinIR 等 |
| Hypernetwork | models/hypernetworks/ | 风格转换 | 较旧的微调方式,功能类似 LoRA |
模型精度
模型文件通常有两种精度版本:
| 精度 | 文件大小 | 显存占用 | 质量 | 适用场景 |
|---|---|---|---|---|
| fp32 | 大(~7GB) | 高 | 最高,精度最好 | 高端显卡、追求最高质量 |
| fp16 | 中等(~4GB) | 中等 | 基本无差异 | 大多数情况下的标准选择 |
建议:一般选择 fp16 版本,既能保证质量,又能节省显存。
模型优化
Pruned(剪枝)模型:
- 移除了模型中不必要的权重和参数
- 文件大小更小(通常小 10-20%)
- 质量影响微乎其微,肉眼难以察觉
- 推荐使用,特别是在显存有限的情况下
常见模型对比
Stable Diffusion 1.5(SD 1.5)
- 特点:早期主流模型,生态完善
- 优势:资源消耗少、插件和 LoRA 最丰富、社区资源多
- 劣势:生成能力相对较弱,需要精细的提示词调优
- 适用:轻量级应用、老旧硬件
Stable Diffusion XL(SDXL)
- 特点:改进的大模型,生成质量大幅提升
- 优势:无需精细提示词、效果好、官方推荐
- 劣势:显存占用较高(12GB+)、相比 1.5 体积更大
- 适用:中高端硬件、追求高质量输出
Anima
- 特点:专门为二次元、动漫风格优化的模型
- 创建方:CircleStorm Labs 与 ComfyOrg 联合推出
- 优势:动漫风格效果专业、支持识别日文提示词、优化了二次元生成能力
- 必需组件:
anima_baseV10_txt:基础模型文本编码器qwen_image_vae:专用 VAE,用于图像编解码
- 加速优化:
anima-turbo-lora可减少步数至 8-12 步,大幅降低显存占用和生成时间 - 适用:动漫和二次元创作
模型元数据
为模型添加预览图片和描述信息,便于在 UI 中快速识别和选择。
添加预览图:
在模型文件的同目录下,创建同名的预览图文件:
models/Stable-diffusion/my-model.safetensors
models/Stable-diffusion/my-model.webp # 或 .jpg
UI 会自动识别并显示这个预览图。
编辑模型信息:
点击 UI 中模型缩略图右上角的配置图标,可以编辑模型的描述、标签等信息。
模型查询和存档
查询已下载模型的来源:
如果需要了解已下载模型文件的信息,可以计算其哈希值:
sha256sum model_name.safetensors
然后在 Civitai(C站)中搜索该哈希值。
模型已被删除的情况:
如果在 C 站找不到,可以到 Civitai Archive 查询归档版本。
使用技巧
Forge(WebUI)
预设和快速加载:
- 在 Generate 按钮页面,有预设选项可设置基础风格的提示词,方便快速切换
- 点击 Checkpoint 模型会自动加载到 UI,然后即可直接使用
LoRA 集成提示词:
- LoRA 模型支持预设正向和反向提示词
- 在 UI 中点击 LoRA 可将其提示词添加到输入框
- 再次点击可移除
- 注意:如果中途手动修改了提示词,UI 将无法正确识别和移除自动插入的部分
反推提示词:
- Forge Neo 已删除了内置的反推功能
- 可用 WD14 Tagger 插件替代(集成在 Forge 中)
- 或使用独立工具 TagGui
ComfyUI
待补充工作流最佳实践。
最后修改于 2026-06-17