SDXL Modular Workflow

详情

下载文件

模型描述

!日语说明在下方!

一种以模块化格式轻松自定义的工作流。

特性

  • 类似 StableDiffusion WebUI 的工作流(HiresFix、放大、ADetailer、PingInfo 保存)

  • 模块化结构,便于扩展和替换工作流组件

  • 可将提示词保存至 PingInfo

  • 自定义节点经过精心挑选,仅使用四个(rgthree、ImpactPack + 子包、PromptReaderNode)

概念

术语

  • 模块:一组封装了独立功能的节点。

  • 输入上下文:接收前序模块参数并传递给模块内节点的节点。

  • 输出上下文:获取模块内部最终输出并传递给后续模块的节点。

  • 上下文:聚合多个参数以简化流程管理的节点,功能等同于其他自定义节点中的“Pipe”。

此工作流的设计注重清晰性与可扩展性。每个功能均以垂直排列的模块构建,并通过将模块的输入和输出限制为 rgthree 的上下文节点,使模块间的连接仅需单一线路。

它利用了上下文节点的一个特性:当输入槽为空时,会复用现有值;若有连接,则会被覆盖为连接值。请注意,您必须清楚前一模块的输出内容,并理解每个模块输入参数所接收的数据。

各部分说明

以下是工作流中各部分的说明。按数字键 1 至 4 可快速跳转至各部分。

⚙️ 配置部分

此部分包含图像生成的各种设置。左侧排列了 Fast Groups Bypasser 节点,用于切换各模块的开/关状态。

  • 在提示词输入部分,您可在 ImpactWildcardEncode 节点的下部 UI 中添加通配符和 Lora。具体用法请参考官方仓库。

  • KSampler 配置中的 refiner_step 被视作 HiresFix 的步骤数。

  • 在 Model & Clip Modifier 组中,您可以调整两者。默认连接了 V-Prediction 和 Kohya Deep Shrink 节点。

  • 如果您希望使用更大的潜在空间尺寸,请启用 Custom Empty Latent 节点。您可通过 Empty Latent Selector 轻松切换。

🖼️ 主要部分

这是图像生成的核心区域,支持 ControlNet、HiresFix 和 Hires 后的放大。

  • HiresFix 有两种方法:一种直接在潜在空间中放大(类似 WebUI),另一种使用 Upscaler 模型。您可以根据偏好切换。

  • 如果使用 UPS_KSamplerUpscale 时出现 VRAM 溢出,请尝试将 VAE Decode 改为 VAE Decode (Tiled)。即使不手动切换,解码失败时也应自动以平铺模式重试。

  • 关于 Apply ControlNet 节点:

    • 若 ControlNet 模块被禁用,执行此节点将导致错误;因此默认未连接。如需应用 ControlNet,请将其输出槽连接至 KSampler。
  • 如需全面使用 ControlNet,请根据需要准备 comfyui_controlnet_aux 及相关模型。

💎 细节增强部分

此部分为生成的图像添加细节,可指定专用采样器配置和检查点。

  • 用于面部细节增强的是 FaceDetailer 节点。

  • 用于其他区域的是 Detailer (SEGS),允许对检测区域进行过滤和重排。

  • 若需为其他区域添加细节处理,只需复制现有模块并将其并排放置即可。

默认使用的检测模型如下:

💾 输出部分

此部分负责图像保存。默认情况下,图像以 png 格式保存在按日期分类的文件夹中。
目前未保存模型和 VAE 名称。更多详情请参见“限制”部分。

如何扩展工作流

如需添加新模块,请遵循以下步骤。为提高工作流编辑时连接的可视性,建议将连线模式设置为“Spline”。

  1. 确定要添加模块的位置,并移动后续模块以腾出空间。

  2. 创建输入和输出上下文节点。

  3. 添加所需节点,纵向排列并连接。

  4. 将最后一个节点的输出连接至输出上下文节点。

建议为任何新模块的组名添加三字母前缀(例如 CTL_, EXT_)。现有组使用此前缀判断其应出现在哪个开/关切换节点下。

小贴士

  • 按数字键 1 至 4 可快速跳转至各部分开头(使用 rgthree 的书签节点)。

    • 若书签快捷键无效,短暂切换至其他浏览器标签页即可解决。
  • 若跳转后视图未正确调整,请在跳转后打开左上角的书签节点并调整缩放值。

  • 拖动组名字段会移动组内所有节点。若在轻微拖动后按住 Ctrl,仅移动组本身。

  • 创建嵌套组时,请始终先创建父组。由于无法调整组的前后顺序,若反序创建可能导致子组无法选择。

限制

将模型名称保存至 PingInfo

当前工作流不会将模型名称保存至 PingInfo。作为变通方法,您可插入 prompt-reader-node 中的 SD Parameter Generater 节点,并连接 MODEL_NAME 以启用保存功能。然而,我决定不采用此节点,原因如下三点:

  • 即使参数固定,SD Parameter Generater 节点每次都会从工作流起始处重新执行。

  • 它不支持 ImpactWildcardEncode 的种子输入,因此即使种子值改变,仍生成相同提示词(ImpactPack 端尚未更新)。

  • 若文件系统中的检查点(safetensors)数量增减,图像保存时可能发生错误,导致无法保存。此问题仅通过重启 ComfyUI 解决(可能是 ComfyUI 的设计缺陷)。

同样,VAE 名称也不会被保存。这是因为上下文节点中无对应插槽,且 SDXL 通常默认使用集成模型或标准 VAE。若您经常使用固定 VAE,可直接在附加参数中写入,以便保存。

上下文节点的限制

虽然上下文节点涵盖了图像生成所需的所有参数,但无法处理视频生成或自定义节点特有的参数。例如,sd-ppp 所用的 Document 类型无可用插槽,因此无法连接。

目前,若需将自定义参数传递至后续模块,您需将其构建为单个模块,或使用 Reroute 节点传递。

包含的工作流变体

  • sdxl_moduler_txt2img.json

    • 从提示词生成图像的基本工作流。
  • sdxl_moduler_mask_detailer.json

    • 将 Detailer 应用于遮罩区域的工作流。
  • sdxl_moduler_sd-ppp_inpaint.json

    • 使用 sd-ppp 自定义节点的 Detailer 工作流。
      ⚠运行需要最新版 Photoshop。

所用自定义节点链接


模块化格式,轻松自定义的工作流

特性

  • 类似 StableDiffusion WebUI 的工作流(HiresFix、放大、ADetailer、PingInfo 保存)

  • 模块化结构,便于扩展和替换工作流组件

  • 可将提示词保存至 PingInfo

  • 自定义节点经过精心挑选,仅使用四个(rgthree、ImpactPack+Subpack、prompt-reader-node)

概念

术语

  • 模块:一组封装独立功能的节点

  • 输入上下文:接收前序模块参数并传递给模块内节点的节点

  • 输出上下文:获取模块内最终输出并传递给后续模块的节点

  • 上下文:聚合多个参数以简化流程管理的节点,功能与其它自定义节点中的“Pipe”相同

本工作流以清晰性和可扩展性为设计核心。

各功能以模块形式垂直排列,并将模块的输入输出限制为 rgthree 的上下文节点,使模块间连接仅需单一线路。

利用了上下文节点的特性:当输入槽为空时复用现有值,若已连接则覆盖为连接值。

请注意,您必须清楚前一模块的输出结果,并理解每个模块的输入参数接收的是什么。

各部分说明

以下是工作流中各部分说明。按数字键 1 至 4 可快速跳转至各部分。

⚙️ 配置部分

用于图像生成设置的区域。左侧排列了用于切换各模块开关的 Fast Groups Bypasser 节点。

  • 在提示词输入部分,您可通过 ImpactWildcardEncode 节点的下部 UI 添加通配符和 Lora。具体使用方法请参考官方仓库。

  • KSampler 配置中的 refiner_step 被视为 HiresFix 的步骤数。

  • 在 Model&Clip Modifier 组中可同时调整 clip 和 model。默认连接了 V-Prediction 和 Kohya Deep Shrink 节点。

  • 若需使用更大尺寸的潜在空间,请启用 Custom Empty Latent 节点,并通过 Empty Latent Selector 快速切换。

🖼️ 主要部分

图像生成的核心区域,支持 ControlNet、HiresFix 和 Hires 后放大。

  • 提供两种方式:一种是类似 WebUI 的直接在潜在空间放大,另一种使用 Upscaler 模型。请按需切换。

  • 若使用 UPS_KSamplerUpscale 时出现 VRAM 溢出,请尝试将 VAE Decode 改为 VAE Decode (Tiled)。

    • 即使不手动切换,解码失败时也会自动重试平铺模式。
  • 关于 Apply ControlNet 节点:

    • 若 ControlNet 模块被禁用,执行此节点将报错,因此默认未连接。若需启用 ControlNet,请将其输出槽连接至 KSampler。
  • 如需全面使用 ControlNet,请根据需要准备 comfyui_controlnet_aux 及相关模型。

💎 细节增强部分

为生成图像添加细节的区域,可指定专用采样器配置和检查点。

  • 面部细节增强使用 FaceDetailer 节点。

  • 其他区域使用 Detailer (SEGS),支持检测区域的过滤与重排。

  • 若需为其他区域添加细节处理,只需复制现有模块并横向放置即可。

默认使用的检测模型如下:

💾 输出部分

图像保存区域。默认以 png 格式保存至按日期分类的文件夹中。
目前未保存模型名和 VAE 名。详情请参见“限制”部分。

如何扩展工作流

如需添加新模块,请遵循以下步骤。为提高工作流编辑时连接的可视性,建议将连线模式设为“Spline”。

  1. 确定要添加模块的位置,移动后续模块以腾出空间。

  2. 创建输入和输出上下文节点。

  3. 添加必要节点,纵向排列并连接。

  4. 将最后一个节点的输出连接至输出上下文节点。

建议为新增模块的组名添加三字母前缀(如 CTL_, EXT_)。现有组利用此前缀判断其应出现在哪个开关节点下。

小贴士

  • 按数字键 1 至 4 可快速跳转至各部分开头(使用 rgthree 的书签节点)。

    • 若书签快捷键无效,短暂切换至其他浏览器标签页即可解决。
  • 若跳转后视图未正确适配,请在跳转后打开左上角的书签节点并调整缩放值。

  • 拖动组名字段将移动组内所有节点。若在轻微移动后按住 Ctrl,仅移动组本身。

  • 创建嵌套组时,请务必先创建父组。由于无法调整组的前后顺序,若反向创建可能导致子组无法选中。

限制

在 PingInfo 中保存模型名称

当前工作流无法将模型名称保存至 PingInfo。作为变通方法,您可插入 prompt-reader-node 中的 SD Parameter Generater 节点,并连接 MODEL_NAME 以启用保存。但因以下三点顾虑,我决定不采用该节点:

  • 即使参数固定,SD Parameter Generater 节点也会每次从工作流起始处重新执行。

  • 它不支持 ImpactWildcardEncode 的种子输入,因此即使种子值改变,仍生成相同提示词(ImpactPack 端尚未更新)。

  • 若文件系统中的检查点(safetensors)数量增减,图像保存时可能出现错误,导致无法保存。此问题仅能通过重启 ComfyUI 解决(可能是 ComfyUI 的设计缺陷)。

VAE 名称同样未保存。这是因为上下文节点中无对应插槽,且 SDXL 一般默认使用集成模型或标准 VAE。若您常使用固定 VAE,可直接在附加参数中写入以实现保存。

上下文节点的限制

上下文节点几乎涵盖了图像生成所需的所有参数,但无法处理视频生成或自定义节点的专有参数。例如,sd-ppp 中使用的 Document 类型无可用插槽,因此无法连接。

目前,若需将自定义参数传递至后续模块,需将其构建为独立模块,或使用 Reroute 节点传递。

包含的工作流变体

  • sdxl_moduler_txt2img.json

    • 从提示词生成图像的基本工作流。
  • sdxl_moduler_mask_detailer.json

    • 将 Detailer 应用于遮罩区域的工作流。
  • sdxl_moduler_sd-ppp_inpaint.json

    • 利用 sd-ppp 自定义节点的 Detailer 工作流。
      ⚠运行需要最新版 Photoshop。

所用自定义节点链接

此模型生成的图像

未找到图像。