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”。
确定要添加模块的位置,并移动后续模块以腾出空间。
创建输入和输出上下文节点。
添加所需节点,纵向排列并连接。
将最后一个节点的输出连接至输出上下文节点。
建议为任何新模块的组名添加三字母前缀(例如 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。
- 使用 sd-ppp 自定义节点的 Detailer 工作流。
所用自定义节点链接
模块化格式,轻松自定义的工作流
特性
类似 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”。
确定要添加模块的位置,移动后续模块以腾出空间。
创建输入和输出上下文节点。
添加必要节点,纵向排列并连接。
将最后一个节点的输出连接至输出上下文节点。
建议为新增模块的组名添加三字母前缀(如 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。
- 利用 sd-ppp 自定义节点的 Detailer 工作流。

