OmniGen-ComfyUI 插件保姆级教程
1. 插件简介
插件地址: https://github.com/AIFSH/OmniGen-ComfyUI
这个插件就像是给 ComfyUI 装了一个超级智能的画师助手!它能做什么呢?
- 文字生图:你说"画一只白猫在野餐桌上休息",它就能画出来
- 图片编辑:你给它一张图,说"把伞改成红色的",它就能帮你改
- 图片合成:你给它两张图,说"让图1的人穿上图2的衣服",它就能帮你换装
- 姿势检测:你给它一张人物图,说"检测这个人的骨架",它就能画出骨架线
- 物体分割:你说"找到图片里的灯,把它们涂成蓝色",它就能帮你找到并上色
简单来说,这就是一个能听懂人话、会看图、会画画的万能工具!
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI Manager(就是那个管理插件的工具)
- 搜索 "OmniGen-ComfyUI"
- 找到作者是 "AIFSH" 的那个(注意别选错了,有很多山寨版)
- 点击安装
方法二:手动安装
- 在你的 ComfyUI 文件夹里找到
custom_nodes文件夹 - 在这个文件夹里打开命令行
- 输入:
git clone https://github.com/AIFSH/OmniGen-ComfyUI.git
下载模型文件(重要!)
- 在 ComfyUI 的
models文件夹里创建一个叫OmniGen的文件夹 - 在
OmniGen文件夹里再创建一个文件夹(比如叫OmniGen-v1) - 去这个网址下载模型:https://huggingface.co/Shitao/OmniGen-v1
- 把所有下载的文件都放到刚才创建的文件夹里
3. 节点详解
3.1 Load OmniGen Model 节点(模型加载器)
这个节点就像是一个"模型管家",负责把画画的"大脑"装载到内存里,让后面的画画节点能够使用。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model_name | 下拉选择 | 选择你下载的模型文件夹名 | 选择你要用哪个"画师大脑" | 指定要加载的预训练模型路径 | 如果你的模型文件夹叫"OmniGen-v1",就选这个 |
| 权重类型 | weight_dtype | default/fp8_e4m3fn/fp8_e4m3fn_fast/fp8_e5m2 | default | 选择"大脑"的精度,就像选择画笔的粗细 | 模型权重的数据类型,影响精度和显存占用 | 显存不够用选fp8,显存够用选default |
| 存储在显存中 | store_in_vram | True/False | False | 是否把"大脑"一直放在显卡里,下次用更快 | 是否将模型保持在GPU显存中以提高后续推理速度 | 显存大选True,显存小选False |
| 分离CFG推理 | separate_cfg_infer | True/False | True | 分开处理不同的"画画指令",省显存 | 将条件和无条件推理分离以减少显存占用 | 显存不够建议选True |
| 模型卸载 | offload_model | True/False | False | 不用时把"大脑"搬到内存里,省显存但变慢 | 将模型卸载到CPU内存以节省GPU显存 | 显存紧张时选True |
3.2 OmniGen 节点(图像生成器)
这个节点就是真正的"画师",它接收你的文字描述和图片,然后创作出新的图像。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型 | model | OMNIGEN_MODEL | 连接加载器输出 | 接收"画师大脑",必须连接上面的加载器 | 接收预加载的OmniGen模型实例 | 用线连接Load OmniGen Model的输出 |
| 提示文字 | prompt_text | 多行文本 | 根据需求填写 | 告诉画师你想要什么,就像跟人说话一样 | 用于指导图像生成的文本提示词 | "一只白猫在桌子上"或"image_1穿上红色衣服" |
| 潜在空间 | latent | LATENT | 连接Empty Latent | 告诉画师要画多大的画布 | 定义输出图像的尺寸和批次信息 | 通常连接Empty Latent Image节点 |
| 推理步数 | num_inference_steps | 1-100 | 50 | 画师要画多少遍才完成,越多越精细但越慢 | 扩散模型的去噪迭代次数 | 快速预览用20,精细作品用50-100 |
| 引导强度 | guidance_scale | 1.0-5.0 | 2.5 | 画师听你话的程度,越高越听话但可能过头 | 控制模型对文本提示的遵循程度 | 想要更贴合描述调高到3-4 |
| 图像引导强度 | img_guidance_scale | 1.0-2.0 | 1.6 | 画师参考输入图片的程度 | 控制模型对输入图像的参考程度 | 想要更像原图调高到1.8-2.0 |
| 最大输入图像尺寸 | max_input_image_size | 128-2048 | 1024 | 输入图片最大能多大,太大会占用更多资源 | 限制输入图像的最大分辨率 | 显存不够用512,显存够用1024 |
| 使用输入图像尺寸作为输出 | use_input_image_size_as_output | True/False | False | 让输出图片和输入图片一样大 | 是否将输出图像尺寸设置为与输入图像相同 | 想保持原图尺寸选True |
| 随机种子 | seed | 整数 | 42 | 画师的"心情",同样的种子画出同样的图 | 控制随机数生成的种子值,确保结果可重现 | 想要固定结果用固定数字,随机效果用-1 |
| 图像1 | image_1 | IMAGE | 可选 | 第一张参考图片,在文字里用image_1代表 | 第一个输入图像,用于图像编辑或合成 | 连接Load Image节点,文字里写"image_1" |
| 图像2 | image_2 | IMAGE | 可选 | 第二张参考图片,在文字里用image_2代表 | 第二个输入图像,用于多图像合成 | 连接Load Image节点,文字里写"image_2" |
| 图像3 | image_3 | IMAGE | 可选 | 第三张参考图片,在文字里用image_3代表 | 第三个输入图像,用于复杂的多图像操作 | 连接Load Image节点,文字里写"image_3" |
4. 使用技巧和建议
4.1 显存优化技巧
- 显存不够用? 试试这些设置:
- 权重类型选择
fp8_e4m3fn - 分离CFG推理选择
True - 模型卸载选择
True - 推理步数降低到 20-30
- 权重类型选择
4.2 提示词写法技巧
- 纯文字生图:直接写描述,比如"一只白猫在野餐桌上休息"
- 图片编辑:写"image_1 把伞改成红色"
- 换装效果:写"image_1 穿上 image_2"
- 姿势检测:写"检测 image_1 中人物的骨架"
- 物体分割:写"找到 image_1 中的灯并涂成蓝色"
4.3 参数调节建议
- 想要更精细的图:提高推理步数到 80-100
- 想要更听话的AI:提高引导强度到 3.0-4.0
- 想要更像原图:提高图像引导强度到 1.8-2.0
- 想要随机效果:把种子设为 -1
5. 常见问题解答
Q1:为什么提示"No model folder found"?
A: 你没有正确下载模型文件。请确保:
- 在
ComfyUI/models/下创建了OmniGen文件夹 - 在
OmniGen文件夹里创建了子文件夹(比如OmniGen-v1) - 把从 HuggingFace 下载的所有文件都放在子文件夹里
Q2:显存不够用怎么办?
A: 试试这些方法:
- 权重类型改为
fp8_e4m3fn - 开启"模型卸载"
- 关闭"存储在显存中"
- 降低推理步数
- 减小图像尺寸
Q3:生成的图片不符合描述怎么办?
A: 可以这样调整:
- 提高引导强度到 3.0-4.0
- 增加推理步数到 80-100
- 修改提示词,描述更详细
- 尝试不同的随机种子
Q4:图片编辑效果不好怎么办?
A: 试试这些:
- 提高图像引导强度到 1.8-2.0
- 在提示词中更明确地描述要改变的部分
- 确保输入图片质量良好
- 调整最大输入图像尺寸
Q5:为什么生成速度很慢?
A: 可能的原因和解决方法:
- 推理步数太高 → 降低到 20-30
- 图像尺寸太大 → 使用较小的 Latent 尺寸
- 开启了模型卸载 → 如果显存够用,关闭模型卸载
- 显卡性能不足 → 考虑升级硬件
6. 工作流程示例
基础文字生图工作流:
- 添加
Load OmniGen Model节点,选择模型 - 添加
Empty Latent Image节点,设置图片尺寸 - 添加
OmniGen节点 - 连接:模型加载器 → OmniGen,Empty Latent → OmniGen
- 在提示词里写:"一只白猫在野餐桌上休息"
- 添加
Save Image节点保存结果
图片编辑工作流:
- 基础设置同上
- 添加
Load Image节点加载要编辑的图片 - 连接:Load Image → OmniGen 的 image_1
- 在提示词里写:"image_1 把伞改成红色"
换装工作流:
- 基础设置同上
- 添加两个
Load Image节点 - 连接:第一个图片 → image_1,第二个图片 → image_2
- 在提示词里写:"image_1 穿上 image_2"
7. 总结
这个 OmniGen-ComfyUI 插件就像是给你的 ComfyUI 装了一个超级智能的画师助手。它不仅能根据文字画图,还能编辑图片、合成图像,甚至做一些高级的图像分析工作。
记住几个要点:
- 显存不够就调低精度和开启优化选项
- 提示词要清晰明确
- 多尝试不同的参数组合
- 善用图片引用功能(image_1、image_2、image_3)
希望这个教程能帮你快速上手这个强大的插件!如果还有问题,记得多试试不同的参数组合,实践出真知!