WAS Node Suite - ComfyUI
详情
下载文件
关于此版本
模型描述
WAS Node Suite - ComfyUI - WAS#0263
ComfyUI 是一个基于节点的高级UI,利用 Stable Diffusion。它允许你创建自定义工作流,如图像后期处理或格式转换。
专为 ComfyUI 设计的节点套件,包含许多新节点,如图像处理、文本处理等。
分享工作流 至工作流维基。建议嵌入包含工作流的PNG图片,但JSON文件也可以。你可以使用此工具轻松地将工作流添加到PNG文件中
重要更新
[更新于 5/29/2023]
ASCII已被弃用。文本节点输出的新首选方法是STRING。这一更改从ASCII更改为STRING,以便更清晰地显示所传递的数据。was_suite_config.json将自动将use_legacy_ascii_text设置为false。
视频节点 - 新增两个视频节点:
写入视频和通过路径创建视频。这些是实验性节点。
当前节点:
BLIP 图像分析:从图像中获取文本描述,或通过提问询问图像。
模型将自动从默认URL下载,但你可以在
was_suite_config中指定另一个位置/描述模型。模型将存储在
ComfyUI/models/blip/checkpoints/目录中。
SAM 模型加载器:加载 SAM 分割模型。
SAM 参数:定义图像分割的 SAM 参数。
SAM 参数合并:合并 SAM 参数。
SAM 图像遮罩:对图像进行 SAM 遮罩。
图像边界:对图像设置边界。
图像边界内嵌:对图像边界进行内嵌。
边界图像混合:混合边界图像。
带遮罩的边界图像混合:通过遮罩混合边界图像。
边界图像裁剪:裁剪边界图像。
带遮罩的边界图像裁剪:通过遮罩裁剪边界图像。
缓存节点:将潜变量、张量批处理(图像)和条件缓存到磁盘,以供以后使用。
CLIPTextEncode (NSP):从 NSP 食材柜中解析面食汤,或从包含 A1111 风格通配符的目录中解析通配符。
通配符格式为
__filename__,也包括子目录,例如__appearance/haircolour__(如果设置了 noodle_key 为__)。你可以在
was_suite_config.json文件中通过以下键设置自定义通配符路径:"wildcards_path": "E:\\python\\automatic\\webui3\\stable-diffusion-webui\\extensions\\sd-dynamic-prompts\\wildcards"如果未设置路径,则通配符目录位于 WAS Node Suite 的根目录下,路径为
/wildcards。
条件输入切换:在两个条件输入间切换。
恒定数字
创建图像网格:从目标位置的图像创建图像网格,支持自定义通配符模式。可选边框大小和颜色。
创建形态图像:通过两张图像创建 GIF/APNG 动画,实现图像间的渐变过渡。
通过路径创建形态图像:通过指向包含图像的目录的路径创建 GIF/APNG 动画,支持可选模式。
通过路径创建视频:从指定路径中的图像创建视频。
CLIPSeg 遮罩:使用 CLIPSeg 对图像进行遮罩,并返回原始遮罩。
CLIPSeg 遮罩批次:使用 CLIPSeg 创建图像批次(从图像输入)及批次遮罩。
字典转控制台:将字典输入打印至控制台。
图像分析
黑白等级
RGB 等级
- 依赖
matplotlib,首次运行时会尝试自动安装。
- 依赖
Diffusers Hub 下载器:从 HuggingFace Hub 下载 diffusers 模型并加载。
图像批次:将多个批次张量合并为一个批次。
图像空白:创建任意颜色的空白图像。
通过遮罩混合图像:通过遮罩混合两张图像。
图像混合:通过不透明度混合两张图像。
图像混合模式:通过多种混合模式混合两张图像。
图像光晕滤镜:应用基于高通的光晕滤镜。
图像 Canny 滤镜:对图像应用 Canny 滤镜。
图像色差:对图像应用像科幻电影、电影院和电子游戏中的色差镜头效果。
图像色彩调色板
基于输入图像生成色彩调色板。
- 依赖
scikit-learn,首次运行时会尝试自动安装。
- 依赖
支持 8 到 256 种颜色范围。
优先使用
./res/目录中的字体,若不可用则使用内置的“大致可用”字体。
图像裁剪人脸:从图像中裁剪出人脸。
限制:
在生成质量差的图像或拍摄角度不好的情况下,有时无法检测到人脸。
有时人脸裁剪为黑色,这是由于填充太大,与图像边缘相交所致。请使用更小的填充大小。
face_recognition 模式有时会错误识别非人脸物体为脸部。此功能还需要 [CUDA] GPU。
仅检测一个人脸。这是为了简化使用而做出的设计选择。
注意:
- 检测按顺序运行。如果选定的检测级联未能检测到任何内容,它将尝试下一个可用的级联文件。
图像固定位置裁剪:根据图像的 X 和 Y 坐标系中的像素尺寸,裁剪指定的顶部、左侧、右侧和底部位置。
图像正方形位置裁剪:以 X/Y 中心点裁剪,生成围绕该点的正方形裁剪区域。
图像位移扭曲:通过给定的幅度对图像进行变换,使用位移映射图像。
图像德拉甘摄影滤镜:为图像应用安德烈·德拉甘风格的摄影效果。
图像边缘检测滤镜:检测图像中的边缘。
图像胶片颗粒:为图像添加胶片颗粒。
图像滤镜调整:对图像应用各种调整。
图像翻转:水平或垂直翻转图像。
图像渐变映射:为图像应用渐变映射。
图像生成渐变:生成具有指定停靠点和颜色的渐变映射。
图像高通滤镜:对图像应用高频通滤波,返回细节。
图像历史加载器:根据 Load Image Batch 节点从历史记录中加载图像。可在配置文件中定义最大历史记录。(目前需要重启才能显示上一会话的文件)
图像输入切换:在两个图像输入之间切换。
图像等级调整:调整图像的等级。
图像加载:从系统中的任意路径或以
http开头的 URL 加载 图像。图像中值滤镜:对图像应用中值滤镜,如平滑表面的细节。
图像混合 RGB 通道:将 RGB 通道混合成一张图像。
图像监视器效果滤镜:为图像应用各种显示器效果:
数字失真
- 一种数字崩坏失真效果。
信号失真
- 类似 CRT 显示器的垂直条带中的模拟信号失真效果。
电视失真
- 电视扫描线和溢出失真效果。
图像新星滤镜:一种使用正弦频率将图像分解为 RGB 频率的滤镜。
图像 Perlin 噪声:生成 Perlin 噪声。
图像 Perlin 功率分形:生成 Perlin 功率分形。
图像粘贴人脸裁剪:将人脸裁剪物重新粘贴回原位置和尺寸。
- 具有比 GFPGAN/CodeFormer 更好的混合函数,因此不应有可见接缝,并与扩散结果结合后效果优于 GFPGAN/CodeFormer。
图像粘贴裁剪:利用
crop_data节点输入,将裁剪(例如来自 Image Crop Location)粘贴到原始位置和尺寸。它使用与 Image Paste Face Crop 不同的混合算法,某些情况下可能更理想。图像功率噪声:生成幂律噪声。
频率:频率参数控制噪声在不同频率上的分布。在傅里叶分析中,较高频率表示细小细节或高频成分,而较低频率表示粗糙细节或低频成分。调整频率参数可以产生不同的纹理和细节水平。具体范围和意义可能因噪声类型而异。
衰减:衰减参数决定噪声的强度或强度。它控制噪声值偏离均值或中心值的程度。较高的衰减值导致更显著的变化和更强的噪声存在,而较低的值导致更平滑且不那么明显的噪声。具体范围和解释可能因噪声类型而异。
噪声类型:要生成的幂律噪声类型(白色、灰色、粉色、绿色、蓝色)
按位置粘贴图像裁剪:将裁剪粘贴到自定义位置。它使用与 Image Paste Crop 相同的混合算法。
图像像素化:将图像转化为像素艺术!定义最大颜色数、像素化模式、随机状态、最大迭代次数,让这些角色闪耀。
图像移除背景(Alpha):通过阈值和容差从图像中移除背景。
图像移除颜色:从图像中移除一种颜色并用另一种颜色替换。
图像缩放
图像旋转:旋转图像
图像保存:支持格式和路径的图像保存节点。(Bug:不显示图像)
图像无缝纹理:将图像创建为可无缝拼接的纹理,支持可选平铺。
图像选择通道:选择 RGB 图像中的单个通道。
图像选择颜色:仅在黑色画布上返回选定的图像。
图像阴影与高光:调整图像的阴影和高光。
图像尺寸转数字:获取输入图像的
width和height,以便与 Number 节点一起使用。图像拼接:在不同边拼接图像,可选在它们之间进行羽化混合。
图像风格滤镜:使用 Pilgram 类似 Instagram 的滤镜为图像添加风格。
- 依赖
pilgram模块
- 依赖
图像阈值:返回所需的图像阈值范围。
图像平铺:将图像分割为多个图像批次的砖块。可与 Tensor Batch to Image 配合使用,从批次中选择单个砖块。
图像转置
图像伪景深滤镜:为图像应用虚假景深效果。
图像转潜变量遮罩:将图像转换为潜变量遮罩。
图像转噪声:将图像转换为噪声,对初始化混合作或初始输入给扩散模型很有用。
图像转种子:将图像转换为可重复的种子。
图像 Voronoi 噪声滤镜
- 自定义实现的 Worley Voronoi 噪声图。
输入切换(在
*通配符修复前禁用)KSampler (WAS):接受种子作为节点输入的采样器。
加载缓存:加载已缓存的潜变量、张量批处理(图像)和条件文件。
加载文本文件
现在支持输出以文件命名的字典,或自定义输入。
字典包含文件中的所有行列表。
加载批处理图像
递增文件夹中的图像,或从批处理中取出单张图像。
如果路径或模式更改,它将重置其位置。
模式是支持诸如
**/*以获取目录和子目录中的所有文件,或*.jpg以仅选择指定目录中的 JPEG 图像的 glob。
遮罩转图像:将
MASK转换为IMAGE遮罩批次转遮罩:从多个遮罩中返回一个单一遮罩。
遮罩翻转:翻转遮罩。
遮罩相加:将遮罩相加。
遮罩相减:从一个遮罩中减去另一个遮罩。
遮罩主区域:返回遮罩中的主要区域(最大面积)。
遮罩少数区域:返回遮罩中的最小区域(最小面积)。
遮罩任意区域:返回最接近指定大小的区域(大小不是像素的直接表示,而是近似值)。
遮罩平滑区域:平滑遮罩的边界。
遮罩腐蚀区域:腐蚀遮罩的边界。
遮罩膨胀区域:膨胀遮罩的边界。
遮罩填充区域:填充遮罩区域内的空洞。
遮罩上限区域:仅返回在偏移范围内的白色像素。
遮罩下限区域:返回最下方的像素值为白色(255)。
遮罩阈值区域:在黑色值和白色值之间应用阈值图像。
遮罩高斯区域:对遮罩应用高斯模糊。
遮罩合并遮罩:将两个或多个遮罩合并为一个遮罩。
遮罩合并批次:将多个遮罩批次合并为一个遮罩。
ComfyUI 载入器:一组 ComfyUI 载入器,还能输出包含正在加载的模型名称的字符串。
潜变量噪声注入:将潜变量噪声注入潜变量图像。
潜变量尺寸转数字:张量宽度/高度的潜变量尺寸。
潜变量按因子放大:按因子放大潜变量图像。
潜变量输入切换:在两个潜变量输入之间切换。
逻辑布尔值:简单的
1或0输出,用于逻辑。MiDaS 深度近似:对单个图像输入生成深度近似。
MiDaS 遮罩图像:使用 MiDaS 对输入图像进行遮罩,并使用指定颜色。
数字操作
数字转种子
数字转浮点数
数字输入切换:在两个数字输入之间切换。
数字输入条件:在两个输入之间进行比较或与 A 输入进行比较。
数字转整数
数字转字符串
数字转文本
随机数字
保存文本文件:将文本字符串保存到文件中。
种子:返回一个种子
张量批处理转图像:从潜变量批次中选择单个图像,用于后续滤镜处理。
文本添加标记:向文件名或其他文本中添加自定义标记。
通过输入添加标记:通过输入添加自定义标记,表示单个 单行 名称和值。
文本比较:比较两个字符串。返回是否相同(布尔值)、相似性得分,以及相似或差异文本。
文本拼接:合并两个字符串。
文本字典更新:合并两个字典。
文本文件历史:显示之前打开的文本文件 (目前需要重启才能显示上一会话的文件)
文本查找与替换:在字符串中查找并替换子字符串。
通过字典查找与替换:将 ASCII 文本输入中的子字符串替换为字典。
- 字典键用作替换键,它包含的行列表根据种子随机选择。
文本输入切换:在两个文本输入之间切换。
文本列表:创建文本字符串列表。
文本拼接:合并字符串列表。
文本多行:编写多行文本字符串。
文本解析 A1111 嵌入:根据
/ComfyUI/models/embeddings/文件,将提示中的嵌入文件名转换为embedding:[filename]]格式。文本解析 Noodle Soup 提示:解析文本输入中的 NSP。
文本解析标记:解析文本中的自定义标记。
文本随机行:从文本输入字符串中选择随机行。
文本字符串:编写单行文本字符串值。
文本转条件:将文本字符串转换为条件。
真正的随机.org 数字生成器:通过 Random.org 从大气噪声中在线生成真正的随机数。
写入形态 GIF:将新帧写入现有 GIF(或创建新 GIF),帧之间进行插值。
写入视频:在生成过程中将帧写入视频(最好使用 FFV1 用于无损图像)
额外节点
- CLIPTextEncode (BlenderNeko 高级 + NSP):仅在您拥有 BlenderNeko 的 Advanced CLIP Text Encode 时可用。允许使用其高级 CLIPTextEncode 进行 NSP 和通配符使用。
视频节点
编解码器
你可以通过在 was_suite_config.json 中添加其四个字符 ID(一个字符串)和适当的容器扩展名来使用你的 ffmpeg 二进制文件中的编解码器。
示例 H264 编解码器(默认)
"ffmpeg_extra_codecs": {
"avc1": ".mp4",
"h264": ".mkv"
}
注意事项
目前我只支持 Windows 安装的视频节点。
- 我没有 Mac 或独立 Linux 发行版的访问权限。如果你成功使它们工作并希望 PR 一份补丁/指引,随时可以。
视频节点需要 FFMPEG。你应该为你的系统下载适当的 FFMPEG 二进制文件,并在配置文件中设置 FFMPEG 路径。
此外,如果你想使用 H264 编解码器,请 下载 OpenH264 1.8.0 并将其放置在 ComfyUI 的根目录下(示例:
C:\ComfyUI_windows_portable)。FFV1 会报告无效容器。你可以忽略此问题。生成的 MKV 文件是可读的。我尚未找出问题所在。文档告诉我应使用 MKV,但它却说不支持。
- 如果你知道如何解决,请分享 PR
写入视频节点应使用无损视频编解码器,或者当它复制帧并重新应用压缩时,最初的帧会因每轮运行而开始指数级损坏。
文本标记
文本标记可用于 Save Text File 和 Save Image 节点。你还可以使用 Text Add Tokens 节点添加自己的自定义标记。
标记名称可以是任何不包含 : 字符的内容,以定义你的标记。它也可以是简单的正则表达式。
内置标记
[time]
- 当前系统微秒时间
[time(
format_code)]以人类可读格式的当前系统时间。使用 datetime 格式化
示例:
[hostname]_[time]__[time(%Y-%m-%d__%I-%M%p)]将输出: SKYNET-MASTER_1680897261__2023-04-07__07-54PM
[hostname]
- 执行 ComfyUI 的系统的主机名
[user]
- 执行 ComfyUI 的用户
其他功能
导入 AUTOMATIC1111 WebUI 风格
当使用 WAS Node Suite 的最新版本时,将自动生成一个 was_suite_config.json 文件(如果它不存在)。你可以在该文件中设置 A1111 风格导入。
运行 ComfyUI 以生成新的
/custom-nodes/was-node-suite-comfyui/was_Suite_config.json文件。用文本编辑器打开
was_suite_config.json文件。将
webui_styles值从None替换为名为 styles.csv 的 A1111 风格文件的路径。请确保 Windows 路径使用双反斜杠。- 示例
C:\\python\\stable-diffusion-webui\\styles.csv
- 示例
重启 ComfyUI
使用
Prompt Styles Node选择一个风格。- 第一个 ASCII 输出是你的正面提示,第二个 ASCII 输出是你的负面提示。
你可以将 webui_styles_persistent_update 设置为 true,以便每次启动 ComfyUI 时从 WebUI 更新 WAS Node Suite 风格。
推荐安装:
如果你在 Linux 上运行,或者在 Windows 上使用非管理员账户,确保 /ComfyUI/custom_nodes、was-node-suite-comfyui 和 WAS_Node_Suite.py 具有写权限。
导航到你的
/ComfyUI/custom_nodes/文件夹。运行
git clone https://github.com/WASasquatch/was-node-suite-comfyui/导航到你的
was-node-suite-comfyui文件夹。可移植/虚拟环境:
- 运行
path/to/ComfUI/python_embeded/python.exe -m pip install -r requirements.txt
- 运行
使用系统 Python
- 运行
pip install -r requirements.txt
- 运行
启动 ComfyUI
WAS 套件应自动为你卸载旧版节点。
工具位于 WAS 套件菜单中。
替代安装:
如果你在 Linux 上运行,或者在 Windows 上使用非管理员账户,确保 /ComfyUI/custom_nodes 和 WAS_Node_Suite.py 具有写权限。
下载
WAS_Node_Suite.py将文件移动到你的
/ComfyUI/custom_nodes/文件夹。WAS Node 套件将尝试自行安装依赖项,但你可能需要手动安装。所需的依赖项在本仓库的
requirements.txt中。参见上述安装步骤。启动或重启 ComfyUI
WAS 套件应自动为你卸载旧版节点。
工具位于 WAS 套件菜单中。
此方法不会安装 Image Crop Face 节点所需资源,你需自行下载 ./res/ 文件夹。
在 Colab 上安装
创建一个新单元格并添加以下代码,然后运行该单元格。你可能需要编辑到你的 custom_nodes 文件夹的路径。你也可以使用 此处的 Colab 主机
!git clone https://github.com/WASasquatch/was-node-suite-comfyui /content/ComfyUI/custom_nodes/was-node-suite-comfyui重启 Colab 运行时(不要断开连接)
- 工具将位于 WAS 套件菜单中。

