插件介绍
在当今的创意领域,AI驱动的图像生成工具正以前所未有的方式扩展艺术家和开发者们的创作边界。其中之一就是comfyui-Inspire-Pack——一个专为ComfyUI设计的拓展节点集合,它不仅丰富了现有的功能库,还带来了与ComfyUI Impact Pack不同的特性,为您的艺术创造之旅增添新维度。
安装方法
插件解压后(去掉-main)放到ComfyUI根目录的custom_nodes路径下。
.在ComfyUI的python文件夹上面输入cmd打开脚本编辑器并输入以下脚本(路径替换为你的ComfyUI Python环境路径):
F:ComfyUIpython_embededpython.exe -s -m pip install -r requirements.txt
手动安装:
使用以下命令克隆 custom_nodes
目录下的存储库:
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
功能使用预览:
SAMLoader (Impact)
- 加载 SAM 模型。ONNXDetectorProvider
- 加载 ONNX 模型以提供 BBOX_DETECTOR。CLIPSegDetectorProvider
- 用于提供 BBOX_DETECTOR 的 CLIPSeg 包装器。- 您需要安装 ComfyUI-CLIPSeg 节点扩展。
SEGM 检测器(组合)
- 检测分割并从输入图像返回掩码。BBOX 检测器(组合)
- 检测边界框并从输入图像返回掩码。SAMDetector (组合)
- 利用 SAM 技术在输入图像上提取输入 SEGS 指示位置的片段,并将其作为统一掩码输出。SAMDetector (Segmented)
- 它类似于SAMDetector (组合),
但它分离并输出检测到的段。可以为同一检测区域找到多个段,目前,有一项策略将它们任意分组为三个一组。这方面有望在未来得到改善。- 因此,它输出
combined_mask
(统一掩码)和batch_masks
(以批处理形式组合在一起的多个掩码)。 - 虽然
batch_masks
可能没有完全分离,但它提供了执行某种程度的分段的功能。
- 因此,它输出
简单检测器 (SEGS)
- 主要使用BBOX_DETECTOR
运行,并通过额外提供SAM_MODEL
或SEGM_DETECTOR
,该节点通过对 bbox 和轮廓的掩码作在内部生成改进的 SEGS。它作为一个方便的工具来简化有些复杂的工作流程。Simple Detector for Video (SEGS)
– 对由图像帧组成的视频执行检测。它不使用单个掩码,而是对每个图像帧单独执行检测,并生成一个带有一批掩码的 SEGS 对象。SAM2 视频检测器 (SEGS)
– 类似于Simple Detector for Video (SEGS)
,但利用 SAM2 的视频跟踪技术生成带有一批掩码的 SEGS 对象。- 要使用此节点,您必须在 SAMLoader 中选择 SAM2 模型。
ControlNetApply(SEGS)
- 要在 SEGS 中应用 ControlNet,您需要使用 Inspire Pack 中的 Preprocessor Provider 节点来使用此节点。segs_preprocessor
和control_image
可以有选择地应用。如果给出了control_image,segs_preprocessor
将被忽略。
- 如果设置为
control_image
,您可以通过SEGSPreview(CNET 图像)
预览裁剪后的 cnet 图像。segs_preprocessor
生成的图像应通过每个 Detailer 的cnet_images
输出进行验证。 - 该
segs_preprocessor
在细节处理过程中通过根据裁剪后的图像动态应用预处理来运行,而control_image
将被裁剪并用作ControlNetApply (SEGS)
的输入。
ControlNetClear (SEGS)
- 清除 SEGS 中应用的 ControlNetIPAdapterApply (SEGS)
- 要在 SEGS 中应用 IPAdapter,您需要使用 Inspire Pack 中的 Preprocessor Provider 节点来使用此节点。
掩模作
Pixelwise(SEGS 和 SEGS)
- 在两个 SEGS 之间执行“像素和”作。Pixelwise(SEGS - SEGS)
- 从另一个 SEGS 中减去一个 SEGS。Pixelwise(SEGS & MASK)
- 在 SEGS 和 MASK 之间执行像素 AND 作。Pixelwise(SEGS & MASKS ForEach)
- 在 SEGS 和 MASKS 之间执行像素 AND 运算。- 请注意,此作是使用批量 MASKS 执行的,而不仅仅是单个 MASK。
Pixelwise(MASK & MASK)
- 在两个蒙版之间执行“像素和”作。Pixelwise(MASK - MASK)
- 从另一个蒙版中减去一个蒙版。Pixelwise(MASK + MASK)
- 组合两个蒙版。SEGM 检测器 (SEGS)
- 检测分割并从输入图像返回 SEGS。BBOX 检测器 (SEGS)
- 检测边界框并从输入图像返回 SEGS。Dilate Mask
- 膨胀掩模。- 支持负值侵蚀。
高斯模糊蒙版
- 将高斯模糊应用于蒙版。您可以将其用于面具羽化。蒙版矩形区域
- 使用预览画布创建由百分比定义的矩形蒙版。蒙版矩形区域(高级)
- 创建由像素和图像大小定义的矩形蒙版。
细节管理器节点
细节处理器 (SEGS)
- 根据 SEGS 优化图像。Detailer (SEGS) with auto retry
- 根据 SEGS 优化图像,如果补丁全黑,则会自动重试。DetailerDebug (SEGS)
- 基于 SEGS 优化图像。此外,它还提供了监控裁剪图像和裁剪图像的精细图像的能力。- 为防止使用“external_seed”时种子每次都不变化而导致再生,请禁用“Detailer...”中的“种子随机生成”选项。节点。
MASK to SEGS
- 基于掩码生成 SEGS。MASK to SEGS For Video
- 根据视频的掩码生成 SEGS。(从 MASK 重命名为 SEGS For AnimateDiff
)- 使用单个蒙版时,将其转换为 SEGS 以将其应用于整个帧。
- 使用批量蒙版时,轮廓填充功能被禁用。
MediaPipe FaceMesh 到 SEGS
- 将每个地标与 mediapipe Facemesh 图像分开,以创建标记的 SEGS。- 通常,通过 MediaPipe 面网格预处理器创建的图像的大小会缩小。它将 MediaPipe 面网格图像的大小调整为给定的原始大小,reference_image_opt 在处理过程中匹配大小。
ToBinaryMask
- 将 alpha 值介于 0 到 255 之间的蒙版分成 0 到 255。非零部分始终设置为 255。Masks to Mask List
- 此节点将批处理形式的 MASKS 转换为单个蒙版的列表。Mask List to Masks
- 此节点将 MASK 列表转换为 MASK 批处理形式。EmptySEGS
- 提供空的 SEGS。MaskPainter
- 提供绘制蒙版的功能。FaceDetailer
- 轻松检测人脸并改善它们。FaceDetailer (管道)
- 轻松检测人脸并改进它们(用于多通道)。MaskDetailer(管道)
- 这是一个简单的修复节点,用于将 Detailer 应用于蒙版区域。FromDetailer (SDXL/pipe)
,BasicPipe -> DetailerPipe (SDXL)
,Edit DetailerPipe (SDXL)
- 这些是 Detailer 中用于利用 SDXL 精简器模型的管道函数。Any PIPE -> BasicPipe
- 将未 BASIC_PIPE 但内部与 BASIC_PIPE 结构相同的其他自定义节点的 PIPE 值转换为 BASIC_PIPE。如果应用了不兼容的类型,可能会导致运行时错误。
SEGS 作节点
SEGSDetailer
- 在 SEGS 上执行详细工作,而无需将其粘贴回原始图像。SEGSPaste
- 将 SEGS 的结果粘贴到原始图像上。- 如果存在
ref_image_opt
,则忽略 SEGS 中包含的图像。相反,拍摄并粘贴与 SEGS 裁剪区域相对应的ref_image_opt
内的图像。ref_image_opt
中的图像大小应与原始图像大小相同。 - 该节点可以与 AnimateDiff 的处理结果结合使用。
- 如果存在
SEGSPreview
- 提供 SEGS 的预览。- 此选项用于在将改进后的图像合并到原始图像之前通过
SEGSDetailer
预览它。在通过SEGSDetailer
之前,SEGS 仅包含掩码信息,而没有图像信息。如果 fallback_image_opt 连接到原始图像,则没有图像信息的 SEGS 将使用原始图像生成预览。但是,如果 SEGS 已经包含图像信息,则 fallback_image_opt 将被忽略。 - 该节点可以与 AnimateDiff 的处理结果结合使用。
- 此选项用于在将改进后的图像合并到原始图像之前通过
SEGSPreview(CNET 映像)
- 显示配置了ControlNetApply(SEGS)
的映像,用于调试目的。SEGSToImageList
- 将 SEGS 转换为图像列表SEGSToMaskList
- 将 SEGS 转换为掩码列表SEGS 过滤器(标签)
- 此节点根据检测到的区域的标签过滤 SEGS。SEGS 过滤器(有序)
- 该节点根据大小和位置对 SEGS 进行排序,并检索特定范围内的 SEG。SEGS 过滤器(范围)
- 此节点仅从 SEGS 中检索大小和位置在特定范围内的 SEG。SEGS Filter (non max suppression)
- 此节点通过根据 Intersection over Union (IoU) 阈值删除重叠度高的 SEGS 来过滤 SEGS,仅保留最可靠的检测。SEGS 过滤器(相交)
- 此节点过滤 segs1,根据面积交集 (IoA) 阈值,仅保留与 segs2 中的任何 SEGS 不显着重叠的 SEGS。SEGS 分配(标签)
- 按顺序将标签分配给 SEGS。此节点在与 FaceDetailer 的[LAB]
一起使用时非常有用。SEGSConcat
- 连接 segs1 和 segs2。如果 segs1 和 segs2 的源形状与 segs2 不同,则将忽略。SEGS 合并
- SEGS 包含多个 SEG。SEGS Merge 将多个 SEG 集成到一个合并的 SEG 中。标签将更改为“合并”
,置信度变为最小置信度。删除应用的控制网和 cropped_image。选择器 (SEGS)
- 在输入的 SEGS 中,您可以通过对话框选择特定的 SEG。如果未选择 SEG,则输出空 SEGS。增加 SEGS 的 batch_size Detailer 可用于从候选者中进行选择。设置 SEGS 的默认映像
- 设置 SEGS 的默认映像。以这种方式设置映像的 SEGS 不需要设置回退映像。当覆盖设置为 false 时,将保留原始图像。从 SEGS 中删除图像
- 删除由“为 SEGS 设置默认图像”或 SEGSDetailer 配置的 SEGS 的图像集。删除 SEGS 的图像后,Detailer 节点将基于当前处理的图像而不是 SEGS 进行作。制作图块 SEGS
- [实验性] 从图像创建图块形式的 SEGS,以方便使用 Detailer 进行 Tiled Upscale 的实验。filter_in_segs_opt
和filter_out_segs_opt
是可选输入。如果提供了这些输入,则在创建图块时,每个图块的蒙版是通过与filter_in_segs_opt
的蒙版重叠并排除与filter_out_segs_opt
的蒙版重叠来生成的。带有空掩码的图块将不会创建为 SEGS。
扩张面罩 (SEGS)
- SEGS 中的扩张/侵蚀面罩高斯模糊蒙版 (SEGS)
- 将高斯模糊应用于 SEGS 中的蒙版SEGS_ELT 作
- 实验节点DecomposeSEGS
- 分解 SEGS 以允许进行详细作。AssembleSEGS
- 重新组装分解的 SEGS。从 SEG_ELT -
从 SEG_ELT 中提取详细信息。编辑 SEG_ELT
- 修改 SEG_ELT 中的某些信息。扩张 SEG_ELT
- 扩张 SEG_ELT 面罩。从 SEG_ELT
bbox - 从 SEG_ELT 中的 bbox 中提取坐标从 SEG_ELT
crop_region - 从 SEG_ELT 中的 crop_region 提取坐标
在 SEGS 中计数 Elt
- SEGS 中的 Elt 数量
管道节点
ToDetailerPipe
、FromDetailerPipe
- 这些节点用于将详图器中使用的多个输入(例如模型和 vae 等)捆绑到单个 DETAILER_PIPE 中,或提取捆绑在 DETAILER_PIPE 中的元素。ToBasicPipe
、FromBasicPipe
- 这些节点用于将模型、裁剪、vae、正条件和负条件捆绑到单个 BASIC_PIPE 中,或从 BASIC_PIPE 中提取每个元素。EditBasicPipe
、EditDetailerPipe
- 这些节点用于替换 BASIC_PIPE 或 DETAILER_PIPE 中的某些元素。FromDetailerPipe_v2
,FromBasicPipe_v2
- 它具有与FromDetailerPipe
和FromBasicPipe
相同的功能,但它有一个额外的输出,可以直接导出输入管道。在编辑 EditBasicPipe 和 EditDetailerPipe 时,它很有用。Latent Scale(在像素空间上)
- 此节点将潜在空间转换为像素空间,将其放大,然后将其转换回潜在空间。- 如果提供了 upscale_model_opt,它会使用模型放大像素,然后使用 scale_method 中提供的插值方法将其缩小到目标分辨率。
PixelKSampleUpscalerProvider
- 提供了一个升级器,它使用 VAEDecode 将潜在值转换为像素,执行升级,使用 VAEEncode 转换回潜在值,然后执行 k 采样。该升频器可以附加到Iterative Upscale
等节点上以供使用。- 与
潜在缩放(在像素空间上)
类似,如果提供了 upscale_model_opt,它会使用模型执行像素放大。
- 与
PixelTiledKSampleUpscalerProvider
- 它类似于PixelKSampleUpscalerProvider
,但它使用ComfyUI_TiledKSampler
和 Tiled VAE 解码器/编码器来避免高分辨率下的 GPU VRAM 问题。- 您需要安装 BlenderNeko/comfyui_TiledKSampler 节点扩展。
PK_HOOK
DenoiseScheduleHookProvider
- IterativeUpscale 提供了一个钩子,随着迭代步骤的进行,该钩子逐渐将降噪更改为 target_denoise。CfgScheduleHookProvider
- IterativeUpscale 提供了一个钩子,随着迭代步骤的进行,该钩子逐渐将 cfg 更改为 target_cfg。StepsScheduleHookProvider
- IterativeUpscale 提供了一个钩子,随着迭代步骤的进行,该钩子逐渐将采样步骤更改为 target_steps。NoiseInjectionHookProvider
- 在 IterativeUpscale 的每次迭代期间,噪声都会注入潜在空间,同时根据计划改变强度。- 您需要安装 BlenderNeko/comfyui_Noise 节点扩展。
- 种子作为生成噪声所需的初始值,随着过程的展开,它会随着每次迭代而递增 1。
- 源确定要配置的 CPU 噪声和 GPU 噪声的类型。
- 目前,只有一个简单的时间表可用,在每次迭代的过程中,噪声的强度从 start_strength 到 end_strength 不等。
UnsamplerHookProvider
- 在每次迭代期间应用 Unsampler。要使用此节点,必须安装 ComfyUI_Noise。PixelKSampleHookCombine
- 用于连接两个 PK_HOOKs。首先执行 hook1,然后执行 hook2。- 如果要同时更改 cfg 和降噪,可以结合 CfgScheduleHookProvider 和 PixelKSampleHookCombine 的 PK_HOOKs。
DETAILER_HOOK
NoiseInjectionDetailerHookProvider
-detailer_hook
是Detailer
中的一个钩子,在处理每个 SEGS 期间注入噪声。UnsamplerDetailerHookProvider
- 在每个周期内应用 Unsampler。要使用此节点,必须安装 ComfyUI_Noise。DenoiseSchedulerDetailerHookProvider
- 在循环过程中,细节设计师的降噪会改变到target_denoise
。CoreMLDetailerHookProvider
- CoreML 仅支持 512x512、512x768、768x512、768x768 大小采样。CoreMLDetailerHookProvider 将 crop_region 的升级精确地固定为此大小。使用此挂钩时,无论 guide_size 如何,它都会始终选择尺寸。但是,如果 guide_size 太小,则会出现跳过。DetailerHookCombine
- 用于连接两个 DETAILER_HOOKs。类似于 PixelKSampleHookCombine。SEGSOrderedFilterDetailerHook
、SEGSRangeFilterDetailerHook、SEGSLabelFilterDetailerHook - 有一个包装器节点,通过创建 DETAILER_HOOK 提供要应用于 FaceDetailer 或 Detector 的 SEGSFilter 节点。PreviewDetailerHook
- 连接此钩子节点有助于在完成 SEGS 详图任务时查看预览提供帮助。当使用大量 SEGS(例如 Make Tile SEGS)时,它允许随着改进的逐步进展而监控情况。- 由于这是粘贴到原始图像时应用的钩子,因此它对
SEGSDetailer
等节点没有影响。
- 由于这是粘贴到原始图像时应用的钩子,因此它对
VariationNoiseDetailerHookProvider
- 将变体种子应用于详图器。它可以通过联合在多个阶段应用。CustomSamplerDetailerHookProvider
- 应用一个钩子,允许您在 Detailer 节点中使用自定义采样器。使用DetailerHookCombine
时,将应用第一个钩子的采样器。LamaRemoverDetailerHookProvider
– 在细节阶段将 Lama Remover 应用于放大的图像。如果skip_sampling
设置为 True,则 Lama Remover 可以单独使用,无需细节处理阶段,从而可以简单地删除检测到的区域。- 不适用于 AnimateDiff 细节处理器。使用
DetailerHookCombine
时,仅当所有钩子都设置为True
时才会应用skip_sampling
。 - 要使用此节点,必须安装 Layer-norm/comfyui-lama-remover 中的节点包。
- 不适用于 AnimateDiff 细节处理器。使用
迭代高档节点
Iterative Upscale (Latent/on Pixel Space)
- 升级器采用输入升级器并将 scale_factor 拆分为步骤,然后迭代执行升级。
这将潜在输出作为输入,将输出潜在作为结果。- 迭
代升频器(图像)
- 升频器采用输入升频器并将 scale_factor 拆分为步骤,然后迭代执行升频。这将图像作为输入,输出图像作为结果。- 在内部,该节点使用“迭代高档(潜在)”。
TwoSamplers 节点
TwoSamplersForMask
- 此节点可以根据掩码区域应用两个采样器。base_sampler 应用于蒙版为 0 的区域,而 mask_sampler 应用于蒙版为 1 的区域。- 注意:无法使用通过 VAEEncodeForInpaint 编码的潜在内容。
KSamplerProvider
- 这是一个包装器,使 KSampler 能够在 TwoSamplersForMask TwoSamplersForMaskUpscalerProvider 中使用。TiledKSamplerProvider
- ComfyUI_TiledKSampler 是提供 KSAMPLER 的包装器。- 您需要安装 BlenderNeko/comfyui_TiledKSampler 节点扩展。
TwoAdvancedSamplersForMask
- TwoSamplersForMask 与 TwoAdvancedSamplersForMask 类似,但它们的作不同。TwoSamplersForMask 仅在基本区域中的所有样本完成后,才会在掩码区域执行采样。另一方面,TwoAdvancedSamplersForMask 在每个步骤中按顺序在基本区域和掩码区域执行采样。KSamplerAdvancedProvider
- 这是一个包装器,使 KSampler 能够在 TwoAdvancedSamplersForMask、RegionalSampler 中使用。- sigma_factor:通过将降噪计划乘以 sigma_factor,您可以根据配置的降噪调整降噪量。
TwoSamplersForMaskUpscalerProvider
- 这是一个 Upscaler,它扩展了 TwoSamplersForMask 以用于 Iterative Upscale。- TwoSamplersForMaskUpscalerProviderPipe - TwoSamplersForMaskUpscalerProvider 的管道版本。
图像实用程序
PreviewBridge(图像)
- 当使用剪辑空间的 MaskEditor 功能时,此自定义节点可以与图像桥一起使用。PreviewBridge(潜在)
- 当使用剪贴空间的 MaskEditor 功能时,此自定义节点可以与潜在图像的桥接一起使用。- 如果提供带有掩码的潜在作为输入,则显示掩码。此外,掩码输出提供潜在的掩码集。
- 如果提供没有掩码的潜在信号作为输入,则按原样输出原始潜在信号,但掩码输出提供将整个区域设置为掩码的输出。
- 通过 MaskEditor 设置遮罩时,将遮罩应用于潜在遮罩,输出包括存储的遮罩。与掩码输出相同的掩码也会输出。
- 连接到
vae_opt
时,它的优先级高于preview_method
。
ImageSender
、ImageReceiver
- ImageSender 中生成的图像会自动发送到具有相同 link_id 的 ImageReceiver。LatentSender
、LatentReceiver
- LatentSender 中生成的潜在内容会自动发送到具有相同 link_id 的 LatentReceiver。- 此外,LatentSender 是使用 PreviewLatent 实现的,它以有效负载形式将潜在内容存储在图像缩略图中。
- 由于 ComfyUI 目前的结构,无法区分 SDXL 潜在和 SD1.5/SD2.1 潜在。因此,它通过使用 SD1.5 方法解码缩略图来生成缩略图。
切换节点
开关(图像、掩膜)、
开关(潜在)、
开关(SEGS)
- 在多个输入中,选择选择器指定的输入并输出。必须提供第一个输入,而其他输入是可选的。但是,如果选择器指定的输入未连接,则可能会发生错误。Switch (Any)
- 这是一个 Switch 节点,它接受任意数量的输入并产生单个输出。其类型在连接到任何节点时确定,连接输入会增加可用于连接的插槽。反向开关(任意)
- 与开关(任意)
相比,它采用单个输入并输出众多输入之一。
通配符节点
- 这些节点支持
__wildcard name__
形式的语法和动态提示语法,如{a|b|c}
。 - 通配符文件可以通过将
.txt
或.yaml
文件放在ComfyUI-Impact-Pack/通配符
或ComfyUI-Impact-Pack/custom_wildcards
路径下来使用。- 您可以下载和使用此格式的通配符 YAML 文件。
- 首次执行后,您可以更改创建
ComfyUI-Impact-Pack/impact-pack.ini
的文件中custom_wildcards
条目中的自定义通配符路径。
ImpactWildcardProcessor
- 文本是通过处理文本中的通配符来生成的。如果模式设置为“填充”,则每次执行都会生成动态提示,并在第二个文本框中填充输入。如果模式设置为“固定”,则第二个文本框的内容保持不变。- 当使用“固定”模式生成图像时,用于该特定生成的提示将存储在元数据中。
ImpactWildcardEncode
- 与 ImpactWildcardProcessor 类似,它提供了 LoRA 的加载功能(例如<lora:some_awesome_lora:0.7:1.2>
)。在完成所有 lora 加载后,使用剪辑对填充的提示进行编码。- 如果安装了
Inspire Pack
,则可以使用LBW=lbw 规格
形式的 Lora 块权重 ; <lora:chunli:1.0:1.0:LBW=B11:0,0,0,0,0,0,0,0,0,0,A,0,0,0,0,0,0;A=0.;>
,<lora:chunli:1.0:1.0:LBW=0,0,0,0,0,0,0,0,0,0,A,B,0,0,0,0,0;A=0.5;B=0.2;>
,<lora:chunli:1.0:1.0:LBW=SD-MIDD;>
- 如果安装了
区域抽样
- 这些节点提供了划分区域并使用掩码执行部分采样的功能。与 TwoSamplersForMask 不同,每个区域的采样都会在每个步骤中应用。
RegionalPrompt
- 此节点结合了用于指定区域的掩码和要应用于每个区域以创建REGIONAL_PROMPTS
的采样器 。CombineRegionalPrompts
- 组合多个REGIONAL_PROMPTS
以创建单个REGIONAL_PROMPTS
。RegionalSampler
- 此节点使用基本采样器和区域提示执行采样。基本采样器的采样在每个步骤中执行,而每个区域的采样则通过绑定到每个区域的采样器执行。- overlap_factor - 指定每个区域的重叠量,以便与蒙版外部的区域很好地混合。
- restore_latent - 对每个区域进行采样时,将掩码外部的区域恢复为基础潜在区域,以防止在区域采样期间引入额外的噪声到掩码外部。
RegionalSamplerAdvanced
- 这是 RegionalSampler 的高级版本。您可以使用步进
而不是降噪
来控制它。
注意:
sde
采样器和uni_pc
采样器在采样过程的每个步骤中都会引入额外的噪声。为了缓解这种情况,在对每个区域进行采样时,uni_pc
采样器会应用额外的dpmpp_fast
,而 sde 采样器会应用dpmpp_2m
采样器作为附加度量值。
影响 KSampler
- 这些采样器支持 basic_pipe 和 AYS/OSS/GITS 调度器
KSampler(管道)
——KSampler 的管道版本KSampler(高级/管道)
- KSamplerAdvacned 的管道版本- 将调度程序小部件转换为输入时,请参阅
Impact Scheduler Adapter
节点以解决兼容性问题。 GITSScheduler Func Provider
- GITSScheduler 的提供程序调度器函数
批处理/列表实用程序
图像批处理到图像列表
- 将图像批处理转换为图像列表- 您可以使用多批生成的图像来处理它们
图像列表到图像批处理
- 将图像列表转换为图像批处理制作图像列表
- 将多个图像转换为单个图像列表制作图像批处理
- 将多个图像转换为单个图像批次- 图像的输入可以根据需要放大
Masks to Mask List
,Mask List to Masks
,Make Mask List
,Make Mask Batch
- 它具有与上述节点相同的功能,但使用蒙版作为输入而不是图像。Flatten Mask Batch
- 将蒙版批次展平为单个蒙版。不保证非二进制掩码的正常运行。制作列表(任意)
- 创建具有任意值的列表。选择第 N 个项目(任何列表)
- 从列表中选择第 N 个项目。如果索引超出范围,则返回列表中的最后一项。
逻辑(实验性)
- 这些节点是实验性节点,旨在实现循环和动态切换的逻辑。
ImpactCompare
、ImpactConditionalBranch
、ImpactConditionalBranchSelMode
、ImpactInt
、ImpactBoolean
、ImpactValueSender
、ImpactValueReceiver
、ImpactImageInfo
、ImpactMinMax
、ImpactNeg
、ImpactConditionalStopIteration
ImpactIsNotEmptySEGS
- 仅当输入 SEGS 不为空时,此节点才返回true
。ImpactIfNone
- 如果 any_input 为 None 则返回true
,如果不是 None,则返回false
。队列触发器
- 执行此节点时,它会添加一个新队列以协助执行重复性任务。它仅在信号状态发生变化时执行。队列触发器(倒计时)
- 与队列触发器一样,它会添加一个队列,但仅当队列大于 1 时才添加队列,并且每次运行时都会将计数递减 1。睡眠
- 等待指定时间(以秒为单位)。设置控件值(Set Widget Value
) - 此节点将可选输入之一设置为指定节点的控件。如果类型不匹配,则可能会发生错误。设置静音状态
- 此节点更改特定节点的静音状态。控制网桥
- 此节点根据模式
和行为
修改已连接控制节点的状态。如果有节点需要更改,则暂停当前执行,更新静音状态,并插入新的提示队列。- 当
该模式
处于活动状态
时,无论行为如何,它都会使连接的控制节点处于活动状态。 - 当
模式
为“旁路/静音”
时,它会根据行为是“旁路”
还是“静音
”来更改连接节点的状态。 - 限制 :由于这些特性,当批次计数超过 1 时,它无法正常工作。此外,当种子随机化或节点状态在控制网桥之前通过
队列触发器(Queue Trigger
)、设置控件值(Set Widget Value
)、设置静音(Set Mute
) 等作更改时,它不保证正常运行。 - 使用此节点时,请构建工作流,以便在工作流结束时执行队列
触发器
、设置小组件值
、设置静音状态
和类似作。 - 如果要在每次迭代时更改种子值,请确保在工作流结束时执行 设置小组件值(Set Widget Value) ,而不是使用随机化。
- 如果种子因随机化而发生变化,只要它发生在控制桥部分之后,就不是问题。
- 当
远程布尔值(提示时)、
远程整数(提示时
) - 在提示符开始时,此节点强制设置node_id
的widget_value
。如果目标小部件类型不同,则忽略它。- 您可以通过 comfyui-Manager 使用
徽章:#ID 昵称
格式查看node_id
。 - 用于实现循环功能的实验性节点集(稍后准备的教程/ 示例工作流程 )。
HuggingFace 节点
- 这些节点提供基于 HuggingFace 存储库模型的功能。
- 可以通过
HF_HOME
环境变量更改存储 HuggingFace 模型缓存的路径。 HF Transformers Classifier Provider
- 这是一个提供基于 HuggingFace 的 transformers 模型的分类器的节点。- “repo id”参数应包含 HuggingFace 的存储库 id。当
preset_repo_id
设置为手动存储库 ID
时,请使用manual_repo_id
中手动输入的存储库 ID。 - 例如,“rizvandwiki/gender-classification-2”是一个提供性别分类模型的存储库。
- “repo id”参数应包含 HuggingFace 的存储库 id。当
SEGS 分类
- 此节点利用加载了“HF Transformers Classifier Provider”的TRANSFORMERS_CLASSIFIER
对SEGS
进行分类。- 'expr' 允许使用
标签 > number
等形式,如果preset_expr
是Manual expr
,则使用在manual_expr
中输入的表达式。 - 例如,
在男性<=0.4
的情况下,如果分类结果中男性
标签的得分小于或等于 0.4,则归类为filtered_SEGS
,否则归类为remained_SEGS
。- 支持的标签,请参考相应 HuggingFace 仓库的
config.json
。
- 支持的标签,请参考相应 HuggingFace 仓库的
#Female
和#Male
是将多个标签(例如女性、女性、女性等
)分组的符号,以方便起见,而不是单个标签。
- 'expr' 允许使用
Etc 节点
Impact Scheduler 适配器
- 将 AYS 添加到 Impact Pack 和 Inspire Pack 的调度器中,当将现有调度器小部件转换为输入时,会出现不兼容的问题。Impact Scheduler 适配器允许间接连接成为可能。StringListToString
- 将字符串列表转换为字符串WildcardPromptFromString
- 从字符串为详图人员创建标记的通配符。- 此节点与 MakeTileSEGS 一起使用时效果很好。
字符串选择器
- 它选择并返回字符串的一部分。禁用多行
模式时,它只返回选择器指向的行的字符串。启用多行
模式后,它会根据以#
开头的行划分字符串并返回它们。如果select
值大于项目数,它将再次从第一行开始计数并相应地返回。组合条件反射
- 它将多个条件反射作为输入,并将它们组合成一个条件反射。连接条件
- 它将多个条件作为输入,并将它们连接成一个条件。负电位占位符
- 像 FLUX.1 这样的模型不使用负条件反射。这是它们的占位符节点。您可以使用 FLUX.1,方法是将 Impact KSampler、KSampler (Inspire) 和 Detailer 中使用的负条件替换为此节点。执行顺序控制器
- 一个辅助节点,可以强制控制节点的执行顺序。- 将应该先执行的节点的输出连接到信号上,使后面应该执行的节点的输入通过这个节点。
列表桥
- 当列表输出通过该节点传递时,它会在转发之前收集和组织数据,从而确保上一阶段的子工作流已经完成。
典型生态项目
4.1:Fannovel16/comfyui_controlnet_aux
这是一个控制网络预处理器的包装器,依赖于 Inspire Pack 中的节点。
4.2:Kosinkadink/ComfyUI-Advanced-Controlnet
从 Inspire Pack 中加载图像的代码来自这里。
4.3:Trung0246/ComfyUI-0246
提供了一个很好的绕过 hack。
4.4:cubiq/ComfyUI_IPAdapter_plus
IPAdapter 相关节点依赖于此扩展。
4.5:Davemane42/ComfyUI_Dave_CustomNode
ConditioningStretch 和 ConditioningUpscale 的原始作者。
4.6:BlenderNeko/ComfyUI_Noise
提供噪声变化的 slerp 代码。