Automatic1111(GitHub 仓库 AUTOMATIC1111/stable-diffusion-webui,下文简称 SD WebUI)是 Stable Diffusion 生态中用户量最大、文档与扩展最齐全的开源生成界面。它把文本生成图(txt2img)、图生图(img2img)、局部重绘(inpaint)、图像放大(Extras)等能力封装进浏览器页面,界面本体基于 Gradio——一个专为机器学习模型设计的开源 Web 框架——同时提供 JSON API 供程序调用,解决「用 Python 脚本手写推理流程」的高门槛问题。 本攻略以截至写作时点的最新正式版 v1.9.3(2024-01-29 发布,此后主分支持续滚动更新)为准,顺序:工具速览卡 → 4 步安装 → 5 分钟上手 → 五大核心能力 → 生产部署与监控 → 与 ComfyUI/Forge/SD.Next 的对比 → 典型场景与常见误区 → 面试题。全部内容基于官方仓库、Wiki 与社区公开资料整理。
掌握 SD WebUI 是 AI 图像方向从业者的入门必选项:它覆盖从出图、参数复现到推理服务封装的大部分真实工作场景,也是向 ComfyUI 等高级工具过渡的基础。
目录
速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。
为什么需要 Automatic1111:降低 Stable Diffusion 的使用门槛
传统方式下,用 diffusers 库或原始 Stable Diffusion 脚本生成一张图,需要自己写 Python、管理 torch 环境、手工指定调度器与采样器、维护模型目录。对设计师和运营人员不现实;对工程师来说,参数复现、多人协作、批量出图同样麻烦——换模型、换采样器都要改代码。
SD WebUI 把整个生成流程收敛为浏览器表单:txt2img、img2img、Extras 等页签各自负责一类任务;模型放入约定目录即可被自动识别;生成的 PNG 会内嵌完整提示词与参数(PNG Info),点一下即可回传复现。它同时提供 --api 启动参数暴露 JSON 接口,批量、排队、集成内部系统都不需要改源码。安装只需 git clone 后运行一个脚本,社区教程也最为丰富。
与同类工具相比,SD WebUI 是「预定流水线」思维:上手快、目录约定清晰、扩展一键安装;而 ComfyUI 走节点式自由编排,Forge/SD.Next 则是它的优化与维护分支。原版生态兼容性最好、教程最多,但 2024 年后正式发版节奏放缓,选型时需权衡维护预期。
安装与环境配置:4 步就绪
步骤一·检查前置条件:Python 3.10.6+(Windows 建议 3.10.6)、Git、NVIDIA 显卡驱动或 Apple Silicon;磁盘预留 10 GB 以上(不含模型)。没有 NVIDIA 显卡只能走 CPU,出图极慢,不建议。
步骤二·克隆并首次启动(Linux / macOS):执行下方命令。首次启动会创建 Python 虚拟环境并下载 torch、Gradio 等依赖,耗时 5-15 分钟,取决于网络。Windows 用户先安装 Python 3.10.6 与 Git,再 git clone 后双击 webui-user.bat,效果相同。
步骤三·配置显存与接口:6 GB 及以下显存加 --medvram,4 GB 用 --lowvram;--xformers 通过优化注意力计算提速降显存。Linux 用 export COMMANDLINE_ARGS 传入;Windows 编辑 webui-user.bat 里的 set COMMANDLINE_ARGS= 一行。
步骤四·验证:终端出现 Running on local URL: http://127.0.0.1:7860 即启动成功,浏览器打开该地址看到界面。若加了 --api,访问 http://127.0.0.1:7860/docs 可看到内置 API 文档(Swagger)。
# 1) 安装:克隆官方仓库git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.gitcd stable-diffusion-webui # 2) 配置:xformers 注意力优化 + 中等显存模式 + 开启 JSON API# 6GB 显卡推荐;4GB 显卡把 --medvram 换成 --lowvram;仅界面使用可不加 --apiexport COMMANDLINE_ARGS="--xformers --medvram --api" # 3) 启动:出现 Running on local URL 即成功./webui.sh
快速上手:安装后 5 分钟生成第一张图
SD WebUI 不自带模型,生成前必须准备一个 checkpoint(模型权重文件)。整体思路:放模型 → 启动 → 选模型 → 填提示词 → 点生成,全程无需写代码。
1. 下载模型:从 Civitai 或 Hugging Face 下载 .safetensors 格式的 checkpoint(如 SD1.5 系列,约 2-4 GB),放入 models/Stable-diffusion/ 目录。
2. 启动与访问:运行 ./webui.sh(Windows 为 webui-user.bat),浏览器打开 http://127.0.0.1:7860。
3. 选择模型:页面顶部有 Checkpoint 下拉框,点右侧刷新图标,再选中刚放入的模型;不选模型直接生成会报错。
4. 填写提示词:txt2img 页签的正向提示词填 a cute corgi wearing sunglasses, soft studio lighting, high detail,负向提示词填 blurry, lowres, extra limbs;采样器 Euler a、步数 20、CFG Scale 7、尺寸 512×512 保持默认。
5. 查看与复现:点 Generate,进度条走完后右侧显示图片;点击图片可查看完整参数,用 PNG Info 页签打开同一张图即可一键回传所有设置。
进阶技巧:固定 Seed 后只改提示词做对照实验;Batch count 设为 4 批量出图;采样器换为 DPM++ 2M Karras 对比画质与速度。
核心能力详解:五大支柱
支柱一·提示词工程与参数控制。正向与负向提示词两套输入是出图质量的根基;括号权重语法 (keyword:1.2) 可强化某个词的作用,{A|B} 提示词矩阵会自动生成 A、B 两组变体。Steps(采样步数)、CFG Scale(提示词贴合强度,越高越贴但超过约 12 易过曝)、Seed(随机种子,固定后结果可复现)、Hires fix(两阶段高分辨率修复,先小尺寸构图再放大重绘)共同构成可复现的实验参数面。
支柱二·img2img 全链路。上传底图后由 Denoising strength(重绘强度,0 为原图不动、1 接近重画)控制改动幅度;同页签下还有 sketch(涂鸦转图)、inpaint(局部重绘,用蒙版指定修改区域)与 outpaint(外扩画布)模式。商品图改色、换背景、修瑕疵、扩构图都在这里完成。
支柱三·模型生态管理。模型统一放在 models/ 下按类型分目录:Stable-diffusion 放主模型、VAE 放变分自编码器(负责解码像素细节)、Lora 放低秩适配权重、embeddings 放文本反转向量。点击「额外网络」卡片可预览并批量加载,LoRA 会以 <lora:名称:0.8> 形式写入提示词;VAE 选择器可解决出图发灰或过饱和的问题。界面内还提供 checkpoint 合并功能,可融合两个模型。
支柱四·扩展系统。Extensions 页签支持从索引列表或 git URL 安装扩展,扩展存放在 extensions/ 目录,重启后生效。最常用的 ControlNet 用姿态、边缘、深度、法线等条件约束构图,是可控生成的关键组件;ADetailer 负责面部修复,Tiled Diffusion 负责大图分块采样。
支柱五·自动化与 JSON API。以 --api 启动后,/sdapi/v1/txt2img、/sdapi/v1/img2img、/sdapi/v1/options、/sdapi/v1/models 等 HTTP 接口可用,文档在本地 /docs 页查看;生成参数随 PNG 元数据内嵌,程序可回读。这使得 SD WebUI 能作为批处理引擎嵌入企业内网或对接自建队列,不必为每个任务写一遍推理脚本。
生产部署与监控:从上线到运维
部署方式一:单机服务化。用 systemd 将 ./webui.sh --api --listen --port 7860 常驻运行,Nginx 反代 443 并终结 HTTPS。SD WebUI 自身没有用户体系,公网暴露前必须在反代层加 Basic Auth 或 OAuth 2.0,也可用启动参数 --gradio-auth 用户名:密码 做最基本的登录校验。
部署方式二:容器与批处理。仓库根目录提供 Dockerfile,可自建镜像;模型目录与输出目录以卷挂载,方便多实例共享。同一进程对生成请求的处理能力有限,大批量任务建议自建轻量队列把请求串行提交,再按显卡数量水平扩容为多个实例,每个实例绑定不同模型或端口。
可观测性:GPU 显存、温度、利用率用 nvidia-smi 周期性采集,或接入 node_exporter + Prometheus;服务探活可直接请求根路径,开启 API 时请求 /sdapi/v1/samplers,返回 JSON 即正常;/sdapi/v1/progress 可轮询当前生成进度用于任务看板。日志建议重定向到文件并按天轮转。
<p class="para-label">避坑清单:</p>
<ul class="dash-list"><li>公网裸奔:--listen 只负责「允许外部访问」,不带鉴权;一旦暴露,任何人都能调用你的显卡出图,务必反代 + 认证后再上线。</li><li>主分支回归:2024 年 6 月官方仓库曾出现恶意代码提交(已回滚);生产环境锁定 v1.9.3 或指定 commit,不要盲目 pull 主分支。</li><li>模型文件安全:优先使用 .safetensors,旧 .ckpt 格式基于 pickle 反序列化,历史上多次出现携带恶意代码的模型文件。</li><li>显存思维:6GB 显卡直接上默认参数会爆显存,先加 --medvram/--lowvram 并把分辨率降到 512 级,再谈画质。</li></ul>
| 维度 | Automatic1111 | ComfyUI | Forge | SD.Next |
|---|---|---|---|---|
| 定位 | 全功能的 Stable Diffusion 浏览器界面 | 节点式工作流引擎 | A1111 的速度与低显存优化分支 | A1111 的多硬件维护分支 |
| 编排范式 | 功能页签(txt2img/img2img/Extras 等) | 可视化 DAG 节点图,流程自由拼接 | 功能页签(承袭 A1111) | 功能页签(承袭 A1111) |
| 类型约束 | 固定生成流水线,改动靠扩展与参数 | 约束最少,可任意组合采样、分块与条件 | 固定流水线,新增多种注意力优化 | 固定流水线,内置更多采样器与优化 |
| 学习曲线 | 低:开箱即用 | 高:需理解节点与数据流 | 低:操作与 A1111 一致 | 低:操作与 A1111 一致 |
| 生态集成 | 扩展与教程最多,ControlNet/ADetailer 等一应俱全 | 自定义节点丰富,官方示例工作流多 | 兼容绝大多数 A1111 扩展 | 兼容 A1111 扩展,内置更多推理后端 |
| 生产部署 | --api 提供 JSON 接口,批处理成熟 | 原生 API + 工作流 JSON,服务化社区方案多 | 接口与 A1111 对齐,可无感替换 | 接口同 A1111,非 NVIDIA 平台支持更好 |
| License | AGPL-3.0 | GPL-3.0 | AGPL-3.0 | AGPL-3.0 |
| 适合谁 | 快速出图、教学与设计团队 | 复杂工作流研发与生产管线 | 6GB 及以下显存、追求速度的用户 | AMD/Apple 等非 NVIDIA 硬件用户 |
选型建议:快速出图、低学习成本、团队协作优先选 Automatic1111;需要精细控制与可复现复杂管线(如多 ControlNet 组合、分块采样)选 ComfyUI;显存紧张直接上 Forge,操作几乎一致;没有 NVIDIA 显卡且在意持续维护则选 SD.Next。原版 2024 年后发版放缓,长期项目建议锁定版本并关注社区分支。
版本迭代
SD WebUI 采用 GitHub 滚动提交为主、定期打 tag 发版为辅的模式。2023 年保持高频发版:从 1.5 的前端与基础体验重构,到 1.6 的 SDXL 支持完善,再到 1.7 的视频生成与 1.9 的安装/出图体验优化。v1.9.3 之后主分支仍有功能提交,但正式 tag 停更,社区维护重心逐步向 Forge、ComfyUI、SD.Next 转移。(截至写作时点)
| 版本 | 时间 | 变化 | 提升 |
|---|---|---|---|
| v1.5.0 | 2023-06 | 前端与基础体验重构 | 界面布局与设置项组织方式优化 |
| v1.6.0 | 2023-09 | SDXL 支持完善 | 补齐 SDXL 的 img2img/Refiner/ControlNet 链路 |
| v1.7.0 | 2023-12 | 视频生成 | 引入 Stable Video Diffusion(SVD)工作流 |
| v1.8.0 | 2024-01 | 采样器调度器 | 新增 Scheduler 选项,采样流程可配置化 |
| v1.9.0 | 2024-01 | 安装与出图体验优化 | 精简依赖下载体积,重构 Hires fix |
| v1.9.3 | 2024-01-29 | 补丁版 | 修复 v1.9 系列问题,为近期最后一个正式 tag |
官方未发布统一性能基准,版本差异以功能演进为主而非推理速度;v1.6 至 v1.9 同参数下出图速度基本持平,主要收益来自 SDXL 适配、安装体积与可用性。若追求速度与低显存,应直接考虑 Forge 分支;若追求功能稳定性,锁定 v1.9.3 并在主分支外验证扩展兼容性。
AI 应用场景
电商与营销素材的批量出图
阶段:批量文生图/图生图生产
解决的问题:传统外包出图单张成本高、返工周期以天计;SD WebUI 本地批量出图 + LoRA 风格统一,可将初稿周期压缩到小时级,且数据不出内网。
具体案例:某电商团队用 SD1.5 checkpoint 加自训商品 LoRA,在 8GB 显存单机上以每张 5-15 秒的速度产出商品场景候选图,人审后进入精修,首轮选图时间较外包流程大幅缩短。
设计师的精修与可控重绘
阶段:img2img、局部重绘与图像扩展
解决的问题:商品图、模特图改细节往往要重拍或大量 PS 修图;用 inpaint 蒙版改局部、用 ControlNet 的 openpose 保姿态、用 outpaint 扩构图,单张返工可压缩到分钟级。
具体案例:设计师把模特图拖入 img2img,固定 Seed 并以约 0.3-0.5 的 Denoising strength 换背景;只需局部改动的区域用蒙版 inpaint,其余像素保持不动,避免整图重画导致的质感漂移。
数据不出域的私有化推理服务
阶段:服务化封装与批处理
解决的问题:使用海外网页版或公有云 API 存在数据出境与按张计费成本问题;SD WebUI 完全本地运行,配合 --api 与自建队列即可充当内部出图引擎。
具体案例:企业内网以 --api --listen 启动,前端通过 /sdapi/v1/txt2img 提交任务、/sdapi/v1/progress 轮询进度,模型与素材留在内网;对账只需统计 API 调用次数,成本可预测。
常见误区
误区装完 WebUI、打开页面就能直接生成图片,不需要再下载任何额外模型;就算点了 Generate 报错,也只是提示词或参数没写对,重启一下就好。
正解SD WebUI 是推理前端,本身不携带任何 checkpoint。首次使用必须先把模型文件(.safetensors)放入 models/Stable-diffusion/,在模型下拉框里刷新并选中后才能生成;不放模型会直接报错。
为何常见:安装脚本会自动下载大量依赖,给人「装完即全量可用」的错觉;市面上各种「一键整合包」把模型一起打包,进一步强化了误解。
误区名字里带 Stable Diffusion WebUI,那它一定是 Stability AI 官方出的标准工具,遇到问题应该找官方支持,扩展也是官方维护的。
正解该项目是社区开发者 AUTOMATIC1111 的个人项目(GitHub 150k+ stars),遵循 AGPL-3.0;Stability AI 官方提供的是模型权重与 diffusers 库,并维护独立的 Stable 系列产品,两者并不相同。
为何常见:工具名与「官方版」高度相似,加上社区教程默认以它为准,很容易形成官方认知;遇到许可证或支持问题时才发现不对口。
误区显卡低于 8GB 甚至 12GB 就带不动 Stable Diffusion,本地生成根本跑不起来,只能去用云端或别人搭好的服务。
正解SD1.5 在 6GB 显存上可用,4GB 配合 --lowvram 也能低分辨率运行,加 --xformers 可进一步降显存。真正的限制是大分辨率与 SDXL(建议 8GB+),低显存意味着更慢、更小的出图尺寸,而不是「完全不可用」。
为何常见:教程截图多为高分辨率大批量出图,显卡规格也高;参数面板上大量显存优化选项让新手误以为默认配置才可用。
误区2023 年一直高频发版,以后也会持续高速更新,直接跟 master 分支既稳定又总能用到最新功能,所以生产环境不用管版本。
正解v1.9.3(2024-01-29)后正式发版明显放缓,主分支虽有功能提交但长期无新 tag;2024 年 6 月还出现过恶意代码提交事件(已回滚)。生产环境应锁定 tag 或 commit,并把维护预期纳入选型。
为何常见:项目 2023 年的迭代速度与社区热度给人「一直在全力维护」的惯性认知,忽视了发版节奏的实际变化。
误区AGPL 也是开源协议,和 MIT 差不多,随便部署、随便商用,改不改源码、开不开源都没关系。
正解AGPL-3.0 的 copyleft 约束同时覆盖「分发」与「对外提供网络服务」两种场景——修改代码并向外部用户提供服务,需以同样许可证开源修改。自用与内网部署一般不受影响,但做 SaaS 或对外交付前必须做合规评审;所用模型自身的证书(如 OpenRAIL 限制性条款)也须单独确认。
为何常见:开发者习惯把「开源」等同于「可随意商用」,忽略了 AGPL 与宽松协议(MIT/Apache)的差异,以及代码许可证与模型权重许可证是两个维度。
面试题
Q1. AUTOMATIC1111 的 stable-diffusion-webui 底层基于哪个 Web 框架构建?
- A.Flask
- B.Gradio← 正确答案
- C.Django
- D.FastAPI
答案:B。项目基于 Gradio 封装推理界面,启动日志中的 /gradio/queue/join 是其交互入口。Flask、FastAPI 常被用来自建 API,Django 是重量级全栈框架,均非本项目技术栈;用 --api 启动后另有 JSON 接口,但界面本体仍是 Gradio。
Q2. 需要调用 /sdapi/v1/txt2img 这类 JSON 接口时,应使用哪个启动参数?
- A.参数 --api 开启 JSON 接口← 正确答案
- B.参数 --server 开启服务模式
- C.参数 --listen 允许外部访问
- D.参数 --port 修改监听端口
答案:A。--api 启用前缀为 /sdapi/v1 的 HTTP 接口,并可在 /docs 查看 Swagger 文档;--listen 只让服务绑定到对外网络地址,--port 只改端口,两者都不提供 API。注意接口在公网暴露时无内置鉴权。
Q3. LoRA 模型文件应放入哪个目录才会被 SD WebUI 识别?
- A.models/Stable-diffusion(主模型目录)
- B.models/Lora(LoRA 权重目录)← 正确答案
- C.models/VAE(变分自编码器目录)
- D.models/embeddings(文本反转向量目录)
答案:B。WebUI 按目录约定区分模型类型:主模型放 Stable-diffusion,VAE 放 VAE,文本反转向量放 embeddings,LoRA 放 Lora。放入后在「额外网络」中刷新,使用时以 <lora:名称:权重> 写入提示词。
Q4. 提示词中的 (cat:1.2) 表达的含义是什么?
- A.将 cat 替换为 1.2 个词
- B.把 cat 的权重提高到 1.2 倍← 正确答案
- C.批量生成 1.2 张猫的图片
- D.将 cat 固定在画面右侧区域
答案:B。括号加冒号数字是 WebUI 的权重语法,数值大于 1 表示增强、小于 1 表示减弱,多层嵌套括号也有加权作用。它与批量数量、位置控制无关;权重建议控制在 0.8-1.3 区间,过高易劣化画质。
Q5. 关于 PNG Info 功能,下列描述正确的是?
- A.仅能读取 Photoshop 导出的 PNG
- B.可读取图片携带的完整生成参数并回传复现← 正确答案
- C.该功能只支持 JPEG 格式文件
- D.只能显示提示词,无法读取其他参数
答案:B。生成时 WebUI 会把提示词、参数、模型、Seed 等以文本块写入 PNG;PNG Info 页签可读取这些信息,并通过「发送到」按钮回填 txt2img/img2img/Extras,实现精确复现与二次修改。该能力仅对带元数据的 PNG 生效。
Q6. 下列哪些参数或手段可以降低显存占用?(多选)
- A.参数 --medvram 降低显存占用← 正确答案
- B.参数 --xformers 优化注意力计算← 正确答案
- C.参数 --api 暴露 JSON 接口
- D.参数 --lowvram 进一步降低显存占用← 正确答案
答案:ABD。--medvram 与 --lowvram 是官方分级显存优化(后者更激进),--xformers 通过优化注意力算子减少显存并提速;--api 只开关 HTTP 接口,与显存无关。注意 --lowvram 会带来明显速度损失。
Q7. 关于模型文件格式,下列说法正确的有哪些?(多选)
- A..safetensors 不含 pickle 代码,加载更安全← 正确答案
- B..ckpt 基于 pickle 反序列化,历史上有恶意模型事件← 正确答案
- C..safetensors 与 .ckpt 均能被 WebUI 直接加载← 正确答案
- D..safetensors 必须先转换成 .ckpt 才能使用
答案:ABC。.safetensors 以 JSON 头描述张量且不含可执行代码,安全性显著优于 .ckpt;WebUI 对单文件 checkpoint 的两种格式都支持,无需转换。从不可信来源下载模型时,优先选 .safetensors。
Q8. SD WebUI 采用 AGPL-3.0 许可,对企业用户最重要的限制是什么?
- A.MIT 协议,商业使用无任何限制
- B.GPL-3.0,仅分发时需要开源修改
- C.AGPL-3.0,对外提供网络服务也须开源修改← 正确答案
- D.Apache 2.0,仅须保留版权声明
答案:C。AGPL 在 GPL 基础上增加第 13 条,通过网络向用户提供服务的修改版本也必须以 AGPL 开源。自用与内网部署一般不受影响,但做 SaaS、对外交付时需评估是否公开修改,必要时改用 ComfyUI 等许可或寻求商业授权。
Q9. 首次运行 webui.sh 时通常会完成哪件事?
- A.自动下载 Stable Diffusion 官方模型
- B.创建虚拟环境并安装依赖,默认 7860 端口启动界面← 正确答案
- C.将本地图片批量上传到云端训练
- D.自动安装并切换为 ComfyUI 后端
答案:B。首次启动会创建 Python 虚拟环境、安装 torch 与 Gradio 等依赖,完成后在 7860 端口启动界面;它不会自动下载模型,也不会上传数据或安装其他 WebUI。已配置的 COMMANDLINE_ARGS 也在本次启动生效。
Q10. 关于 SD WebUI 的生产化部署,下列陈述正确的是?(多选)
- A.内置 API 无鉴权,暴露公网后任何人都可调用← 正确答案
- B.单进程并发能力有限,批量任务应自建队列或拆分实例← 正确答案
- C.2024 年 6 月仓库曾出现恶意代码提交,宜锁定版本← 正确答案
- D.官方提供云端托管服务,无需自行部署
答案:ABC。官方不提供任何托管服务,D 错误;A1111 的接口与界面默认无登录,公网必须加反代认证;同一进程对生成请求的处理能力有限,压测后应按显卡数量水平扩容。2024 年 6 月的恶意提交事件已回滚,生产环境锁 tag 属于标准操作。
参考来源
- webpageGitHub 官方仓库源码、发版记录、安装与启动参数说明
- webpage官方 Wiki安装、特性与常见问题文档
- webpage扩展索引仓库在线扩展列表,界面内可一键安装
- webpageSD.Next社区维护分支,多硬件平台支持