ComfyUI-UniversalToolkit
A comprehensive toolkit based on ComfyUI, providing image, mask, audio, and tools nodes, fully modular and v3 compatible.
Nodes (47)
Generate images through an API right inside your workflow
Trim, boost, and resample audio inside the video workflow
See what your crop boxes actually point at
The video context-window math you were doing by hand
Turn a soft mask into chunky pixels — for ControlNet and stylized looks
Is this mask actually covering anything? Now you can ask
Make one image's color grade match another — without a model
Turn 'this color' into a mask
Crop tight to the mask, not to whatever box you guessed
Fake shallow depth of field with a depth map and a blur
A blank canvas, mask, and latent in one node — for testing and layout
Pull exactly N frames out of a video — evenly, front-loaded, or tail-heavy
Fill the hole in your image — neutral, content-aware, or feathered
Slice a range out of an image or mask batch without touching a tensor
Preview that shows your mask on top of the image, not as a gray mystery blob
Extend a video past its last frame without a hard cut
Photoshop-style layer compositing with 18 blend modes, inside the graph
Stitch a mask into an image's alpha channel in one step
Stitch 2–4 images into one canvas, with a smart layout that sizes the grid for you
Side-by-side (or top-to-bottom) image stitching without the size mismatch headache
Crop by mask, then get a clean, AI-friendly resolution out the other side
Scale an image and its mask to match any reference — no manual math
The outpaint prep node that gives you the mask too, so you don't regenerate the old pixels
Ask any image its aspect ratio and get an answer you can wire into a resize
Drop the alpha channel cleanly, with an optional background baked in
Scale an image to a target aspect ratio without mangling it
Resize on the way down, put it back exactly on the way up
Steal one image's look without turning the people in it orange
A switch that skips computing the branch you don't take
Load audio from any path and trim, resample, and gain it on the way in
33 ready-made system prompts for Kontext-style image editing, no API key required
Which CivitAI LoRA is this, and what's its trigger word?
Add two masks together and clip the result — the 'keep everything' union
The 'both must be covered' mask operator for intersection logic
Carve one mask out of another — the 'except this part' operator
One node for every calculation — with image width/height and a few tricks
Out of memory mid-workflow? This node tells the GPU to get its act together
The KJ v2-style resize node that covers every fit mode, mask included
Paste a cropped-and-inpainted region back onto the original, box and all
Get an actually print-ready file out of ComfyUI
Split one mask into its objects and process them one at a time
A logic probe that shows you what's actually flowing through a wire
A plain multiline text box that just holds a string
Glue up to four strings into a prompt
Translate prompts in-graph, no model download
Strip the <think> block out of a reasoning model's output
This node builds the video prompt for you
ComfyUI-UniversalToolkit
一个功能全面的ComfyUI工具包,提供丰富的图像处理、音频处理、掩码操作和实用工具节点,支持批量处理、智能分析、色彩迁移等多种高级功能。
🌟 主要特性
- 🎨 图像处理:色彩迁移、图像拼接、尺寸调整、深度图模糊等
- 🎵 音频处理:音频加载、裁剪、重采样、增益调节等
- 🎭 掩码操作:掩码运算、填充、裁剪、预览等
- 🛠️ 实用工具:数学表达式、文本处理、显存清理、预设加载等
- 📱 智能预设:33种Kontext VLM系统预设,支持动态场景描述
- 🔧 模块化设计:按功能分类,易于维护和扩展
- ⚡ 高性能:支持批量处理,优化内存使用
📦 安装
方法一:通过ComfyUI-Manager安装(推荐)
- 在ComfyUI中打开ComfyUI-Manager
- 搜索 "ComfyUI-UniversalToolkit"
- 点击安装
方法二:手动安装
- 将本插件文件夹放入ComfyUI的
custom_nodes/目录下 - 安装依赖:
pip install -r requirements.txt
依赖要求
Pillow
numpy
torch
librosa
torchaudio
opencv-python
scipy
tqdm
🎯 节点功能详解
🎨 图像处理节点
基础图像处理
-
EmptyUnitGenerator_UTK:生成指定尺寸的空白图像、掩码和潜在空间
-
ImageRatioDetector_UTK:检测图像宽高比,支持多种比例格式
-
ImageConcatenate_UTK:水平或垂直拼接两张图像
-
ImageConcatenateMulti_UTK:智能拼接多张图像,支持2-4图自动布局
-
图像变换与调整
-
ResizeImageVerKJ_UTK:KJ v2 风格的高兼容缩放,支持 stretch/resize/pad/pad_edge/pad_edge_pixel/crop/pillarbox_blur/total_pixels 与
crop_position -
ImageScaleByAspectRatio_UTK:按指定宽高比缩放图像(已支持与 KJ v2 一致的 fit 模式与
crop_position,背景色为预设清单) -
ImageMaskScaleAs_UTK:按参考图像尺寸缩放图像(已支持与 KJ v2 一致的 fit 模式与
crop_position,pad_color 为预设清单) -
ImageScaleRestore_UTK:将图像恢复到原始尺寸
-
ImageRemoveAlpha_UTK:移除图像的Alpha通道
-
ImageCombineAlpha_UTK:合并Alpha通道到图像
高级图像处理
- ImitationHueNode_UTK:图像色彩迁移,支持皮肤保护和区域处理
- DepthMapBlur_UTK:基于深度图的智能模糊,模拟景深效果
- ImagePadForOutpaintMasked_UTK:外绘扩展,支持像素和百分比模式
- ImageAndMaskPreview_UTK:图像和掩码预览,支持叠加和并排显示
掩码相关图像处理
- CropByMask_UTK:基于掩码智能裁剪,支持多种检测模式
- RestoreCropBox_UTK:恢复裁剪框到原始背景
- FillMaskedArea_UTK:掩码区域填充,支持多种算法
- CheckMask_UTK:检查掩码有效性
🎵 音频处理节点
- LoadAudioPlusFromPath_UTK:从本地路径加载音频,支持采样率、声道、裁剪、增益等参数
- AudioCropProcess_UTK:音频裁剪处理,支持重采样、增益、声道处理,与原生上传节点无缝对接
🎭 掩码操作节点
- MaskAnd_UTK:掩码与运算
- MaskSub_UTK:掩码减法运算
- MaskAdd_UTK:掩码加法运算
- BlockifyMask_UTK:将掩码按 block_size 马赛克化(支持 cpu/cuda;可选二值化)
🛠️ 工具节点
文本处理
- TextboxNode_UTK:多行文本输入框
- TextConcatenate_UTK:文本拼接,支持自定义分隔符
- ThinkRemover_UTK:分离文本中的思考内容
数学与逻辑
- MathExpression_UTK:数学表达式计算,支持复杂公式和函数
- BestContextWindow_UTK:最佳滑动窗口帧数计算(满足 4n+1,最小化补帧;输出 best_window/padding/padded_total/segments)
系统工具
- PurgeVRAM_UTK:显存清理,支持选择性清理缓存和模型
- LoraInfo_UTK:LoRA信息查询,获取CivitAI触发词、示例提示词、基础模型、元数据等信息
预设系统
-
LoadKontextPresets_UTK:Kontext VLM系统预设,包含33种专业图像变换预设,分为8个主要分类:
🎯 核心编辑类 (1个)
- Universal Editor (万能编辑) - 默认预设,精确的图像编辑指令转换
🖼️ 图像合成类 (2个)
- Context Deep Fusion (情境深度融合) - 深度融合不同上下文的头部和身体
- Seamless Integration (无痕融合) - 微调级别的图像合成
🌍 场景环境类 (5个)
- Scene Teleportation (场景传送) - 将主体传送到不同环境
- Season Change (季节变换) - 改变场景的季节设定
- Fantasy World (幻想领域) - 转换为奇幻或科幻世界
- Furniture Removal (清空家具) - 移除房间内的所有家具
- Interior Design (室内设计) - 重新设计室内空间风格
📷 摄影技术类 (4个)
- Camera Movement (移动镜头) - 戏剧性的镜头移动效果
- Relighting (重新布光) - 完全改变图像的光照和氛围
- Camera Zoom (画面缩放) - 有目的的缩放效果
- Tilt-Shift Miniature (微缩世界) - 倾斜移轴微缩效果
- Reflection Addition (添加倒影) - 添加反射表面增强构图
- Character Pose & Viewpoint Change (角色姿势视角变换) - 改变角色视角保持特征一致
🛒 电商应用类 (6个)
- Professional Product Photography (专业产品图) - 商业级产品摄影效果
- Product Lifestyle Scene (产品生活场景图) - 产品在生活场景中的展示
- Model Hand Product Close-Up (模特手持特写) - 模特手持产品的特写摄影
- Fashion Try-On Model Showcase (时尚试穿展示) - 服装试穿展示
- Product Pattern Extraction (产品图案提取) - 从指定对象提取花纹或logo
- Logo Transfer to Product (品牌融合植入) - 将logo无缝融合到产品图片中
👤 人物变换类 (4个)
- Hair Style Change (更换发型) - 完整的发型变换
- Bodybuilding Transformation (肌肉猛男化) - 肌肉发达的体型变换
- Age Transformation (时光旅人) - 年龄变换效果
- Fashion Makeover (衣橱改造) - 完整的时尚改造
🎨 艺术风格类 (6个)
- Image Colorization (图像上色) - 黑白图像的艺术上色
- Cartoon/Anime Style (卡通漫画化) - 卡通或动漫风格转换
- Artistic Style Imitation (艺术风格模仿) - 著名艺术运动风格模仿
- Pixel Art (像素艺术) - 像素艺术风格转换
- Pencil Sketch (铅笔手绘) - 铅笔素描风格
- Oil Painting (油画风格) - 油画风格转换
✨ 实用功能类 (3个)
- Material Transformation (材质置换) - 将主体转换为不同材质
- Text Addition (添加文字) - 在图像中添加文字
- Text Removal (移除文字) - 移除图像中的文字
🚀 使用示例
图像拼接示例
ImageConcatenate_UTK
├── 输入:两张图像
├── 模式:水平/垂直拼接
├── 输出:拼接后的图像
色彩迁移示例
ImitationHueNode_UTK
├── 输入:源图像 + 目标图像
├── 参数:皮肤保护、亮度调节、对比度调节
├── 输出:色彩迁移后的图像
音频处理示例
AudioCropProcess_UTK
├── 输入:音频文件
├── 参数:裁剪时间、重采样率、增益调节
├── 输出:处理后的音频
📋 版本历史
v1.4.7 (最新)
- 修复 resize 与 pad 方法表现相同的问题:
- ResizeImageVerKJ (UTK):resize 模式只等比缩放不填充,pad 模式填充到目标尺寸
- ImageMaskScaleAs (UTK):resize 返回实际缩放尺寸,pad 填充到目标尺寸并正确输出尺寸
- ImageScaleByAspectRatio (UTK):resize 返回实际缩放尺寸,pad 填充到目标尺寸并正确输出尺寸
- resize:等比缩放,输出尺寸 = 缩放后尺寸(可能小于目标尺寸)
- pad:等比缩放 + 背景填充,输出尺寸 = 目标尺寸(固定尺寸)
v1.4.6
- 新增
Resize Image ver KJ (UTK),完整对齐 KJ v2 调整模式,支持crop_position与 mask 同步缩放;pad_edge/pad_edge_pixel 行为与 KJ 对齐 - 升级
Image Mask Scale As (UTK)与Image Scale By Aspect Ratio (UTK):支持同样的 fit 模式、crop_position,并将背景色改为预设清单 - 新增
Blockify Mask (UTK):掩码块化,支持二值化 - 新增
Best Context Window (UTK):计算满足 4n+1 的最佳窗口,最小化补帧 - 统一分类命名:
UniversalToolkit/Tools
v1.3.2
- 新增电商应用类,重新组织预设分类结构
- 创建专门的电商应用类,包含6个专业电商功能:
- Ecommerce-Professional Product Photography (专业产品图)
- Ecommerce-Product Lifestyle Scene (产品生活场景图)
- Ecommerce-Model Hand Product Close-Up (模特手持特写)
- Ecommerce-Fashion Try-On Model Showcase (时尚试穿展示)
- Ecommerce-Product Pattern Extraction (产品图案提取)
- Ecommerce-Logo Transfer to Product (品牌融合植入)
- 新增品牌融合植入功能,支持将logo无缝融合到产品图片中
- 优化预设分类逻辑,将通用功能保留在实用功能类中
- 提升电商专业功能的使用体验和分类清晰度
- 保持所有预设的完整功能,总数达到33个,覆盖更全面的图像处理需求
v1.2.8
- 新增模特手持特写预设和优化产品摄影预设
- 新增Photo-Model Hand Product Close-Up (模特手持特写)预设,专门用于生成模特手持产品的特写摄影场景
- 将Photo-Model Product Trial改名为Photo-Product Lifestyle Scene (产品生活场景图),更准确反映功能
- 升级Photo-Professional Product Photography (专业产品图)预设,强调场景驱动环境优先级
- 优化专业产品图预设:严格遵循用户场景要求,避免默认影棚背景
- 改进场景匹配:提供购物中心橱窗、咖啡厅、户外公园等具体场景示例
- 增强环境匹配灯光:根据场景使用商场环境光、户外自然光、室内温暖灯光
- 提升构图焦点:强调自然前景/背景整合,保持产品作为明确焦点
- 完善输出要求:详细描述场景设置、相机角度、背景元素、灯光风格和构图
- 保持所有预设的完整功能,总数达到32个,覆盖更全面的图像处理需求
v1.2.7
- 升级专业产品摄影和模特试用产品图预设
- 新增Photo-Model Product Trial (模特试用产品图)预设,专门用于生成模特使用商品的场景图
- 升级Photo-Professional Product Photography (专业产品图)预设,使用更精确的商业摄影指令
- 优化专业产品图预设:增强场景响应式环境、专业灯光阴影控制、构图焦点卓越性
- 改进模特试用产品图预设:强调模特产品互动、生活化环境整合、专业模特呈现
- 提升商业摄影质量标准:确保锐利对焦、准确曝光、专业调色
- 增强真实故事叙述:创造既真实又令人向往的生活方式故事
- 完善输出要求:详细描述摄影设置、灯光安排、背景处理、相机角度和构图风格
- 保持所有预设的完整功能,总数达到31个,覆盖更全面的图像处理需求
v1.2.6
- 进一步优化角色姿势视角变换预设
- 使用更精确的提示词结构,提升指令的准确性
- 明确指定相机角度、位置和角色动作的描述要求
- 强调角色正在执行的具体动作,让变换更加生动
- 优化brief描述,支持更具体的用户需求
- 保持所有角色特征的一致性要求
- 确保光照、阴影和透视的自然性
- 提升预设指令的精确性和实用性
v1.2.5
v1.2.4
- 优化预设分类结构,提升用户体验
- 将原11个分类优化为7个主要分类:核心编辑、图像合成、场景环境、摄影技术、人物变换、艺术风格、特殊效果
- 合并相似类别,减少重复,提升分类逻辑性
- 保持所有30个预设的完整功能不变
- 优化预设顺序,万能编辑作为默认选项
v1.2.3
- 新增花纹提取预设和优化用户体验
- 添加Pattern Extraction (花纹提取)预设,支持指定提取对象
- 将Universal Editor (万能编辑)预设移到最前面作为默认选项
- 优化预设顺序,提升用户使用体验
- 支持从任意对象中提取花纹、logo、图案等
- 完全支持$user_prompt$占位符替换机制
- 预设总数达到30个,覆盖各种图像处理需求
v1.2.2
- 新增万能编辑预设功能
- 添加Universal Editor (万能编辑)预设,支持精确的图像编辑指令转换
- 基于Kontext格式和Flux模型的编辑指令生成
- 支持人物、物体、背景、风格、文本等多种编辑类型
- 严格遵循9条编辑规则,确保视觉一致性和精确性
- 完全支持$user_prompt$占位符替换机制
- 优化预设指令结构,移除重复的英文输出要求
v1.2.1
- 升级LoadKontextPresets_UTK节点功能
- 新增用户提示输入参数,支持动态场景描述
- 为所有27个预设添加$user_prompt$占位符
- 智能占位符替换,提升VLM模型生成指令的针对性
v1.2.0
- 全面更新README文档,提供详细的功能介绍和使用指南
- 优化项目结构和文档组织
- 完善节点功能说明和分类
- 更新版本推送代码,确保发布流程顺畅
- 提升项目整体文档质量和用户体验
v1.1.9
- 升级LoadKontextPresets_UTK节点功能
- 新增用户提示输入参数,支持动态场景描述
- 为所有27个预设添加$user_prompt$占位符
- 智能占位符替换,提升VLM模型生成指令的针对性
v1.1.8
- 新增LoadKontextPresets_UTK节点
- 提供25种图像变换预设
- 支持情境深度融合、场景传送等多种预设
v1.1.7
- 新增ThinkRemover_UTK节点
- 支持分离文本中的思考内容
v1.1.6
- 新增TextboxNode_UTK节点
- 支持在图像上添加自定义样式文本框
v1.1.5
- 优化ImitationHueNode_UTK节点的色彩迁移算法
- 改进皮肤保护功能,提高肤色保持效果
v1.1.4
- 版本更新发布,支持ComfyUI-Manager和Registry获取
- 确保与ComfyUI v3完全兼容
v1.1.3
- 修复PurgeVRAM_UTK节点类型不匹配问题
- 修复CheckMask_UTK节点NoneType错误
- 完成模块化重构
v1.1.2
- 修复DepthMapBlur_UTK节点kernel size类型问题
- 修正EmptyUnitGenerator_UTK输出shape
- 完善节点导入路径
v1.1.1
- 项目重构,按功能分类组织代码
- 新增多个图像处理节点
- 提高代码可维护性
v1.1.0
- 新增CropByMask_UTK和RestoreCropBox_UTK节点
- 支持掩码裁剪和恢复功能
v1.0.9
- 新增PurgeVRAM_UTK节点
- 支持显存清理功能
v1.0.8
- 新增ImitationHueNode_UTK节点
- 支持图像色彩迁移功能
v1.0.7
- 改进ImagePadForOutpaintMasked节点
- 新增数据模式和背景颜色选项
v1.0.6
- 新增ImageAndMaskPreview_UTK节点
- 支持图像和掩码同时预览
v1.0.5
- 新增ImagePadForOutpaintMasked_UTK节点
- 支持外绘时扩展图像尺寸
v1.0.4
- 新增FillMaskedArea_UTK节点
- 支持三种填充模式
v1.0.3
- 新增掩码像素级运算节点
- 修正节点注册与显示名风格
v1.0.2
- 删除无用节点
- 新增AudioCropProcess节点
- 修复音频处理相关bug
v1.0.1
- 改进图像拼接节点
- 添加图像尺寸匹配和最大尺寸限制
v1.0.0
- 初始版本发布
- 包含基础图像处理、文本处理、工具类节点
🔧 兼容性
- ComfyUI版本:v1.0.0+
- Python版本:3.8+
- 操作系统:Windows, macOS, Linux
- GPU支持:NVIDIA CUDA (推荐)
界面设置与 Nodes 2.0 说明
启用上下文菜单自动嵌套子目录
在 ComfyUI 设置中可开启「启用上下文菜单自动嵌套子目录」。开启后,在模型/文件选择等带路径的 combo 下拉中,选项会按子目录折叠为层级菜单,便于在子目录较多的场景下选择。
关于 Nodes 2.0:该功能通过修补 LiteGraph 的 ContextMenu 实现。若使用 Nodes 2.0(官方 Vue 前端),combo 下拉可能不再经过 ContextMenu,导致本功能不生效。此时可:
- 在 ComfyUI 菜单中切换回 LiteGraph Canvas(关闭 Nodes 2.0)以使用本功能,或
- 关注 ComfyUI 后续是否提供 combo 选项转换的扩展 API。
验证方式:开启本设置后,点击任意模型/文件类节点的下拉,若浏览器控制台出现 UniversalToolkit contextMenu nest patch applied 日志,说明补丁已生效;若无该日志,则当前前端未使用 ContextMenu,本功能在该界面下不可用。
📁 项目结构
ComfyUI-UniversalToolkit/
├── nodes/
│ ├── image/ # 图像处理节点
│ ├── audio/ # 音频处理节点
│ ├── mask/ # 掩码操作节点
│ ├── tools/ # 工具节点
│ └── image_utils.py # 图像工具函数
├── web/ # Web界面扩展
├── reference_code/ # 参考代码
├── __init__.py # 主入口文件
├── requirements.txt # 依赖列表
├── pyproject.toml # 项目配置
└── README.md # 说明文档
🤝 贡献
欢迎提交Issue和Pull Request!
开发规范
- 遵循PEP8代码风格
- 节点命名统一加
_UTK后缀 - 所有节点必须通过测试验证
- 新增功能需更新文档
📄 许可证
本项目采用MIT许可证 - 详见LICENSE文件
👨💻 作者信息
- 作者:CyberDickLang
- 邮箱:[email protected]
- GitHub:https://github.com/whmc76
🙏 致谢
感谢以下项目的开源贡献:
- ComfyUI - 优秀的AI图像生成框架
- ComfyUI-LayerStyle - 模块化设计参考
- ComfyUI-MingNodes - 色彩迁移算法参考
- Kontext - VLM预设系统
- kjnodes - 节点开发参考和灵感
- audio-separation-nodes-comfyui - 音频处理节点参考
⭐ 如果这个项目对您有帮助,请给我们一个Star!
❤️ 支持与关注 / Support & Follow
开源代码可以免费,但显卡、电费、服务器和咖啡豆暂时还没学会开源。
你好,我是赛博迪克朗。我平时给 AI 喂提示词、给 ComfyUI 接管线,也负责修复那些“昨天明明还能跑”的神秘问题。教程里看起来三分钟解决的事,背后往往是三十次失败和一句又一句“这不应该啊”。
如果这个项目帮你少踩了一个坑、少重装了一次环境,那些和报错窗口深情对视的夜晚就算没有白熬。欢迎通过下面的方式支持和关注:
抖音、小红书、快手、今日头条、微信视频号、X:搜索全网统一名称 “赛博迪克朗”。
不赞助也完全没关系。 使用、Star、反馈、分享,甚至一句“这东西真能用”,都是继续更新的动力。谢谢你让这个项目不只是躺在我的硬盘里感动自己。