本页面文档介绍了Stable Diffusion Web UI中提供的专门脚本,这些脚本提供了超越基本图像生成的高级功能。这些脚本扩展了核心功能,支持提示矩阵、图像外绘、回环处理等专用工作流程。有关X/Y/Z图脚本的信息,请参阅X/Y/Z图。
WebUI中的高级脚本基于脚本架构中描述的脚本系统。每个脚本都继承自Script基类,并实现特定的方法以与UI集成和处理图像。
来源:scripts/prompt_matrix.py40-108 scripts/prompts_from_file.py110-191 scripts/loopback.py10-140 scripts/sd_upscale.py12-101 scripts/outpainting_mk_2.py121-295 scripts/poor_mans_outpainting.py12-146 scripts/img2imgalt.py121-218 scripts/custom_code.py38-90
提示词矩阵脚本通过管道符(|)分隔的提示词部分组合来生成多个图像。它会创建一个图像网格,展示所有可能的组合。
| 参数 | 描述 |
|---|---|
| 将变量部分放在提示词的开头 | 启用后,会将变体放在提示词的开头,而不是放在基础提示词之后 |
| 为每张图片使用不同的种子 | 启用后,为每个生成的图像使用不同的种子 |
| 选择提示词 | 选择是将矩阵应用于正面提示词还是负面提示词 |
| 选择连接符 | 在逗号或空格之间选择,作为连接提示词部分的定界符 |
| 网格边距 | 设置结果网格中图像之间的像素边距大小 |
使用提示词 一只猫 | 在海滩上 | 戴着太阳镜,该脚本将生成
来源:scripts/prompt_matrix.py40-108
此脚本允许从文件或文本框中提供的提示词列表中生成图像,并为每个提示词提供可选的命令行式参数。
| 参数 | 描述 |
|---|---|
| 每次换行迭代种子 | 启用后,每次换行会递增地更改种子 |
| 对所有行使用相同的随机种子 | 启用后,对所有提示词使用相同的随机种子 |
| 将提示词插入到 | 选择是将文件提示词插入到基础提示词的开头还是结尾 |
| 提示词输入列表 | 用于输入多个提示词的文本区域,每行一个 |
脚本支持每行提示词中的命令行式参数,使用 --参数 值 语法
a cat --steps 20 --cfg_scale 7
a dog --width 768 --height 512
支持的参数包括
--prompt, --negative_prompt--steps, --cfg_scale, --seed--width, --height, --batch_size--sampler_name, --tiling来源:scripts/prompts_from_file.py35-191
回环脚本使用img2img迭代方法,将每次生成的输出反馈回下一次作为输入图像。这允许在多次迭代中逐步优化图像。
| 参数 | 描述 |
|---|---|
| 循环 | 执行的迭代次数 |
| 最终去噪强度 | 最终迭代的目标去噪强度 |
| 去噪强度曲线 | 控制去噪强度在迭代过程中如何变化 |
| 附加被查询的提示词 | 在每次迭代中选择性地附加AI生成的标签 |
此脚本通过将图像分割成小块,对每个小块使用img2img进行处理,然后将它们重新组合成一张高分辨率图像来放大图像。
| 参数 | 描述 |
|---|---|
| 切片重叠 | 切片之间的重叠像素(值越高,接缝越少) |
| 放大系数 | 将图像放大多少倍(1.0-4.0) |
| 放大器 | 初始放大时使用的放大器 |
来源:scripts/sd_upscale.py12-101
一个复杂的外绘脚本,通过在扩展区域生成内容来将图像扩展到其原始边界之外。此版本使用先进的噪声匹配技术来创建无缝的扩展。
| 参数 | 描述 |
|---|---|
| 扩展像素 | 在选定方向上添加的像素数 |
| 蒙版模糊 | 应用于蒙版的模糊量(影响过渡) |
| 外绘方向 | 扩展的边(左、右、上、下) |
| 衰减指数 | 控制细节保留(值越低 = 细节越多) |
| 颜色变化 | 生成区域中颜色随机化的量 |
来源:scripts/outpainting_mk_2.py16-117 scripts/outpainting_mk_2.py121-295
一个更简单的外绘实现,它扩展画布并使用标准的图像修复功能填充新区域。
| 参数 | 描述 |
|---|---|
| 扩展像素 | 在选定方向上添加的像素数 |
| 蒙版模糊 | 应用于蒙版的模糊量 |
| 蒙版内容 | 如何初步填充蒙版区域 |
| 外绘方向 | 扩展的边(左、右、上、下) |
此脚本与外绘 Mk 2 的主要区别在于,此脚本不使用专门的噪声匹配技术,因此更简单,但可能不够无缝。
来源:scripts/poor_mans_outpainting.py12-146
此脚本提供了一种 img2img 处理的替代方法,它尝试找到会生成输入图像的噪声,然后对其进行调整以创建变体。
| 参数 | 描述 |
|---|---|
| 覆盖采样方法 | 强制使用 Euler 采样器 |
| 原始提示词/负面提示词 | 用于查找输入图像噪声的提示词 |
| 解码步数 | 查找噪声过程的步数 |
| 解码 CFG 缩放 | 查找噪声过程的 CFG 缩放 |
| 随机性 | 在找到的噪声和随机噪声之间混合 |
| Sigma 调整 | 查找噪声的替代方法 |
来源:scripts/img2imgalt.py14-118 scripts/img2imgalt.py121-218
此脚本允许执行自定义Python代码来创建自定义工作流。只有在启动WebUI时启用了--allow-code选项时才可用。
| 参数 | 描述 |
|---|---|
| Python代码 | 用于输入自定义Python代码的文本区域 |
| 缩进级别 | 用于缩进的空格数 |
来源:scripts/custom_code.py38-90
组合脚本:大多数高级脚本不能同时使用,因为它们各自控制着处理流程。
最佳实践:
性能考量:
API兼容性:这些脚本中的大多数也可以通过API使用,如SD放大测试文件中所示。