ControlNet和T2I-Adapter - ComfyUI工作流示例

ControlNet和T2I-Adapter - ComfyUI工作流示例

请注意,在这些示例中,原始图像直接传递给 ControlNet/T2I 适配器。

每个 ControlNet/T2I 适配器需要传递给它的图像具有特定格式,例如深度图、Canny 图等,这取决于特定模型,如果您想要好的结果。

ControlNetApply 节点不会为您将常规图像转换为深度图、Canny 图等。您必须单独进行此操作,或使用节点预处理您的图像,您可以在这里 (opens in a new tab)找到这些节点。

您可以在此处找到最新的 ControlNet 模型文件:原始版本 (opens in a new tab)较小的fp16 safetensors版本 (opens in a new tab)

对于SDXL, stability.ai 发布了 Control Loras ,您可以在这里(等级256) (opens in a new tab)这里(等级128) (opens in a new tab)找到。它们的使用方式与常规ControlNet模型文件完全相同(将它们放在同一个目录中)。

ControlNet 模型文件应放在 ComfyUI/models/controlnet 目录中。

scribble(涂鸦) ControlNet

这是一个如何使用 controlnets 的简单示例,此示例使用 scribble controlnet 和 AnythingV3 (opens in a new tab) 模型。您可以在ComfyUI (opens in a new tab)中加载此图像以获取完整的工作流程。

Example

这是我在此工作流程中使用的输入图像:

输入图像

T2I-Adapter与ControlNets

T2I-Adapters比ControlNets高效得多,因此我强烈推荐它们。ControlNets会显著降低生成速度,而T2I-Adapters对生成速度几乎没有负面影响。

在ControlNets中,ControlNet模型每次迭代运行一次。对于T2I-Adapter,模型总共只运行一次。

T2I-Adapters在ComfyUI中的使用方式与ControlNets相同:使用ControlNetLoader节点。

这是此示例中将使用的输入图像 来源 (opens in a new tab)

输入图像

以下是如何使用深度 T2I-Adapter:

Example

以下是如何使用深度Controlnet。请注意,此示例使用DiffControlNetLoader节点,因为使用的controlnet是diff control net。Diff controlnets需要加载模型的权重才能正确加载。DiffControlNetLoader节点也可以用来加载常规controlnet模型。当加载常规controlnet模型时,它的行为将与ControlNetLoader节点相同。

Example

您可以在ComfyUI (opens in a new tab)中加载这些图像以获取完整的工作流程。

姿势 Pose ControlNet

这是此示例中将使用的输入图像:

Example

以下是使用AnythingV3进行第一次通过,使用controlnet,然后使用AOM3A3(abyss orange mix 3)进行第二次通过,而不使用controlnet,并使用它们的VAE的示例。

Example

您可以在ComfyUI (opens in a new tab)中加载此图像以获取完整的工作流程。

混合ControlNets

可以像这样应用多个ControlNets和T2I-Adapters,结果很有趣:

Example

您可以在ComfyUI (opens in a new tab)中加载此图像以获取完整的工作流程。

输入图像:

示例