ComfyUI-UNO 插件完整使用教程
1. 插件简介
ComfyUI-UNO 是一个让你在 ComfyUI 中使用 UNO 模型的超强插件!插件地址:https://github.com/Yuan-ManX/ComfyUI-UNO
UNO 是什么?把它想象成一个超级聪明的画家,这个画家不仅能根据你的文字描述画画,还能看着你给他的参考图片,然后按照你的要求在新画作中融入这些参考图片的风格、人物或者物体。简单来说,UNO 让你的图片生成更加精准可控!
这个插件能给你带来什么效果?
- 让你的图片生成更加精准,就像有个专业画家在按你的要求作画
- 可以用参考图片来指导生成,比如"照着这个人的脸型画一张新图"
- 支持多个参考对象,比如"这个人的脸+那个人的衣服+另一个场景"
2. 如何安装
方法一:自动安装(推荐给小白)
- 打开 ComfyUI Manager(就是那个插件管理器)
- 点击 "Install Custom Nodes"(安装自定义节点)
- 搜索 "UNO",找到 "ComfyUI-UNO"
- 点击 "Install"(安装)
方法二:手动安装
- 找到你的 ComfyUI 安装文件夹
- 进入
custom_nodes文件夹 - 在这里打开命令行(按住 Shift 右键,选择"在此处打开命令行")
- 输入:
git clone https://github.com/Yuan-ManX/ComfyUI-UNO.git - 安装完成后,进入插件文件夹:
cd ComfyUI-UNO - 安装依赖:
pip install -r requirements.txt
安装完成后,记得重启 ComfyUI!
3. 节点详细解析
3.1 UNO_Model_Loader 节点 - 模型加载器
这个节点就像是一个仓库管理员,负责帮你把 UNO 模型从硬盘里搬出来,准备好让其他节点使用。
3.1.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型路径 | model_path | 字符串路径 | 默认路径 | 告诉电脑去哪里找UNO模型文件,就像告诉快递员你家地址 | 指定UNO模型文件的存储位置 | 选择你下载的UNO模型文件位置,比如 "models/uno/uno_model.safetensors" |
| 设备类型 | device | auto/cpu/cuda | auto | 选择用什么来运行模型,就像选择用电脑还是手机看视频 | 指定模型运行的硬件设备 | 一般选auto让系统自动选择,有显卡就用显卡,没有就用CPU |
| 精度类型 | dtype | float16/float32 | float16 | 选择计算精度,就像选择画画用粗笔还是细笔 | 控制模型计算的数值精度 | float16省内存跑得快,float32更精确但占用更多内存 |
| 卸载模式 | offload | true/false | true | 是否在不用的时候把模型从显存里搬走,就像不看电视时关掉省电 | 控制模型是否在不使用时从显存卸载 | 开启可以节省显存,但切换会慢一点 |
3.2 UNO_Sampler 节点 - 图像生成器
这个节点是整个插件的核心,就像是一个超级画家,它拿着你的文字描述和参考图片,然后创造出你想要的图像。
3.2.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型 | model | 模型对象 | 从加载器连接 | 指定用哪个UNO模型来画画,就像选择用哪支画笔 | 连接的UNO模型实例 | 从UNO_Model_Loader节点连接过来 |
| 正向提示词 | prompt | 文本字符串 | 详细描述 | 告诉AI你想要什么,就像给画家下订单 | 描述期望生成内容的文本提示 | "a beautiful girl with long hair, wearing red dress" |
| 负向提示词 | negative_prompt | 文本字符串 | 不想要的内容 | 告诉AI你不想要什么,就像告诉厨师不要放辣椒 | 描述不希望出现内容的文本提示 | "ugly, blurry, low quality, distorted" |
| 参考图片 | reference_image | 图像对象 | 可选 | 给AI看的参考图片,就像给画家看照片让他照着画 | 用于指导生成的参考图像 | 连接你想要参考的图片 |
| 参考强度 | reference_strength | 0.0-2.0 | 0.8-1.2 | 控制参考图片的影响力,就像调节音量大小 | 控制参考图像对生成结果的影响程度 | 0.8比较自然,1.2影响更强烈 |
| 生成步数 | num_inference_steps | 10-100 | 20-50 | AI画画的步骤数,就像画家画画的遍数 | 扩散模型的去噪步数 | 20步够用,50步质量更好但更慢 |
| 引导强度 | guidance_scale | 1.0-20.0 | 7.5 | 控制AI听话程度,就像调节助手的执行力 | 控制模型对提示词的遵循程度 | 7.5比较均衡,太高会过度拟合 |
| 图像宽度 | width | 像素数值 | 1024 | 生成图片的宽度,就像选择画布大小 | 输出图像的宽度像素 | 1024是常用尺寸,可以根据需要调整 |
| 图像高度 | height | 像素数值 | 1024 | 生成图片的高度,就像选择画布大小 | 输出图像的高度像素 | 1024是常用尺寸,可以根据需要调整 |
| 随机种子 | seed | 整数 | -1 | 控制随机性,就像掷骰子的结果 | 控制随机数生成器的种子值 | -1为随机,固定数值可以重现相同结果 |
3.3 UNO_Text_Encoder 节点 - 文字理解器
这个节点专门负责理解你写的文字,就像是一个翻译官,把你的中文或英文描述翻译成AI能理解的语言。
3.3.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本内容 | text | 文本字符串 | 详细描述 | 你想要AI画什么,就像给画家的指令 | 需要编码的文本提示 | "a cat sitting on a table" |
| 编码器类型 | encoder_type | clip/t5 | clip | 选择用哪种文字理解方式,就像选择用哪种翻译软件 | 指定使用的文本编码器类型 | clip适合英文,t5更通用 |
| 最大长度 | max_length | 整数 | 77 | 文字描述的最大长度,就像短信字数限制 | 文本序列的最大token数量 | 77是标准长度,可以根据需要调整 |
| 截断模式 | truncation | true/false | true | 超长文字是否截断,就像文章太长是否省略 | 是否对超长文本进行截断 | 开启避免报错,但会丢失部分信息 |
3.4 UNO_VAE_Encoder 节点 - 图像编码器
这个节点就像是一个图像压缩器,把你的图片压缩成AI能理解的格式,就像把照片扫描成电脑文件。
3.4.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图像 | image | 图像对象 | 从其他节点连接 | 要处理的图片,就像放进扫描仪的照片 | 待编码的输入图像 | 连接你想要处理的图片 |
| VAE模型 | vae | VAE对象 | 从加载器连接 | 用来压缩图片的工具,就像选择扫描仪型号 | 变分自编码器模型 | 从VAE加载器连接过来 |
| 编码精度 | encode_precision | float16/float32 | float16 | 压缩精度,就像选择照片保存质量 | 编码时的数值精度 | float16速度快,float32质量高 |
3.5 UNO_VAE_Decoder 节点 - 图像解码器
这个节点是编码器的反向操作,就像是一个图像解压器,把AI处理后的压缩格式重新变成我们能看的图片。
3.5.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 潜在空间 | latent | 张量对象 | 从其他节点连接 | AI处理后的压缩数据,就像压缩包文件 | 潜在空间的张量表示 | 从UNO_Sampler或其他节点连接 |
| VAE模型 | vae | VAE对象 | 从加载器连接 | 用来解压的工具,就像选择解压软件 | 变分自编码器模型 | 从VAE加载器连接过来 |
| 解码精度 | decode_precision | float16/float32 | float16 | 解压精度,就像选择图片还原质量 | 解码时的数值精度 | float16速度快,float32质量高 |
3.6 UNO_Image_Processor 节点 - 图像预处理器
这个节点就像是一个图像美容师,负责在图片输入AI之前进行各种调整和优化,确保图片格式正确。
3.6.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图像 | image | 图像对象 | 从其他节点连接 | 要处理的原始图片,就像拍摄的原始照片 | 待处理的输入图像 | 连接你的原始图片 |
| 目标尺寸 | target_size | 像素数值 | 1024 | 把图片调整到指定大小,就像冲印照片选择尺寸 | 图像resize的目标尺寸 | 1024是常用尺寸,根据需要调整 |
| 缩放模式 | resize_mode | bilinear/nearest | bilinear | 选择图片缩放方式,就像选择图片压缩算法 | 图像缩放的插值方法 | bilinear效果更平滑自然 |
| 是否裁剪 | crop | true/false | true | 是否裁剪图片以适应比例,就像相框裁剪照片 | 是否对图像进行中心裁剪 | 开启保持比例,关闭会拉伸变形 |
| 标准化 | normalize | true/false | true | 是否对图片数值进行标准化,就像统一照片亮度 | 是否对像素值进行标准化 | 开启让AI更好理解图片 |
4. 使用技巧和建议
4.1 新手入门建议
- 先从简单的文字生成开始,不要一开始就用复杂的参考图片
- 提示词写得越详细越好,就像给画家的指令越清楚越好
- 刚开始可以用默认参数,熟悉后再调整
4.2 提示词写作技巧
- 用英文写提示词效果更好
- 按照"主体+风格+细节+质量"的顺序写
- 负向提示词写上常见的不想要的内容,比如"blurry, low quality, ugly"
4.3 参考图片使用建议
- 参考图片质量要高,清晰度要好
- 参考强度从0.8开始试,太高会过度模仿
- 可以用多张参考图片,但要注意它们之间的兼容性
4.4 性能优化建议
- 如果显存不够,开启模型卸载功能
- 使用float16精度可以节省内存
- 生成步数20-30步就够用,不用太高
5. 常见问题解答
5.1 安装相关问题
Q: 插件安装后找不到节点?
A: 记得重启ComfyUI,如果还是找不到,检查是否正确安装了依赖包。
Q: 提示缺少某个依赖包?
A: 进入插件文件夹,运行 pip install -r requirements.txt 重新安装依赖。
5.2 使用相关问题
Q: 生成的图片质量不好?
A: 检查提示词是否够详细,尝试增加生成步数,或者调整引导强度。
Q: 显存不够用怎么办?
A: 开启模型卸载功能,使用float16精度,或者降低图片分辨率。
Q: 参考图片没有效果?
A: 检查参考强度设置,确保图片质量良好,提示词要与参考图片相符。
5.3 性能相关问题
Q: 生成速度太慢?
A: 降低生成步数,使用float16精度,确保使用GPU而不是CPU。
Q: 内存占用太高?
A: 开启模型卸载,使用较小的图片尺寸,关闭不必要的节点。
6. 进阶玩法
6.1 批量生成
你可以连接多个UNO_Sampler节点,用不同的参数生成多张图片,就像一次性让画家画好几幅画。
6.2 图片融合
结合多个参考图片,可以创造出融合多种元素的独特图像,比如"A的脸型+B的发型+C的服装"。
6.3 风格迁移
使用风格化的参考图片,可以让生成的图片具有特定的艺术风格,比如油画风格、水彩风格等。
6.4 工作流链接
把UNO插件和其他ComfyUI插件结合使用,比如先用UNO生成基础图片,再用其他插件进行后期处理。
这个插件功能强大,但需要一定的学习时间。建议先从简单的文字生成开始,逐步尝试更复杂的功能。记住,好的提示词和合适的参数设置是成功的关键!