Skip to content

basic-outpainting-workflow

ComfyUI 基础扩图工作流以及教程

扩图(Outpainting)是指在原始图片的边缘区域继续生成内容,从而扩展图片的尺寸。这种技术可以让我们:

  • 扩展图片的视野范围
  • 补充画面缺失的部分
  • 调整图片的宽高比例

扩图的原理是基于 Stable Diffusion 的 inpainting 技术,通过在图片的边缘区域添加空白区域,然后使用 inpainting 模型对空白区域进行填充,从而实现图片的扩展。

ComfyUI 扩图教程相关文件下载

ComfyUI工作流文件

下载后将工作流文件拖入 ComfyUI 即可使用

Stable Diffusion 模型文件

本工作流需要使用两个模型,你使用其它模型也可以:

模型名称用途仓库地址下载地址
v1-5-pruned-emaonly.safetensors生成初始图像仓库地址下载地址
sd-v1-5-inpainting.ckpt扩图仓库地址下载地址

下载后请将这两个模型文件放置在以下目录:

  • Path-to-your-ComfyUI/models/checkpoints

如果你想要了解更多:如何安装 Checkpoints 模型 如果你要查找使用其它模型:Stable Diffusion 模型资源

ComfyUI 基础扩图工作流使用方式

由于模型安装位置可能不同,请找到工作流中的 Load Checkpoint,然后在模型下拉菜单中选择你下载的模型文件。

  • 第一个节点选择 v1-5-pruned-emaonly.safetensors
  • 第二个节点选择 sd-v1-5-inpainting.ckpt

因为第二个节点是专门用于扩图的模型,所以使用用于inpainting 的模型效果会更好,你可以自己测试不同的设置。

ComfyUI 基础扩图工作流简单讲解

这个工作流分为三个主要部分:

1. Text2Img 部分

首先生成一张初始图片:

  • 使用 EmptyLatentImage 设置 512x512 的画布
  • 通过 CLIPTextEncode 设置正面提示词和负面提示词
  • 使用 KSampler 生成初始图像

2. 创建扩图用的 Latent Image

  • 使用 ImagePadForOutpaint 节点在原图周围添加空白区域
  • 节点的参数设置决定了要在哪个方向扩展图片
  • 同时会生成对应的 mask 用于后续的扩图

3. 扩图生成

  • 使用专门的 inpainting 模型进行扩图
  • 保持和原图相同的提示词,确保风格统一
  • 通过 KSampler 对扩展区域进行生成

使用说明

  1. 调整扩展区域:

    • ImagePadForOutpaint 节点中设置四个方向的扩展像素值
    • 数值代表要在该方向扩展的像素数量
  2. 提示词设置:

    • 正面提示词描述你想要的场景和风格
    • 负面提示词帮助避免不想要的元素出现
  3. 模型选择:

    • 第一阶段使用普通的 SD 模型
    • 扩图阶段推荐使用 inpainting 专用模型

ComfyUI 基础扩图工作流注意事项

  1. 扩图时尽量保持提示词的连贯性,这样可以让扩展区域和原图更好地融合

  2. 如果扩展效果不理想,可以:

    • 调整采样步数和 CFG Scale
    • 尝试不同的采样器
    • 微调提示词
  3. 扩图模型推荐使用:

    • sd-v1-5-inpainting.ckpt
    • 其他专门的 inpainting 模型

ComfyUI 基础扩图工作流结构

工作流主要包含以下节点:

  • CheckpointLoaderSimple: 加载模型
  • CLIPTextEncode: 处理提示词
  • EmptyLatentImage: 创建画布
  • KSampler: 图像生成
  • ImagePadForOutpaint: 创建扩图区域
  • VAEEncode/VAEDecode: 编码解码图像