ComfyUI-MLX 插件保姆级教程
1. 插件简介
插件地址: https://github.com/thoddnn/ComfyUI-MLX
ComfyUI-MLX 是一个专门为苹果芯片(M1/M2/M3等)Mac电脑优化的 ComfyUI 插件。这个插件就像给你的Mac装了一个超级加速器,让图片生成速度飞起来!
这个插件能给我们带来什么效果?
想象一下,原本你用 ComfyUI 生成一张图片需要等很久,就像用老式打印机打印照片一样慢。而这个插件就像把你的打印机换成了最新款的高速打印机:
- 速度提升70%:当需要重新加载模型时,生成速度快了70%
- 速度提升35%:当模型已经加载好时,生成速度快了35%
- 内存节省30%:占用的电脑内存减少了30%,就像原本需要一个大房间存放的东西,现在只需要一个小房间
这个插件特别适合:
- 使用苹果芯片Mac的朋友
- 想要更快生成图片的用户
- 内存不够大,经常卡顿的情况
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开 ComfyUI
- 点击 "Manager"(管理器)
- 选择 "Custom Nodes Manager"(自定义节点管理器)
- 搜索 "ComfyUI MLX"
- 点击 "Install"(安装)
方法二:通过Git地址安装
- 打开 ComfyUI
- 点击 "Manager"(管理器)
- 选择 "Install via Git URL"(通过Git地址安装)
- 输入:
https://github.com/thoddnn/ComfyUI-MLX.git - 点击安装
安装完成后重启 ComfyUI 即可使用。
3. 节点详细解析
3.1 MLXLoadFlux 节点 - 模型加载器
这个节点就像一个"模型仓库管理员",负责从网上下载并加载各种AI绘画模型到你的电脑里。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model_version | model_version | 下拉选择框 | argmaxinc/mlx-FLUX.1-schnell-4bit-quantized | 选择你要用的AI绘画模型,就像选择不同的画笔风格 | 指定要加载的预训练模型版本,支持不同的FLUX模型变体 | 新手建议选4bit量化版本,速度快占用内存少 |
可选的模型版本:
argmaxinc/mlx-FLUX.1-schnell-4bit-quantized:压缩版,速度最快,内存占用最少argmaxinc/mlx-FLUX.1-schnell:标准快速版,平衡速度和质量argmaxinc/mlx-FLUX.1-dev:开发版,质量最高但速度较慢
输出接口:
mlx_model:加载好的AI绘画大脑mlx_vae:图片解码器,把抽象数据变成真正的图片mlx_conditioning:文字理解器,帮助AI理解你的描述
3.2 MLXClipTextEncoder 节点 - 文字理解器
这个节点就像一个"翻译官",把你写的文字描述翻译成AI能理解的"密码语言"。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 文本输入框 | "photo of a cat" | 输入你想要生成图片的文字描述,就像告诉画家你想画什么 | 输入提示词文本,用于指导图像生成的内容和风格 | 输入"一只可爱的小猫坐在花园里",AI就会画出相应的图片 |
| mlx_conditioning | mlx_conditioning | 连接输入 | 来自MLXLoadFlux | 接收模型的文字理解能力,就像给翻译官提供词典 | 接收来自模型加载器的条件编码器组件 | 必须连接MLXLoadFlux节点的mlx_conditioning输出 |
输出接口:
mlx_conditioning:翻译好的"密码语言",AI能直接理解的指令
3.3 MLXSampler 节点 - 图片生成器
这个节点就像一个"魔法画师",根据你的文字描述,一步步把空白画布变成精美的图片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| mlx_model | mlx_model | 连接输入 | 来自MLXLoadFlux | 接收AI绘画大脑,就像给画师提供绘画技能 | 接收预训练的扩散模型用于图像生成 | 必须连接MLXLoadFlux节点的mlx_model输出 |
| seed | seed | 整数 | 0 | 随机种子,就像掷骰子的起始数字,相同种子会生成相同图片 | 控制随机数生成器的种子值,确保结果可重现 | 设为123,每次都会生成同样的图片;设为0则每次随机 |
| steps | steps | 整数 | 4 | 绘画步骤数,就像画家画画的层数,越多越精细但越慢 | 扩散过程的迭代步数,影响图像质量和生成时间 | 新手用4步够了,追求质量可以用8-20步 |
| cfg | cfg | 小数 | 0 | 听话程度,数值越高AI越严格按照你的描述画,0表示完全自由发挥 | 分类器自由引导强度,控制生成图像与提示词的匹配程度 | FLUX模型建议设为0,其他模型可以设7-15 |
| mlx_positive_conditioning | mlx_positive_conditioning | 连接输入 | 来自MLXClipTextEncoder | 接收翻译好的文字指令,告诉AI要画什么 | 接收编码后的正向提示词条件 | 必须连接MLXClipTextEncoder节点的输出 |
| latent_image | latent_image | 连接输入 | 来自EmptyLatentImage | 接收空白画布,就像给画家提供纸张 | 接收潜在空间的图像表示作为生成起点 | 通常连接EmptyLatentImage节点创建空白画布 |
| denoise | denoise | 小数 | 1.0 | 去噪强度,1.0表示从完全的噪点开始画,0.5表示从半成品开始画 | 控制去噪过程的强度,用于图像到图像的转换 | 文生图用1.0,图生图可以用0.7-0.9 |
输出接口:
LATENT:生成的抽象图片数据,需要解码器才能变成真正的图片
3.4 MLXDecoder 节点 - 图片解码器
这个节点就像一个"显影师",把抽象的图片数据变成你能看到的真正图片,就像胶卷冲洗成照片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| latent_image | latent_image | 连接输入 | 来自MLXSampler | 接收抽象的图片数据,就像接收未冲洗的胶卷 | 接收潜在空间的图像表示进行解码 | 必须连接MLXSampler节点的LATENT输出 |
| mlx_vae | mlx_vae | 连接输入 | 来自MLXLoadFlux | 接收解码器工具,就像给显影师提供化学药水 | 接收变分自编码器的解码器部分 | 必须连接MLXLoadFlux节点的mlx_vae输出 |
输出接口:
IMAGE:最终的图片,可以保存或继续处理
4. 使用技巧和建议
4.1 新手推荐设置
- 模型选择:
argmaxinc/mlx-FLUX.1-schnell-4bit-quantized(速度快,内存占用少) - 生成步数:4步(够用且快速)
- CFG值:0(FLUX模型的特点)
- 图片尺寸:512x512(标准尺寸,生成快)
4.2 追求质量的设置
- 模型选择:
argmaxinc/mlx-FLUX.1-dev(质量最高) - 生成步数:8-12步(质量更好)
- 图片尺寸:1024x1024(高清图片)
4.3 节约内存的技巧
- 选择4bit量化版本的模型
- 使用较小的图片尺寸
- 减少生成步数
- 一次只运行一个工作流
4.4 提示词建议
- 使用英文描述效果更好
- 描述要具体明确,比如"a cute orange cat sitting in a garden"
- 可以加上风格描述,比如"photorealistic"、"anime style"等
5. 常见问题解答
Q1:为什么我的Mac运行很慢?
A1: 确保你使用的是苹果芯片(M1/M2/M3)的Mac,Intel芯片的Mac无法享受MLX加速。
Q2:模型下载很慢怎么办?
A2: 模型会自动从HuggingFace下载,首次使用需要等待。下载完成后会缓存在本地,下次使用就很快了。
Q3:生成的图片质量不好?
A3: 尝试以下方法:
- 增加生成步数(从4步增加到8-12步)
- 使用更详细的提示词
- 选择质量更高的模型版本
Q4:内存不够用怎么办?
A4:
- 选择4bit量化版本的模型
- 减小图片尺寸
- 关闭其他占用内存的应用程序
Q5:如何固定生成相同的图片?
A5: 设置一个固定的seed值(比如123),每次使用相同的seed和提示词就会生成相同的图片。
6. 工作流示例
基础文生图工作流连接顺序:
- MLXLoadFlux → 选择模型版本
- MLXClipTextEncoder → 输入提示词,连接MLXLoadFlux的mlx_conditioning
- EmptyLatentImage → 设置图片尺寸(512x512)
- MLXSampler → 连接模型、文字编码和空白画布
- MLXDecoder → 连接生成的潜在图像和VAE解码器
- SaveImage → 保存最终图片
推荐的基础设置:
MLXLoadFlux: argmaxinc/mlx-FLUX.1-schnell-4bit-quantized
MLXClipTextEncoder: "a beautiful landscape with mountains and lake"
EmptyLatentImage: 512x512, batch_size=1
MLXSampler: seed=0, steps=4, cfg=0, denoise=1.0
7. 性能对比
根据官方测试数据(MacBook M2 Max, 96GB内存,Flux 1.0 dev模型,512x512图片,10步生成):
| 场景 | 传统方式 | MLX加速 | 提升幅度 |
|---|---|---|---|
| 需要加载模型时 | 基准时间 | 节省70%时间 | 快70% |
| 模型已加载时 | 基准时间 | 节省35%时间 | 快35% |
| 内存占用 | 基准内存 | 节省30%内存 | 省30% |
8. 总结
ComfyUI-MLX 插件是苹果芯片Mac用户的福音,它就像给你的电脑装上了涡轮增压器,让图片生成速度飞起来。虽然只有4个节点,但每个都很实用:
- MLXLoadFlux:模型管家,负责加载AI大脑
- MLXClipTextEncoder:翻译官,把文字变成AI能懂的语言
- MLXSampler:魔法画师,真正生成图片的核心
- MLXDecoder:显影师,把抽象数据变成真实图片
对于Mac用户来说,这个插件绝对值得一试。记住选择合适的模型版本,设置合理的参数,就能享受飞一般的图片生成体验!