ComfyUI-Impact-Pack

GitHub
3.1k 364 中等 1 次阅读 昨天GPL-3.0图像插件
AI 解读 由 AI 自动生成,仅供参考

ComfyUI-Impact-Pack 是专为 ComfyUI 设计的一套强大自定义节点扩展包,旨在简化并增强图像生成与修复的工作流。它通过集成检测器(Detector)、细节修复器(Detailer)、超分辨率放大器(Upscaler)以及高效的管道连接(Pipe)等核心功能,帮助用户轻松实现人脸修复、局部重绘、高清放大及复杂区域控制,有效解决了原生工作流中操作繁琐、难以精准控制局部细节的痛点。

该工具特别适合希望深入定制 AI 绘图流程的设计师、高级爱好者及研究人员使用。对于需要精细调整生成结果(如修复崩坏的手指或面部)的用户,ComfyUI-Impact-Pack 提供了近乎自动化的解决方案。其技术亮点在于支持最新的 FLUX.1 模型与 SAM2 分割模型,并具备基于执行模型反转的开关逻辑,允许用户在单个工作流中灵活切换不同处理路径。此外,它还完美兼容 AnimateDiff 动态生成与控制网(ControlNet)的高级应用。虽然安装时需注意版本兼容性建议通过 ComfyUI-Manager 进行部署,但一旦配置完成,它将极大提升图像生成的质量与可控性,是构建专业级 ComfyUI 工作流不可或缺的组件。

使用场景

一位电商设计师正在批量生成模特展示图,需要确保人物面部清晰且服装细节完美,同时保持高分辨率以用于广告海报。

没有 ComfyUI-Impact-Pack 时

  • 生成的人物面部经常模糊或五官扭曲,必须手动重绘数十次才能碰巧得到一张可用的脸。
  • 想要修复手部或饰品细节时,缺乏自动遮罩功能,只能依靠繁琐的手动蒙版绘制或外部 PS 处理。
  • 直接放大图片会导致画面出现伪影和噪点,无法在保持细节的前提下提升分辨率。
  • 工作流节点连线极其复杂,调整一个参数需要断开并重连多条线,调试效率极低。
  • 难以统一控制检测模型与修复模型的参数,导致批量出图时质量参差不齐。

使用 ComfyUI-Impact-Pack 后

  • 利用 Detailer 节点自动检测并重绘人脸,无需反复重试,每张图的人物五官都自然清晰。
  • 通过 Detector 自动识别身体、手部或特定衣物区域生成精准遮罩,实现局部细节的自动化修复。
  • 集成专用 Upscaler 流程,在放大的同时智能补充纹理,直接输出可用于印刷的高清大图。
  • 借助 Pipe 系列节点将复杂的模型参数打包传输,大幅简化连线,让工作流整洁且易于维护。
  • 支持一键切换不同的检测模型(如 SAM2),确保在不同姿态下都能稳定锁定目标区域。

ComfyUI-Impact-Pack 将原本依赖运气的“抽卡式”生成,转变为可控、高效且高质量的工业化图像生产流程。

运行环境要求

操作系统
  • Windows
  • Linux
  • macOS
GPU

未说明(作为 ComfyUI 插件,依赖宿主环境的 GPU 配置以运行 SAM、YOLO 等检测模型)

内存

未说明

依赖
notes1. 必须安装 ComfyUI 主程序,且版本建议为 0.3.63 或更高以兼容最新功能。 2. 若需使用 UltralyticsDetectorProvider (YOLO 模型),必须单独安装配套插件 'ComfyUI-Impact-Subpack',不再自动安装。 3. 推荐使用 ComfyUI-Manager 进行安装和管理;手动安装时需运行 install.py 并安装 requirements.txt。 4. 部分节点(如 CLIPSegDetectorProvider, MediaPipe FaceMesh)依赖其他第三方 ComfyUI 扩展或特定预处理器。 5. 支持 Facebook Research 的 SAM2 视频跟踪模型,需在 SAMLoader 中选择对应模型。
python3.8+ (基于 ComfyUI 及 torch 依赖推断,README 提及使用 python_embeded 或 venv/conda)
ComfyUI>=0.3.63
ultralytics (需通过 ComfyUI-Impact-Subpack 安装)
onnxruntime
clipseg
mediapipe
opencv-python (cv2)
segment-anything (SAM)
segment-anything-2 (SAM2)
ComfyUI-Impact-Pack hero image

快速开始

Youtube Badge

ComfyUI-Impact-Pack

ComfyUI 自定义节点包 此节点包通过检测器、细节增强器、超分辨率模型、管道等功能,帮助您便捷地增强图像。

注意:UltralyticsDetectorProvider 节点不属于 ComfyUI-Impact-Pack。如需使用 UltralyticsDetectorProvider 节点,请单独安装 ComfyUI-Impact-Subpack。

注意事项

  • V8.24:由于 DifferentialDiffusion 的结构变化,此兼容性补丁需要 ComfyUI 0.3.63 或更高版本。
  • V8.19:移除了旧版节点(如 mmdet 等)。
  • V8.18:支持 facebookresearch/sam2 模型。
  • V8.0:Impact Subpack 不再自动安装。如需使用 UltralyticsDetectorProvider 节点,请单独安装 Impact Subpack
  • V7.6:不再支持自动安装。请使用 ComfyUI-Manager 进行安装,或手动安装 requirements.txt 并运行 install.py 完成安装。
  • V7.0:支持基于执行模型反转的切换功能。
  • V6.0:在 Impact KSampler、Detailers 和 PreviewBridgeLatent 中支持 FLUX.1 模型。
  • V5.0:不再兼容 2024 年 4 月 8 日之前的 ComfyUI 版本。
  • V4.87.4:请更新至 2024 年 4 月 8 日之后的 ComfyUI 版本,以确保正常运行。
  • V4.85:与过时的 ComfyUI IPAdapter Plus 不兼容。(需使用 3 月 24 日或之后的版本。)
  • V4.77:已应用兼容性补丁。要求 ComfyUI 版本为 10 月 8 日或之后。
  • V4.73.3:ControlNetApply (SEGS) 支持 AnimateDiff。
  • V4.20.1:由于 RegionalSampler 功能更新,参数顺序发生了变化,导致之前创建的 RegionalSamplers 出现故障。请相应调整参数。
  • V4.12:MASKS 已更改为 MASK
  • V4.7.2 与旧版本的 ControlNet 辅助预处理器 不兼容。如需使用 MediaPipe FaceMesh to SEGS,请更新至最新版本(9 月 17 日)。
  • 自 V3.16 起,选择权重语法已更改(: -> ::)。(教程
  • 自 V3.6 起,需要 ComfyUI 最新版本(8 月 8 日,9ccc965)。
  • 在 V3.3.1 以下版本中,使用 UltralyticsDetectorProvider 后生成的图像质量存在问题。请务必升级到较新版本。
  • 自 V3.0 起,与 mmdet 相关的节点为可选节点,仅根据配置设置启用。
    • 通过 ComfyUI-Impact-Subpack,您可以利用 UltralyticsDetectorProvider 访问多种检测模型。
  • 在 2.22 和 2.21 版本之间,Detailer 工作流存在部分兼容性损失。若继续使用现有工作流,执行时可能会出现错误。Detailer 相关节点新增了一个名为 “enhanced_alpha_list” 的输出。
  • Impact Pack 安装过程中出现的 cv2 权限错误已在 2.21.4 版本中修复。但请注意,需要使用最新版本的 ComfyUI 和 ComfyUI-Manager。
  • “PreviewBridge” 功能可能无法在 2023 年 7 月 1 日之前发布的 ComfyUI 版本上正常工作。
  • 尝试在 2023 年 6 月 27 日之前发布的 ComfyUI 版本上加载 “ComfyUI-Impact-Pack”,将会失败。
  • 随着 FaceDetailer 中通配符支持的加入,DETAILER_PIPE 相关节点和 Detailer 节点的结构发生了变化。使用现有工作流时可能出现故障。

安装方法

推荐方式

手动安装

  • 在终端(cmd)中导航至 ComfyUI/custom_nodes
  • 使用以下命令将仓库克隆到 custom_nodes 目录下:
    git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
    cd comfyui-impact-pack
    
  • 在您的 Python 环境中安装依赖项。
    • 对于 Windows 可移植版,在 ComfyUI\custom_nodes\comfyui-impact-pack 内运行以下命令:
      ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
      
    • 如果使用 venv 或 conda,请先激活 Python 环境,然后运行:
      pip install -r requirements.txt
      

伴侣包

  • 如需使用 Ultralytics Detector Provider 来访问各种 YOLO 检测模型,还应安装 ComfyUI-Impact-Subpack

自定义节点

检测节点

  • SAMLoader (Impact) - 加载 SAM 模型。
  • ONNXDetectorProvider - 加载 ONNX 模型以提供 BBOX_DETECTOR。
  • CLIPSegDetectorProvider - CLIPSeg 的封装,用于提供 BBOX_DETECTOR。
    • 需要安装 ComfyUI-CLIPSeg 节点扩展。
  • SEGM Detector (combined) - 检测分割并从输入图像中返回掩码。
  • BBOX Detector (combined) - 检测边界框并从输入图像中返回掩码。
  • SAMDetector (combined) - 利用 SAM 技术,在输入图像上提取由输入 SEGS 指定位置的分割区域,并将其输出为统一的掩码。
  • SAMDetector (Segmented) - 类似于 SAMDetector (combined),但它会将检测到的分割区域分开并分别输出。对于同一检测区域,可能会找到多个分割区域,目前的策略是将它们任意地每三个一组进行分组。这一部分预计在未来会得到改进。
    • 因此,它会输出一个统一的 combined_mask 掩码,以及以批次形式组合的多个 batch_masks 掩码。
    • 虽然 batch_masks 可能不会完全分离,但它提供了进行一定程度分割的功能。
  • Simple Detector (SEGS) - 主要使用 BBOX_DETECTOR 运行,同时通过提供 SAM_MODELSEGM_DETECTOR,该节点会在内部通过对 bboxsilhouette 进行掩码操作来生成更优的 SEGS。它是一个方便的工具,可以简化较为复杂的流程。
  • Simple Detector for Video (SEGS) – 对由图像帧组成的视频进行检测。它不是使用单个掩码,而是对每一帧图像单独进行检测,并生成包含一批掩码的 SEGS 对象。
  • SAM2 Video Detector (SEGS) – 类似于 Simple Detector for Video (SEGS),但利用 SAM2 的视频跟踪技术生成包含一批掩码的 SEGS 对象。
    • 使用该节点时,必须在 SAMLoader 中选择一个 SAM2 模型。

ControlNet、IPAdapter

  • ControlNetApply (SEGS) - 若要在 SEGS 中应用 ControlNet,需要使用 Inspire Pack 中的 Preprocessor Provider 节点来配合使用此节点。
    • 可以选择性地应用 segs_preprocessorcontrol_image。如果提供了 control_image,则会忽略 segs_preprocessor
    • 如果设置为 control_image,可以通过 SEGSPreview (CNET Image) 预览裁剪后的 cnet 图像。由 segs_preprocessor 生成的图像应通过每个 Detailer 的 cnet_images 输出进行验证。
    • segs_preprocessor 是在细化过程中基于裁剪后的图像实时进行预处理,而 control_image 则会被裁剪后作为输入传递给 ControlNetApply (SEGS)
  • ControlNetClear (SEGS) - 清除 SEGS 中已应用的 ControlNet。
  • IPAdapterApply (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 Detector (SEGS) - 检测分割并从输入图像中返回 SEGS。
  • BBOX Detector (SEGS) - 检测边界框并从输入图像中返回 SEGS。
  • Dilate Mask - 扩张掩码。
    • 支持使用负值进行腐蚀。
  • Gaussian Blur Mask - 对掩码应用高斯模糊。可用于掩码羽化。
  • Mask Rect Area - 基于百分比创建矩形掩码,并可在预览画布上查看。
  • Mask Rect Area (Advanced) - 基于像素和图像尺寸创建矩形掩码。

细化节点

  • Detailer (SEGS) - 根据 SEGS 对图像进行细化。

  • Detailer (SEGS) with auto retry - 根据 SEGS 对图像进行细化,如果补丁全部为黑色,则会自动重试。

  • DetailerDebug (SEGS) - 根据 SEGS 对图像进行细化。此外,它还提供了监控裁剪图像以及裁剪图像细化结果的能力。

    • 为了避免在使用“external_seed”时因每次种子不变而导致的重复生成,请在“Detailer…”节点中关闭“seed random generate”选项。
  • MASK to SEGS - 根据掩码生成 SEGS。

  • MASK to SEGS For Video - 根据视频中的掩码生成 SEGS。(由 MASK to SEGS For AnimateDiff 更名而来)

    • 当使用单个掩码时,将其转换为 SEGS 以应用于整个帧。
    • 当使用批量掩码时,轮廓填充功能将被禁用。
  • MediaPipe FaceMesh to SEGS - 从 MediaPipe 面部网格图像中分离出每个地标,创建带标签的 SEGS。

    • 通常,通过 MediaPipe 面部网格预处理器生成的图像会被缩小。它会将 MediaPipe 面部网格图像调整回原始大小,以便在处理过程中与 reference_image_opt 提供的参考图像尺寸匹配。
  • ToBinaryMask - 将使用 0 到 255 之间 alpha 值生成的掩码分离为 0 和 255。非零部分始终设置为 255。

  • Masks to Mask List - 该节点将批量的 MASKS 转换为单个掩码列表。

  • Mask List to Masks - 该节点将掩码列表转换为批量掩码形式。

  • EmptySEGS - 提供一个空的 SEGS。

  • MaskPainter - 提供绘制掩码的功能。

  • FaceDetailer - 轻松检测人脸并进行优化。

  • FaceDetailer (pipe) - 轻松检测人脸并进行优化(适用于多通道)。

  • MaskDetailer (pipe) - 这是一个简单的 inpaint 节点,可将 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 中包含的图像。取而代之的是,使用 ref_image_opt 中与 SEGS 裁剪区域对应的部分进行粘贴。ref_image_opt 中的图像尺寸应与原图尺寸相同。
    • 此节点可与 AnimateDiff 的处理结果结合使用。
  • SEGSPreview - 提供 SEGS 的预览。
    • 该选项用于在将改进后的图像合并回原图之前,通过 SEGSDetailer 预览其效果。在经过 SEGSDetailer 处理前,SEGS 只包含掩码信息,而不包含图像信息。如果连接了 fallback_image_opt 作为原图,则 SEGS 将使用原图生成无图像信息的预览。然而,如果 SEGS 已经包含图像信息,则 fallback_image_opt 将被忽略。
    • 此节点可与 AnimateDiff 的处理结果结合使用。
  • SEGSPreview (CNET Image) - 用于调试目的,显示通过 ControlNetApply (SEGS) 配置的图像。
  • SEGSToImageList - 将 SEGS 转换为图像列表。
  • SEGSToMaskList - 将 SEGS 转换为掩码列表。
  • SEGS Filter (label) - 根据检测区域的标签对 SEGS 进行过滤。
  • SEGS Filter (ordered) - 根据大小和位置对 SEGS 进行排序,并提取特定范围内的 SEG。
  • SEGS Filter (range) - 仅从 SEGS 中提取尺寸和位置在特定范围内的 SEG。
  • SEGS Filter (non max suppression) - 根据交并比(IoU)阈值,移除重叠度高的 SEG,仅保留置信度最高的检测结果。
  • SEGS Filter (intersection) - 根据交集面积(IoA)阈值,从 segs1 中筛选出与 segs2 中任何 SEG 均无显著重叠的 SEG。
  • SEGS Assign (label) - 按顺序为 SEGS 分配标签。此节点在与 FaceDetailer 的 [LAB] 结合使用时非常有用。
  • SEGSConcat - 将 segs1 和 segs2 拼接在一起。如果 segs1 和 segs2 的源形状不同,则 segs2 将被忽略。
  • SEGS Merge - SEGS 包含多个 SEG。SEGS Merge 可将多个 SEG 整合为一个合并后的 SEG。标签将变为 merged,置信度则取最低值。应用的 ControlNet 和裁剪后的图像将被移除。
  • Picker (SEGS) - 在输入的 SEGS 中,可通过对话框选择特定的 SEG。若未选择任何 SEG,则输出空的 SEGS。增加 SEGSDetailer 的 batch_size 可用于从候选中进行选择。
  • Set Default Image For SEGS - 为 SEGS 设置默认图像。以这种方式设置图像的 SEGS 不再需要设置后备图像。当 override 设置为 false 时,将保留原图。
  • Remove Image from SEGS - 移除通过 “Set Default Image for SEGS” 或 SEGSDetailer 配置的 SEGS 图像。移除 SEGS 的图像后,Detailer 节点将基于当前处理的图像而非 SEGS 运行。
  • Make Tile SEGS - [实验性] 从图像创建瓦片形式的 SEGS,以便于使用 Detailer 进行分块放大实验。
    • filter_in_segs_optfilter_out_segs_opt 是可选输入。如果提供了这些输入,在创建瓦片时,每个瓦片的掩码将通过与 filter_in_segs_opt 的掩码叠加,并排除与 filter_out_segs_opt 的掩码重叠来生成。掩码为空的瓦片将不会被创建为 SEGS。
  • Dilate Mask (SEGS) - 对 SEGS 中的掩码进行膨胀/腐蚀操作。
  • Gaussian Blur Mask (SEGS) - 对 SEGS 中的掩码应用高斯模糊。
  • SEGS_ELT Manipulation - 实验性节点
    • DecomposeSEGS - 将 SEGS 分解,以便进行详细操作。
    • AssembleSEGS - 将分解后的 SEGS 重新组装。
    • From SEG_ELT - 从 SEG_ELT 中提取详细信息。
    • Edit SEG_ELT - 修改 SEG_ELT 中的部分信息。
    • Dilate SEG_ELT - 膨胀 SEG_ELT 的掩码。
    • From SEG_ELT bbox - 从 SEG_ELT 中的 bbox 提取坐标。
    • From SEG_ELT crop_region - 从 SEG_ELT 中的 crop_region 提取坐标。
  • Count Elt in SEGS - 计算 SEGS 中的元素数量。

管道节点

  • ToDetailerPipe, FromDetailerPipe - 这些节点用于将 Detailer 中使用的多个输入(如模型、VAE 等)打包成一个 DETAILER_PIPE,或从 DETAILER_PIPE 中提取已打包的元素。
  • ToBasicPipe, FromBasicPipe - 这些节点用于将模型、CLIP、VAE、正向条件和反向条件打包成一个 BASIC_PIPE,或从 BASIC_PIPE 中提取各个元素。
  • EditBasicPipe, EditDetailerPipe - 这些节点用于替换 BASIC_PIPE 或 DETAILER_PIPE 中的部分元素。
  • FromDetailerPipe_v2, FromBasicPipe_v2 - 功能与 FromDetailerPipeFromBasicPipe 相同,但额外提供了一个直接导出输入管道的输出。这在编辑 EditBasicPipe 和 EditDetailerPipe 时非常有用。
  • Latent Scale (on Pixel Space) - 本节点将潜在空间转换为像素空间,对其进行放大,然后再转换回潜在空间。
    • 如果提供了 upscale_model_opt,则使用该模型对像素进行放大,随后使用 scale_method 中提供的插值方法将其缩小到目标分辨率。
  • PixelKSampleUpscalerProvider - 提供一种放大器,它使用 VAEDecode 将潜在空间转换为像素,执行放大操作,再使用 VAEEncode 将其转换回潜在空间,最后进行 k-sampling。这种放大器可以附加到 Iterative Upscale 等节点上使用。
    • 类似于 Latent Scale (on Pixel Space),如果提供了 upscale_model_opt,则会使用该模型进行像素放大。
  • PixelTiledKSampleUpscalerProvider - 与 PixelKSampleUpscalerProvider 类似,但它使用 ComfyUI_TiledKSampler 和 Tiled VAE 解码器/编码器,以避免在高分辨率下出现 GPU VRAM 问题。

PK_HOOK

  • DenoiseScheduleHookProvider - IterativeUpscale 提供了一个钩子,随着迭代步骤的推进,逐渐将去噪强度调整为目标去噪强度。
  • CfgScheduleHookProvider - IterativeUpscale 提供了一个钩子,随着迭代步骤的推进,逐渐将 CFG 强度调整为目标 CFG 强度。
  • StepsScheduleHookProvider - IterativeUpscale 提供了一个钩子,随着迭代步骤的推进,逐渐将采样步数调整为目标步数。
  • NoiseInjectionHookProvider - 在 IterativeUpscale 的每次迭代过程中,会根据预设的时间表逐步调整噪声强度,并向潜在空间注入噪声。
    • 需要安装 BlenderNeko/ComfyUI_Noise 节点扩展。
    • 种子用于生成初始噪声值,每次迭代时种子值会递增 1。
    • 源参数决定了配置 CPU 噪声还是 GPU 噪声。
    • 目前仅提供一种简单的时间表:在每次迭代过程中,噪声强度从 start_strength 逐渐变化到 end_strength。
  • UnsamplerHookProvider - 在每次迭代中应用 Unsampler。使用此节点前需先安装 ComfyUI_Noise 扩展。
  • PixelKSampleHookCombine - 用于连接两个 PK_HOOK。首先执行 hook1,然后再执行 hook2。
    • 如果希望同时调整 CFG 和去噪强度,可以将 CfgScheduleHookProvider 和 PixelKSampleHookCombine 结合使用。

DETAILER_HOOK

  • NoiseInjectionDetailerHookProvider - detailer_hookDetailer 中的一个钩子,在处理每个 SEGS 的过程中注入噪声。
  • UnsamplerDetailerHookProvider - 在每次循环中应用 Unsampler。使用此节点前需先安装 ComfyUI_Noise 扩展。
  • DenoiseSchedulerDetailerHookProvider - 在循环进行的过程中,详细器的去噪强度会被调整至 target_denoise
  • CoreMLDetailerHookProvider - CoreML 仅支持 512x512、512x768、768x512、768x768 尺寸的采样。CoreMLDetailerHookProvider 会精确地将裁剪区域的放大尺寸固定为这些规格。使用此钩子时,无论 guide_size 如何,都会始终选择上述尺寸。然而,如果 guide_size 过小,则可能会出现跳过的情况。
  • DetailerHookCombine - 用于连接两个 DETAILER_HOOK。与 PixelKSampleHookCombine 类似。
  • SEGSOrderedFilterDetailerHookSEGSRangeFilterDetailerHookSEGSLabelFilterDetailerHook - 这些是包装节点,通过创建 DETAILER_HOOK,为 FaceDetailer 或 Detector 提供 SEGSFilter 节点。
  • PreviewDetailerHook - 连接此钩子节点有助于在每次完成 SEGS 详细化任务后查看预览效果。当处理大量 SEGS 时,例如制作拼贴 SEGS,它可以让用户逐步监控处理进度。
    • 由于该钩子是在最终粘贴回原始图像时应用的,因此对 SEGSDetailer 等节点没有影响。
  • VariationNoiseDetailerHookProvider - 向详细器应用变异种子。可以通过组合方式分多个阶段应用。
  • CustomSamplerDetailerHookProvider - 应用一个允许在 Detailer 节点中使用自定义采样器的钩子。当使用 DetailerHookCombine 时,会优先应用第一个钩子中的采样器。
  • LamaRemoverDetailerHookProvider - 在详细化阶段,将 Lama Remover 应用于放大后的图像。如果设置 skip_sampling 为 True,则可单独使用 Lama Remover 而无需经过详细化阶段,直接移除检测到的区域。
    • 不适用于 AnimateDiff 详细器。使用 DetailerHookCombine 时,只有当所有钩子都设置为 True 时,才会生效 skip_sampling
    • 使用此节点前,需安装位于 Layer-norm/comfyui-lama-remover 的节点包。

迭代式放大节点

  • Iterative Upscale (Latent/on Pixel Space) - 该放大器接收输入放大器,并将缩放因子拆分为若干步骤,然后逐次进行放大操作。此节点以潜在空间作为输入,输出也为潜在空间。
  • Iterative Upscale (Image) - 该放大器接收输入放大器,并将缩放因子拆分为若干步骤,然后逐次进行放大操作。此节点以图像作为输入,输出也为图像。
    • 内部实现上,该节点使用的是 Iterative Upscale (Latent)

双采样器节点

  • TwoSamplersForMask - 该节点可以根据掩码区域应用两种不同的采样器。掩码值为 0 的区域使用 base_sampler,而掩码值为 1 的区域则使用 mask_sampler。

    • 注意:无法使用通过 VAEEncodeForInpaint 编码的潜在空间。
  • KSamplerProvider - 这是一个包装器,使 KSampler 能够在 TwoSamplersForMask 和 TwoSamplersForMaskUpscalerProvider 中使用。

  • TiledKSamplerProvider - ComfyUI_TiledKSampler 是一个包装器,用于提供 KSAMPLER。

  • TwoAdvancedSamplersForMask - TwoSamplersForMask 与 TwoAdvancedSamplersForMask 类似,但它们的操作方式有所不同。TwoSamplersForMask 只有在基础区域的所有采样完成后,才会对掩码区域进行采样。而 TwoAdvancedSamplersForMask 则会在每一步中依次对基础区域和掩码区域进行采样。

  • KSamplerAdvancedProvider - 这是一个包装器,使 KSampler 能够在 TwoAdvancedSamplersForMask 和 RegionalSampler 中使用。

    • sigma_factor:通过将去噪时间表乘以 sigma_factor,可以根据配置的去噪程度调整去噪量。
  • TwoSamplersForMaskUpscalerProvider - 这是一个放大器,扩展了 TwoSamplersForMask 的功能,使其能够在 Iterative Upscale 中使用。

    • TwoSamplersForMaskUpscalerProviderPipe - 是 TwoSamplersForMaskUpscalerProvider 的管道版本。

图像工具

  • PreviewBridge (image) - 此自定义节点可在使用 Clipspace 的 MaskEditor 功能时,与图像桥接一起使用。
  • PreviewBridge (latent) - 此自定义节点可在使用 Clipspace 的 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 方法对潜在变量进行解码并生成缩略图。

切换节点

  • Switch (image,mask), Switch (latent), Switch (SEGS) - 在多个输入中,选择由选择器指定的输入并输出。必须提供第一个输入,其他输入为可选。但是,如果选择器指定的输入未连接,可能会发生错误。
  • Switch (Any) - 这是一个可以接受任意数量输入并产生单个输出的切换节点。其类型会在连接到任何节点时确定,连接更多输入会增加可用的连接槽位。
  • Inversed Switch (Any) - 与 Switch (Any) 相反,它接受一个输入并从多个输出中选择一个。
  • 注意:请参阅此教程

通配符 节点

  • 这些节点支持 __wildcard-name__ 形式的语法以及 {a|b|c} 等动态提示语法。
  • 通配符文件可以通过将 .txt.yaml 文件放置在 ComfyUI-Impact-Pack/wildcardsComfyUI-Impact-Pack/custom_wildcards 路径下使用。
    • 您可以下载并使用这种格式的 Wildcard YAML 文件。
    • 首次执行后,您可以在创建的 ComfyUI-Impact-Pack/impact-pack.ini 文件中的 custom_wildcards 条目中更改自定义通配符路径。
  • ImpactWildcardProcessor - 通过处理文本中的通配符来生成文本。如果模式设置为“填充”,则每次执行时都会生成动态提示,并将输入内容填充到第二个文本框中。如果模式设置为“固定”,则第二个文本框的内容保持不变。
    • 当以“固定”模式生成图像时,用于该特定生成的提示会存储在元数据中。
  • ImpactWildcardEncode - 类似于 ImpactWildcardProcessor,此节点提供了 LoRA 的加载功能(例如 <lora:some_awesome_lora:0.7:1.2>)。在所有 LoRA 加载完成后,填充后的提示会使用 Clip 进行编码。
    • 如果安装了 Inspire Pack,您可以使用 Lora Block Weight,格式为 LBW=lbw spec;
    • <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 的高级版本。您可以使用 step 而不是 denoise 来控制它。

    注意:sde 采样器和 uni_pc 采样器在采样的每一步中都会引入额外的噪声。为了缓解这一点,在对每个区域进行采样时,uni_pc 采样器会额外应用 dpmpp_fast,而 sde 采样器则会额外应用 dpmpp_2m 采样器。

Impact KSampler

  • 这些采样器支持 basic_pipe 以及 AYS/OSS/GITS 调度器。
  • KSampler (pipe) - KSampler 的管道版本。
  • KSampler (advanced/pipe) - KSampler Advanced 的管道版本。
  • 当将调度器小部件转换为输入时,请参考 Impact Scheduler Adapter 节点以解决兼容性问题。
  • GITSScheduler Func Provider - GITSScheduler 的调度函数提供者。

批量/列表工具

  • Image Batch to Image List - 将图像批次转换为图像列表。
    • 您可以使用在多批次中生成的图像来处理它们。
  • Image List to Image Batch - 将图像列表转换为图像批次。
  • Make Image List - 将多张图像转换成一个图像列表。
  • Make Image Batch - 将多张图像转换成一个图像批次。
    • 图像输入可以根据需要进行扩展。
  • Masks to Mask List, Mask List to Masks, Make Mask List, Make Mask Batch - 这些节点的功能与上述节点相同,只是输入为掩码而非图像。
  • Flatten Mask Batch - 将掩码批次展平为单个掩码。对于非二值掩码,不能保证正常运行。
  • Make List (Any) - 创建包含任意值的列表。
  • Select Nth Item (Any list) - 从列表中选择第 N 项。如果索引超出范围,则返回列表中的最后一项。

逻辑节点(实验性)

  • 这些节点是实验性的,旨在实现循环和动态切换的逻辑。
  • ImpactCompareImpactConditionalBranchImpactConditionalBranchSelModeImpactIntImpactBooleanImpactValueSenderImpactValueReceiverImpactImageInfoImpactMinMaxImpactNegImpactConditionalStopIteration
  • ImpactIsNotEmptySEGS - 该节点仅在输入的SEGS不为空时返回true
  • ImpactIfNone - 如果any_input为None,则返回true;否则返回false
  • Queue Trigger - 当此节点执行时,它会添加一个新的队列来协助重复性任务。只有当信号状态发生变化时,才会执行。
  • Queue Trigger (Countdown) - 类似于Queue Trigger,它也会添加一个队列,但仅当计数大于1时才添加,并且每次运行时将计数减1。
  • Sleep - 等待指定的时间(以秒为单位)。
  • Set Widget Value - 此节点将可选输入之一设置为指定节点的控件值。如果类型不匹配,可能会发生错误。
  • Set Mute State - 此节点更改特定节点的静音状态。
  • Control Bridge - 此节点根据modebehavior修改连接的控制节点的状态。如果有需要更改的节点,当前执行会被暂停,静音状态会被更新,并插入一个新的提示队列。
    • modeactive时,无论行为如何,都会使连接的控制节点处于激活状态。
    • modeBypass/Mute时,会根据行为是Bypass还是Mute来改变连接节点的状态。
    • 局限性:由于这些特性,当批次数量超过1时,该节点无法正常工作。此外,在Control Bridge之前,如果种子被随机化,或者节点状态被Queue TriggerSet Widget ValueSet Mute等操作改变,也无法保证其正常运行。
    • 使用此节点时,请确保将Queue TriggerSet Widget ValueSet Mute State等操作安排在工作流的最后部分执行。
    • 如果希望每次迭代都更改种子值,请确保在工作流的最后执行Set Widget Value,而不是使用随机化功能。
      • 只要种子变化发生在Control Bridge部分之后,就不会有问题。
  • Remote Boolean (on prompt)Remote Int (on prompt) - 在提示开始时,此节点会强制设置node_idwidget_value。如果目标控件类型不同,则会被忽略。
  • 您可以通过ComfyUI-ManagerBadge: #ID Nickname的格式查看node_id
  • 用于实现循环功能的实验性节点集合(教程将在稍后提供 / 示例工作流)。

局限性

  • Impact Pack中的许多节点使用通配符类型,以允许任意的输入输出连接。一旦ComfyUI正式支持动态类型,这种方法将被取代。在此之前,虽然这些节点可以正常工作,但在类型验证时仍可能出现错误信息。

HuggingFace节点

  • 这些节点基于HuggingFace仓库中的模型提供功能。
  • 可以通过HF_HOME环境变量更改HuggingFace模型缓存的存储路径。
  • HF Transformers Classifier Provider - 这是一个基于HuggingFace的transformers模型提供分类器的节点。
    • 参数repo id应包含HuggingFace的仓库ID。当preset_repo_id设置为Manual repo id时,需在manual_repo_id中手动输入仓库ID。
    • 例如,rizvandwiki/gender-classification-2是一个提供性别分类模型的仓库。
  • SEGS Classify - 此节点利用由HF Transformers Classifier Provider加载的TRANSFORMERS_CLASSIFIERSEGS进行分类。
    • 参数expr允许使用如label > number的形式,当preset_exprManual expr时,则使用manual_expr中输入的表达式。
    • 例如,在male <= 0.4的情况下,如果分类结果中male标签的得分小于或等于0.4,则将其归类为filtered_SEGS,否则归类为remained_SEGS
      • 支持的标签请参考相应HuggingFace仓库的config.json文件。
    • #Female#Male是用于方便起见而将多个标签(如Female, women, woman, ...)分组的符号,而非单个标签。

其他节点

  • Impact Scheduler Adapter - 随着AYS加入Impact Pack和Inspire Pack的日程安排器中,在将现有日程安排器控件转换为输入时会出现兼容性问题。Impact Scheduler Adapter允许间接连接。

  • StringListToString - 将字符串列表转换为字符串。

  • WildcardPromptFromString - 从字符串创建用于detailer的带标签通配符。

    • 该节点与MakeTileSEGS配合使用效果良好。[链接]
  • String Selector - 选择并返回字符串的一部分。当multiline模式关闭时,它简单地返回选择器指向的那一行的字符串。当multiline模式开启时,它会根据以#开头的行分割字符串并返回。如果select值大于项目总数,它会从第一行重新开始计数并返回相应的结果。

  • Combine Conditionings - 接受多个conditioning作为输入,并将它们合并为一个conditioning。

  • Concat Conditionings - 接受多个conditioning作为输入,并将它们串联成一个conditioning。

  • Negative Cond Placeholder - 像FLUX.1这样的模型不使用Negative Conditioning。这是一个为它们准备的占位符节点。您可以用此节点替换Impact KSampler、KSampler (Inspire)和Detailer中使用的Negative Conditioning,从而使用FLUX.1。

  • Execution Order Controller - 一个辅助节点,可以强制控制节点的执行顺序。

    • 将应首先执行的节点的输出连接到信号,并使随后执行的节点的输入经过此节点。
  • List Bridge - 当列表输出通过此节点时,它会收集并整理数据后再转发,从而确保前一阶段的子工作流已完成。

功能

  • 交互式 SAM 检测器(剪贴板空间) - 当您右键单击具有 'MASK' 和 'IMAGE' 输出的节点时,会打开一个上下文菜单。从此菜单中,您可以选择使用“在 SAM 检测器中打开”来创建 SAM Mask 的对话框,或者使用“复制(剪贴板空间)”复制内容(很可能是掩码数据),然后从剪贴板空间菜单中使用“Impact SAM 检测器”生成掩码,并使用“粘贴(剪贴板空间)”将其粘贴。
  • 提供检测功能,用于识别在样本执行过程中混合来自 SDXL BaseSDXL RefinerSD1.xSD2.x 等检查点的模型和片段时出现的错误,并报告相应的错误信息。

如何安装?

通过 ComfyUI-Manager 安装(推荐)

  • 在 ComfyUI-Manager 中搜索 ComfyUI Impact Pack,然后点击“安装”按钮。

手动安装(不推荐)

  1. cd custom_nodes
  2. git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack
  3. cd ComfyUI-Impact-Pack
  4. pip install -r requirements.txt
    • 重要提示
      • 必须在运行 ComfyUI 的 Python 环境中进行安装。
      • 对于便携版,请使用 <installed path>\python_embeded\python.exe -m pip 而不是 pip。对于 venv,请先激活 venv,然后再使用 pip
  5. 重启 ComfyUI
  • 注意1:如果在安装过程中出现错误,请参阅故障排除页面以获取帮助。
  • 注意2:您可以使用此 Colab 笔记本 colab notebook 来启动它。该笔记本会自动将 Impact Pack 下载到 custom_nodes 目录,安装经过测试的依赖项并运行它。
  • 注意3:如果您在 ComfyUI/custom_nodes/ 目录中创建一个名为 skip_download_model 的空文件,那么在安装 Impact Pack 时将会跳过模型下载步骤。

软件包依赖(如果需要手动设置)

  • 使用 pip 安装

    • segment-anything
    • scikit-image
    • piexif
    • opencv-python
    • scipy
    • numpy<2
    • dill
    • matplotlib
    • (可选)onnxruntime
    • (已弃用)openmim # 用于 mim
    • (已弃用)pycocotools # 用于 mim
  • Linux 软件包(Ubuntu)

    • libgl1-mesa-glx
    • libglib2.0-0

配置示例

  • 当您首次运行 Impact Pack 时,会在 Impact Pack 目录中自动生成一个 impact-pack.ini 文件。您可以修改此配置文件以自定义默认行为。
    • dependency_version - 不要修改此选项
    • sam_editor_cpu - 使用 CPU 而不是 GPU 进行 SAM 编辑器 操作
    • sam_editor_model:指定 SAM 编辑器使用的 SAM 模型。
      • 您可以通过 ComfyUI-Manager 下载各种 SAM 模型。
      • SAM 模型路径:ComfyUI/models/sams
[default]
sam_editor_cpu = False
sam_editor_model = sam_vit_b_01ec64.pth

其他资源(安装时自动下载)

故障排除页面

使用方法(DDetailer 功能)

1. 基本的自动人脸检测与细化示例。

simple

  • 由于低分辨率导致损坏的人脸,通过生成和合成高分辨率图像来恢复细节。
  • FaceDetailer 节点结合了用于人脸检测的 Detector 节点和用于图像增强的 Detailer 节点。更详细的说明请参阅高级教程
  • FaceDetailer 的 MASK 输出提供了检测和增强区域的可视化信息。

simple-orig simple-refined

  • 可以看到,左侧图像中的人脸细节在右侧图像中得到了显著提升。

2. 两步细化(修复严重损坏的人脸)

2pass-workflow-example

  • 虽然可以将两个 FaceDetailer 节点串联起来实现两步处理,但也可以通过 DETAILER_PIPE 传递 KSampler 中常用的多种输入,因此使用 FaceDetailerPipe 可以更方便地进行配置。
  • 在第一遍中,只需恢复大致轮廓,因此可以使用合理的分辨率和较低的选项进行修复。不过,如果此时增加膨胀值,不仅人脸会被纳入修复范围,周围的区域也会受到影响,因此在需要对脸部以外的部分进行重塑时会很有用。

2pass-example-original 2pass-example-middle 2pass-example-result

  • 第一阶段将严重损坏的人脸恢复到一定程度,第二阶段则进一步恢复细节。

3. 人脸边界框 + 人物轮廓分割(防止背景失真)

combination-workflow-example combination-example-original combination-example-refined

  • 强调细节的人脸合成被精细地对齐到面部轮廓上,可以看出它并未影响到面部以外的图像部分。

  • BBoxDetectorForEach 节点用于检测人脸,而 SAMDetectorCombined 节点则用于找到与检测到的人脸相关的分割区域。通过将这两种方式获得的掩码输入到 Segs & Mask 节点中,可以生成基于分割精确相交的掩码。如果将此掩码输入到 DetailerForEach 节点中,则仅能对目标区域进行高分辨率重建并将其合成到原图中。

4. 迭代式放大

upscale-workflow-example

  • IterativeUpscale 节点是一个按 scale_factor 放大图像或潜在表示的节点。在此过程中,放大操作会分步骤逐步进行。

  • IterativeUpscale 接受一个类似于插件的 Upscaler 作为输入,并在每次迭代中使用它。PixelKSampleUpscalerProvider 是一种将潜在表示转换为像素空间并应用 ksampling 的放大器。

    • upscale_model_opt 是一个可选参数,用于决定是否在模型基础具备放大功能时使用该功能。使用模型自带的放大功能可以显著减少所需的迭代次数。例如,如果使用 x2 放大器,图像或潜在表示会先被放大两倍,然后在每一步中再缩小到目标尺寸,之后才会继续进行后续处理。
  • 下图是一张 304x512 像素的图像,以及使用 IterativeUpscale 将其放大至原尺寸三倍后的效果。

combination-example-original combination-example-refined

5. 交互式 SAM 检测器(Clipspace)

  • 当您右键单击输出 'MASK' 和 'IMAGE' 的节点时,会出现一个名为“在 SAM 检测器中打开”的菜单,如图所示。点击该菜单会打开 SAM 功能中的对话框,允许您生成分割掩码。 samdetector-menu

  • 单击鼠标左键会在坐标处添加蓝色的正面提示,表示应包含的区域;单击鼠标右键则会添加红色的负面提示,表示应排除的区域。正面提示代表应包含的区域,而负面提示代表应排除的区域。

  • 您可以通过“撤销”按钮移除已添加的点。选择好点位后,点击“检测”按钮即可生成掩码。此外,您还可以通过调整保真度滑块来控制掩码属于置信区的程度。

samdetector-dialog

  • 如果您是通过节点中的“在 SAM 检测器中打开”选项打开对话框的,则可以直接点击“保存到节点”按钮来应用更改。而如果通过“clipspace”菜单打开对话框,则需点击“保存”按钮将其保存到 clipspace 中。

samdetector-result

  • 当您使用节点中反映的掩码执行操作时,可以看到图像和掩码会分别显示。

其他教程

致谢

ComfyUI/ComfyUI - 一个功能强大且模块化的稳定扩散 GUI。

dustysys/ddetailer - Stable-diffusion-webUI 扩展中的 DDetailer。

Bing-su/dddetailer - DDetailer 中使用的动漫人脸检测器已更新为兼容 mmdet 3.0.0,并且我们还为 DDetailer 的 pycocotools 依赖项在 Windows 环境中打上了补丁。

facebook/segment-anything - 分割一切!

hysts/anime-face-detector - anime-face_yolov3 的创建者,在多种艺术风格上表现出色。

open-mmlab/mmdetection - 目标检测工具集。dd-person_mask2former 是基于他们的 R-50 Mask2Former 实例分割模型 进行迁移学习训练的。

biegert/ComfyUI-CLIPSeg - 这是一个自定义节点,使 CLIPSeg 技术能够在 ComfyUI 中使用,该技术可以通过提示词来查找分割区域。

BlenderNeok/ComfyUI-TiledKSampler - 平铺采样器即使在 GPU 显存较低的情况下也能进行高分辨率采样。

BlenderNeok/ComfyUI_Noise - 噪声注入功能依赖于该函数以及 slerp 代码来实现噪声变化。

WASasquatch/was-node-suite-comfyui - ComfyUI 功能强大的自定义节点扩展。

Trung0246/ComfyUI-0246 - 一个不错的绕过技巧!

Layer-norm/comfyui-lama-remover - 使用 LamaRemoverDetailerHook 所需。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|今天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架