news 2026/8/22 14:42:01

第一个Kolors文生图工作流:ComfyUI-Kolors-MZ从零到出图,12个节点逐个讲透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一个Kolors文生图工作流:ComfyUI-Kolors-MZ从零到出图,12个节点逐个讲透

第一个Kolors文生图工作流:ComfyUI-Kolors-MZ从零到出图,12个节点逐个讲透

【免费下载链接】ComfyUI-Kolors-MZKolors的ComfyUI原生采样器实现(Kolors ComfyUI Native Sampler Implementation)项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Kolors-MZ

这篇文章带你用ComfyUI-Kolors-MZ(Kolors 的 ComfyUI 原生采样器插件)完成第一个Kolors 文生图工作流:从插件安装、模型下载到 12 个节点逐个拆解、KSampler 参数调优,全程无需写代码,跟着做就能在 ComfyUI 里稳定出 Kolors 的图。

🧩 Kolors是什么?ComfyUI-Kolors-MZ解决了什么问题

Kolors 是快手可灵开源的文生图大模型,基于 SDXL 架构,但用ChatGLM3作为中文文本编码器,对中文提示词的理解能力远超原生 SDXL。

问题在于:ComfyUI 原生无法识别 Kolors 的模型结构。ComfyUI-Kolors-MZ 通过钩子机制(hook_comfyui_kolors_v2.py)把 Kolors 的 UNet 配置注入 ComfyUI 的模型检测流程,让 Kolors直接走 ComfyUI 原生采样管线——不需要自定义采样器代码,工作流里用的全是标准节点。

✅ 插件的核心能力一览:

  • 原生采样:KSampler 直接可用,不用 wrapper 节点
  • 中文编码器:内置 ChatGLM3 加载与编码节点,支持 4bit/8bit 量化
  • 生态扩展:配套 ControlNet、局部重绘、IPAdapter/FaceID 全套节点

📥 安装步骤:3分钟装好 ComfyUI-Kolors-MZ 插件

打开终端,进入 ComfyUI 的自定义节点目录执行(仅此处涉及仓库地址):

cd ComfyUI/custom_nodes git clone https://gitcode.com/gh_mirrors/co/ComfyUI-Kolors-MZ python main.py

然后重启 ComfyUI。之后在节点搜索栏输入MinusZone,就能看到本插件的全部节点,它们统一归类在MinusZone - Kolors分类下(节点注册见init.py)。

🗂 模型下载:3类Kolors模型该放哪个文件夹

Kolors 文生图需要 3 个文件,存放位置非常关键:

模型存放位置作用
Kolors UNet(diffusion_pytorch_model.fp16.safetensorsmodels/unet/文生图主模型
ChatGLM3(chatglm3-fp16.safetensorsmodels/LLM/中文文本编码器
SDXL VAEmodels/vae/潜空间解码成图片

💡UNet 放错位置的坑:Kolors 的 UNet 有两种用法——放在models/unet/就用MZ_KolorsUNETLoaderV2加载;放在models/checkpoints/则用MZ_KolorsCheckpointLoaderSimple加载。不确定就两种都试一下(官方 FAQ 原话)。

🖼 工作流总览:第一个Kolors文生图的12个节点

基础文生图工作流如下图(工作流 JSON 就嵌在 PNG 里,直接把这张图拖进 ComfyUI 画布即可导入整条工作流):

在基础 9 节点之上,加上 3 个可选的进阶开关节点,就是完整的12 节点版Kolors 文生图工作流:

阶段节点作用
① 加载模型1-3:UNET加载 / VAE加载 / ChatGLM3加载把3个模型送进内存
② 文本编码4-6:正向/负向 TextEncodeV2 / Embeds2Conditioning中文提示词 → 条件向量
③ 进阶开关7-8:ApplyCUDAGenerator / ApplySDXLSamplingSettings种子复现、调度器微调
④ 生成出图9-12:空Latent / K采样器 / VAE解码 / 预览图像噪声 → 图片

🔌 阶段一:节点1~3,把三类模型加载进来

节点1:MinusZone - KolorsUNETLoaderV2(Kolors主模型加载器)

models/unet/加载 Kolors 主模型。它和普通 UNET Loader 的区别在于:内部会临时套用 Kolors 专用配置(context_dim: 2048adm_in_channels: 5632等),并在 UNet 中注入encoder_hid_proj线性层,把 ChatGLM3 的 4096 维编码压缩到 2048 维供注意力层使用,实现逻辑见 mz_kolors_core.py 与 hook_comfyui_kolors_v2.py。

节点2:VAE Loader(ComfyUI标准节点)

选择models/vae/下的SDXL VAE。Kolors 沿用 SDXL 的 VAE,这一步和普通 SDXL 工作流完全一样。

节点3:MinusZone - ChatGLM3Loader(中文文本编码器)

models/LLM/加载 ChatGLM3 的 safetensors 文件,配置来自 configs/text_encoder_config.json,模型实现内置在 chatglm3/ 目录中。

  • 显存紧张?选4bit/8bit 量化版(文件名含4bit/8bit会自动触发量化加载,4bit 需额外pip install cpm_kernels
  • RuntimeError: Only Tensors of floating point dtype...?换 fp16 版本

✍️ 阶段二:节点4~6,把中文提示词变成模型能懂的"条件"

节点4 & 5:MinusZone - ChatGLM3TextEncodeV2(正向 + 负向)

同一节点用两次:一次接正向提示词(比如"画着樱花的女孩,红色外套,城市夜景"),一次接负向提示词(比如"低质量,变形,模糊")。输出标准的 CONDITIONING 条件,直接喂给 KSampler。

V2 相比旧版ChatGLM3TextEncode的改进:不再需要单独拉一根hid_proj线(旧版见 mz_kolors_legacy.py),投影逻辑已并入 UNet,连线更干净。

🎲 小技巧:提示词里写{选项A|选项B}每次随机二选一,方便批量探索构图(随机逻辑见 mz_kolors_core.py)。

节点6(可选):MinusZone - ChatGLM3Embeds2Conditioning

面向2048 高分辨率场景:一次输出 positive/negative 两路条件,并携带width / height / crop_w / crop_h / target_width / target_height尺寸信息,让模型更准确地理解目标比例。普通 1024 出图可以跳过这个节点。

🎛 阶段三:节点7~8,两个进阶开关(可选但推荐)

节点7:MinusZone - ApplyCUDAGenerator(同种子=同图)

Kolors 官方实现与 ComfyUI 默认的 CPU 噪声生成有细微差异,会导致"同种子不同图"。这个节点把噪声生成切换到 CUDA 生成器,实现跨实现种子级复现(原理见 mz_kolors_core.py)。做对比测试、风格微调时非常有用。

节点8:MinusZone - ApplySDXLSamplingSettings(调度器微调)

把采样调度器参数切回 SDXL 官方设定(linear beta、1000 步标度)。默认 Kolors 参数(1100 步标度)下效果就不错,此节点属于口味级调节,不接也不会出错。

下图是官方同种子对比测试工作流(含 MZ-V2 完整 12 节点布局与 Wrapper 方案对照),可拖入画布直接体验:

🚀 阶段四:节点9~12,一键出图

节点9:Empty Latent(空潜空间)

决定画面尺寸。推荐 1024×1024(方形)或 960×1280(竖版),批次大小 1。注意:这里的分辨率会参与 Kolors 的尺寸条件编码,比例别偏离 1:1 / 3:4 / 4:3 太远。

节点10:KSampler(K采样器)——出图核心

所有条件在此汇合:正向/负向条件 + 模型 + Latent,执行去噪采样。

节点11:VAE Decode(VAE解码)

把去噪后的 Latent 解码成像素图像。

节点12:Preview Image(预览图像)

在画布上实时预览出图结果。

📋 Kolors文生图KSampler参数速查表

参数推荐值说明
随机种子固定或随机配合节点7可跨端复现
步数20~2520 步已足够,25 步细节更稳
CFG4~7(5~6 为佳)偏低更自然,偏高更"听话"但易过饱和
采样器ddimpp_2m_sde_gpu/ddim_uniform官方工作流默认搭配
调度器karras与上面采样器搭配
降噪1.00文生图固定 1.0

🛠 常见问题:5个报错及快速修复

报错/现象快速修复
模型加载失败、类型检测不到UNet 在unet/目录用 V2 加载器,在checkpoints/MZ_KolorsCheckpointLoaderSimple
name 'round_up' is not defined执行pip install -U cpm_kernels
module 'comfy.model_detection' has no attribute...把 ComfyUI 本体更新到最新版
Only Tensors of floating point dtype...ChatGLM3 换 fp16 版本
'ChatGLMModel' object has no attribute 'transformer'检查models/LLM/里模型文件是否下载完整

📈 进阶方向:出图之后的三大扩展

跑通基础文生图后,ComfyUI-Kolors-MZ 还为 Kolors 补全了整条创作链路,示例工作流同样内嵌在 PNG 里,拖入画布即可使用:

① ControlNet 结构控制(深度/Canny/姿态):用MZ_KolorsControlNetLoader加载官方 Kolors ControlNet,再接MZ_KolorsControlNetPatch注入 Kolors 专用的编码器投影,即可控制构图和姿势:

② 局部重绘 Inpainting:加载 Kolors-Inpainting 模型到models/unet/,配合 VAE 编码与蒙版即可精准修改局部(如换衣服、换背景),出图时采样器换ddim_uniform效果更好:

③ IPAdapter / FaceID 参考生图:借助 ComfyUI_IPAdapter_plus 的 Kolors 适配节点,实现以图生图、参考构图甚至人脸一致:

🎯 小结

  • ComfyUI-Kolors-MZ 让 Kolors 以原生采样方式接入 ComfyUI,12 个节点即可从零出图
  • 记住三步:装插件 → 模型放对文件夹(unet/LLM/vae/)→ 拖入工作流图
  • KSampler 记住20~25 步 + CFG 5~6 + karras,基本不会翻车
  • 出图只是起点:ControlNet、局部重绘、IPAdapter/FaceID 工作流都在 examples/ 目录中,拖图即用

【免费下载链接】ComfyUI-Kolors-MZKolors的ComfyUI原生采样器实现(Kolors ComfyUI Native Sampler Implementation)项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Kolors-MZ

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 14:37:57

从手机里提取已安装应用的APK:Kanade免费搞定备份与分享

从手机里提取已安装应用的APK:Kanade免费搞定备份与分享 【免费下载链接】kanade Android app to extract apks from installed apps. 项目地址: https://gitcode.com/gh_mirrors/ka/kanade 想把手机里的应用发给朋友,或重装系统前留个备份&#…

作者头像 李华
网站建设 2026/8/22 14:33:13

Akagi 雀魂AI辅助完整教程:免费实时分析,4 步跑起来

Akagi 雀魂AI辅助完整教程:免费实时分析,4 步跑起来 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi Ci…

作者头像 李华