🎯 ComfyUI_smZNodes 插件完全教程
1. 插件简介
插件地址: https://github.com/shiimizu/ComfyUI_smZNodes
这个插件就像一个神奇的翻译器,能让你在 ComfyUI 里面用和 Automatic1111 (WebUI) 一模一样的方式写提示词!想象一下,你在 WebUI 里面已经调好了完美的提示词,现在想在 ComfyUI 里面用,但是发现效果完全不一样?这个插件就是来解决这个问题的!
能带来什么效果:
- 让 ComfyUI 生成和 WebUI 一模一样的图片
- 支持 WebUI 的所有提示词语法,比如 (word:1.2) 这种加权语法
- 支持提示词编辑功能,比如 [cat:dog:0.5] 这种切换语法
- 支持 AND 和 BREAK 关键词来组合提示词
- 可以导入 WebUI 生成的图片,自动还原工作流
- 提供各种高级采样设置,让你精细调节生成效果
插件包含节点总数:2个
- 核心文本编码节点:1个 (CLIP Text Encode++)
- 设置调节节点:1个 (Settings)
- 前端功能:3个 JavaScript 文件提供界面增强
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开ComfyUI管理器
- 在自定义节点区域搜索"smZNodes"
- 找到对应插件并点击安装
- 重启ComfyUI
方法二:手动安装
- 打开终端或命令提示符
- 进入ComfyUI的custom_nodes文件夹
- 运行命令:
git clone https://github.com/shiimizu/ComfyUI_smZNodes.git - 重启ComfyUI
3. 节点详细解析
3.1 🎯 CLIP Text Encode++ 文本编码增强节点
这是整个插件的核心,就像一个超级智能的提示词处理器。它能理解 WebUI 的各种提示词语法,然后转换成 ComfyUI 能理解的格式,让你获得和 WebUI 一模一样的效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 文本字符串 | - | 主要提示词,就像告诉AI你想要什么 | 正面提示词文本输入 | 输入"a cat, (beautiful:1.2)" |
| clip | clip | CLIP模型 | - | 文本理解模型,就像AI的语言老师 | CLIP文本编码器模型 | 连接检查点加载器的CLIP输出 |
| parser | parser | 解析器选择 | A1111 | 提示词解析方式,决定用哪种语法规则 | 文本解析引擎选择 | A1111最接近WebUI效果 |
| mean_normalization | mean_normalization | True/False | True | 权重平均化,让提示词权重更平衡 | 是否对权重进行均值归一化 | True让权重分布更合理 |
| multi_conditioning | multi_conditioning | True/False | True | 多重条件,支持AND关键词组合提示词 | 是否启用多条件组合功能 | True支持"cat AND dog"语法 |
| use_old_emphasis_implementation | use_old_emphasis_implementation | True/False | False | 旧版强调实现,用于复现老版本效果 | 是否使用旧版权重实现 | 复现老图片时设为True |
| with_SDXL | with_SDXL | True/False | False | SDXL模式开关,使用SDXL模型时开启 | 是否启用SDXL特定功能 | 用SDXL模型时设为True |
| ascore | ascore | 0.0-1000.0 | 6.0 | 美学评分,SDXL专用,控制图片美观度 | SDXL的美学评分参数 | 6.0是标准值,更高更美观 |
| width | width | 像素值 | 1024 | 图片宽度,SDXL专用设置 | SDXL目标图像宽度 | 1024是SDXL标准宽度 |
| height | height | 像素值 | 1024 | 图片高度,SDXL专用设置 | SDXL目标图像高度 | 1024是SDXL标准高度 |
| crop_w | crop_w | 像素值 | 0 | 裁剪宽度,SDXL专用,通常不用改 | SDXL裁剪区域宽度偏移 | 0表示不裁剪 |
| crop_h | crop_h | 像素值 | 0 | 裁剪高度,SDXL专用,通常不用改 | SDXL裁剪区域高度偏移 | 0表示不裁剪 |
| target_width | target_width | 像素值 | 1024 | 目标宽度,SDXL专用最终输出宽度 | SDXL最终目标宽度 | 通常和width一样 |
| target_height | target_height | 像素值 | 1024 | 目标高度,SDXL专用最终输出高度 | SDXL最终目标高度 | 通常和height一样 |
| text_g | text_g | 文本字符串 | - | SDXL全局提示词,影响整体风格 | SDXL的CLIP_G文本输入 | 输入主要描述词 |
| text_l | text_l | 文本字符串 | - | SDXL局部提示词,影响细节 | SDXL的CLIP_L文本输入 | 输入细节描述词 |
| smZ_steps | smZ_steps | 1以上整数 | 1 | 步数设置,自动从采样器获取 | 提示词编辑的总步数 | 通常自动设置,不用手动改 |
3.2 ⚙️ Settings 设置节点
这个节点就像一个超级控制面板,里面有各种各样的开关和旋钮,让你可以精细调节AI生成图片的各个方面。它就像汽车的仪表盘,每个设置都能影响最终的"驾驶体验"。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| * | * | 任意类型 | - | 万能输入口,可以连接模型或CLIP | 通用输入接口 | 连接你要调节的模型 |
| extra | extra | JSON字符串 | 默认配置 | 额外设置,控制界面显示 | 扩展配置参数 | 通常不需要修改 |
| Prompt word wrap length limit | comma_padding_backtrack | 0-74 | 20 | 提示词换行长度,超过就换到下一行 | 提示词分段的字符限制 | 20适合大部分情况 |
| enable_emphasis | enable_emphasis | True/False | True | 启用强调语法,支持(word:1.2)这种写法 | 是否启用权重语法解析 | True支持WebUI语法 |
| RNG | randn_source | cpu/gpu/nv | gpu | 随机数生成器,影响图片的随机性 | 随机数生成源选择 | gpu最快,cpu最稳定 |
| disable_nan_check | disable_nan_check | True/False | False | 禁用异常检查,可能提升速度但有风险 | 是否禁用NaN数值检查 | False更安全 |
| eta | eta | 0.0-1.0 | 1.0 | 噪声倍数,影响祖先采样器的随机性 | 祖先采样器的噪声系数 | 1.0是标准值 |
| s_churn | s_churn | 0.0-100.0 | 0.0 | 随机扰动量,让图片更有变化 | 采样过程的随机扰动强度 | 0.0无扰动,适合大部分情况 |
| s_tmin | s_tmin | 0.0-10.0 | 0.0 | 扰动开始时机,配合s_churn使用 | 随机扰动的起始sigma值 | 0.0表示不启用 |
| s_tmax | s_tmax | 0.0-999.0 | 0.0 | 扰动结束时机,0表示无限 | 随机扰动的结束sigma值 | 0.0表示无限制 |
| s_noise | s_noise | 0.0-1.1 | 1.0 | 额外噪声量,补偿采样过程中的细节损失 | 额外噪声添加量 | 1.0是标准值 |
| ENSD | eta_noise_seed_delta | 0以上整数 | 31337 | 噪声种子偏移,用于复现特定效果 | 祖先采样器的种子偏移值 | 31337是WebUI默认值 |
| skip_early_cond | skip_early_cond | 0.0-1.0 | 0.0 | 早期跳过负面提示词,可能提升速度 | 早期步骤跳过CFG的比例 | 0.0不跳过,0.2跳过前20% |
| sgm_noise_multiplier | sgm_noise_multiplier | True/False | True | SGM噪声倍增器,用于匹配官方SDXL | 是否使用SGM噪声倍增 | True匹配官方实现 |
| upcast_sampling | upcast_sampling | True/False | False | 上转换采样,提升精度但消耗更多显存 | 是否使用高精度采样 | False节省显存 |
| NGMS | s_min_uncond | 0.0-15.0 | 0.0 | 负面引导最小值,高值可提升速度 | 负面条件的最小sigma阈值 | 0.0禁用,0.5可提升速度 |
| NGMS all steps | s_min_uncond_all | True/False | False | 所有步骤应用NGMS,而不是隔步应用 | 是否在所有步骤应用NGMS | False更保守 |
| pad_cond_uncond | pad_cond_uncond | True/False | True | 填充条件长度,让正负提示词长度一致 | 是否填充条件到相同长度 | True提升性能 |
| batch_cond_uncond | batch_cond_uncond | True/False | True | 批量处理条件,同时计算正负提示词 | 是否批量处理条件计算 | True提升速度 |
| Use previous prompt editing timelines | use_old_scheduling | True/False | False | 使用旧版提示词编辑时间线 | 是否使用旧版调度算法 | False使用新版 |
| Use CFGDenoiser | use_CFGDenoiser | True/False | False | 使用CFG去噪器,实验性功能 | 是否使用自定义CFG去噪器 | False更稳定 |
| debug | debug | True/False | False | 调试模式,在控制台显示详细信息 | 是否启用调试输出 | False减少日志输出 |
4. 前端功能解析
4.1 📱 smZdynamicWidgets.js - 动态界面增强
这个文件就像一个智能助手,会根据你的选择自动显示或隐藏相关的设置选项,让界面更加整洁和易用。
主要功能:
- 根据解析器选择自动显示/隐藏相关选项
- SDXL模式切换时自动调整界面布局
- 提供右键菜单快速切换选项显示
- 智能调整节点大小以适应内容
4.2 🖼️ metadata.js - 图片元数据处理
这个文件就像一个图片侦探,能从各种格式的图片中读取隐藏的生成信息,然后自动重建工作流。
主要功能:
- 支持PNG、WEBP、JPEG格式的元数据读取
- 自动识别WebUI生成的图片参数
- 支持CivitAI等平台的图片导入
- 自动转换WebUI参数为ComfyUI工作流
4.3 📊 exif.js - EXIF信息读取
这是一个专门的EXIF信息读取库,用于从JPEG图片中提取详细的元数据信息。
主要功能:
- 读取JPEG图片的EXIF信息
- 支持各种相机和软件的元数据格式
- 提供完整的EXIF标签解析
5. 使用技巧和建议
5.1 新手入门建议
- 从简单的提示词开始,比如"a cat",然后逐步添加权重
- 使用A1111解析器获得最接近WebUI的效果
- 开启mean_normalization让权重分布更合理
5.2 提示词语法技巧
- 权重语法:(word:1.2) 增强,(word:0.8) 减弱
- 提示词编辑:[cat:dog:0.5] 在50%步数时从cat切换到dog
- 组合语法:cat AND dog 同时生成猫和狗
- 分段语法:使用BREAK关键词分段处理长提示词
5.3 性能优化建议
- 使用GPU随机数生成器提升速度
- 启用批量条件处理提升效率
- 适当使用NGMS跳过部分负面引导步骤
- 根据显存情况调整upcast_sampling设置
5.4 兼容性设置
- 复现WebUI图片时使用A1111解析器
- 设置正确的ENSD值(通常是31337)
- 匹配WebUI的采样器和调度器设置
- 使用相同的CLIP跳过层数
6. 常见问题解答
Q1: 为什么生成的图片和WebUI不一样?
A: 检查以下设置:
- 解析器是否设为A1111
- mean_normalization是否开启
- 随机数生成器是否匹配(RNG设置)
- 采样器和调度器是否相同
Q2: 提示词权重语法不生效怎么办?
A: 确保:
- 解析器不是comfy模式
- enable_emphasis设置为True
- 语法格式正确,如(word:1.2)
Q3: SDXL模型应该怎么设置?
A: SDXL模型需要:
- 开启with_SDXL选项
- 设置合适的width和height(通常1024)
- 分别设置text_g和text_l提示词
Q4: 导入WebUI图片没有反应?
A: 检查:
- 图片是否包含完整的生成信息
- 文件格式是否支持(PNG/WEBP/JPEG)
- 是否正确拖拽到ComfyUI界面
Q5: Settings节点连接后没有效果?
A: 确保:
- Settings节点连接在模型链的正确位置
- 相关设置已经启用(不是默认值)
- 模型支持对应的功能
7. 高级用法示例
7.1 复现WebUI图片
- 将WebUI生成的PNG图片拖拽到ComfyUI
- 系统会自动解析参数并重建工作流
- 检查并调整任何不匹配的设置
- 运行工作流验证效果
7.2 优化采样性能
- 添加Settings节点到模型链
- 设置NGMS为0.5-1.0跳过部分负面引导
- 启用batch_cond_uncond批量处理
- 根据需要调整skip_early_cond
7.3 精细调节提示词
- 使用CLIP Text Encode++节点
- 设置解析器为A1111
- 使用复杂的权重和编辑语法
- 配合Settings节点微调参数
8. 总结
ComfyUI_smZNodes插件是连接WebUI和ComfyUI的完美桥梁,通过2个核心节点和3个前端功能文件,它提供了:
- 完美兼容:让ComfyUI支持WebUI的所有提示词语法
- 无缝迁移:轻松导入WebUI生成的图片和参数
- 精细控制:提供丰富的高级设置选项
- 智能界面:动态调整界面以提供最佳用户体验
无论你是从WebUI迁移到ComfyUI的用户,还是想要更精细控制生成过程的高级用户,这个插件都能满足你的需求。记住,好的工具需要正确的使用方法,多实验不同的设置组合,你会发现更多有趣的可能性!