跳过主要内容
🟢 MOSS-Image 指南已上线
MossImage
全部文章
教程

如何在 ComfyUI 中运行 MOSS-Image(官方节点,分步教程)

安装 MOSS-Image 节点,下载 SFT 权重、Qwen3.5-9B 文本编码器和 FLUX.2 VAE,并按推荐设置搭建一个可用的文生图工作流。

MOSS-Image 是一个 5B 参数的开源文生图模型,于 2026-10-16 以 Apache-2.0 许可证发布。它的强项是长双语文字渲染和 JSON 版式控制。ComfyUI 在发布当天就提供了支持。本指南依次介绍权重文件、两种安装路径、示例工作流的设置,以及最常见问题的解决办法。如果想先了解背景,请阅读 MOSS-Image 是什么或模型概览。

在 ComfyUI 中运行 MOSS-Image 需要什么?

你需要一块支持 CUDA 的 NVIDIA 显卡、一个较新版本的 ComfyUI,以及三组权重:MOSS-Image-SFT 扩散模型、Qwen3.5-9B 文本编码器和 FLUX.2 VAE。官方仓库要求 Python 3.10 或更高、PyTorch 2.9 或更高。官方显存需求尚未公布。

使用 SFT 检查点,不要用 Base。Hugging Face 模型卡把 SFT 描述为日常生成用的检查点。Base 是没有经过后训练的原始预训练模型,定位是 LoRA 和微调的起点。

Comfy-Org 重打包版本把模型拆成了适合 ComfyUI 的单个 safetensors 文件:

组件文件大小
扩散模型(bf16)moss_image_sft_bf1610.2 GB
扩散模型(int8)moss_image_sft_int8_convrot5.4 GB
文本编码器(int8)qwen3.5_9b_int8_convrot9.8 GB
文本编码器(w4a8)qwen3.5_9b_w4a8_gptq7.3 GB
VAEflux2-vae.safetensors340 MB

选一个扩散模型文件和一个文本编码器文件。bf16 模型加 int8 编码器是最大的组合;int8 模型加 w4a8 编码器是最小的。文本编码器和 VAE 都是标准组件。MOSS-Image 原封不动地复用 Qwen3.5-9B,VAE 则取自 FLUX.2-klein-4B,所以如果你已经有 FLUX.2 VAE,就不需要再下载一份。

应该走哪条安装路径:ComfyUI 核心还是 MOSS-Image 插件?

如果想要最精简的配置,用 ComfyUI 核心。支持代码在发布当天就通过 Kijai 的 PR #17095 合并进了 ComfyUI 核心(见 ComfyUI Wiki 的发布说明),所以正常更新 ComfyUI 即可。如果想直接加载 Diffusers 格式的文件夹,就用 ComfyUI Manager 里的"MOSS-Image"插件。

路径 A:ComfyUI 核心

  1. 把 ComfyUI 更新到包含 PR #17095 的版本(2026-10-16 之后发布的任何版本)。
  2. 下载上面列出的 Comfy-Org 重打包文件。
  3. 从 ComfyUI Wiki 模型页或重打包仓库加载示例工作流。

这条路径使用你已经熟悉的标准加载器节点,不需要安装任何自定义节点。

路径 B:ComfyUI Manager 插件

  1. 打开 ComfyUI Manager,搜索"MOSS-Image"并安装插件。
  2. 从 Hugging Face 把 Diffusers 仓库 OpenMOSS-Team/MOSS-Image-SFT 整个文件夹下载下来。
  3. 添加 MOSS-Image HF Loader 节点,并把它指向该目录。

如果你同时也通过 Diffusers 运行该模型、希望磁盘上只保留一份权重,这条路径会很方便。代价是要下载整个仓库,而不能按组件挑选量化文件。

权重文件放在哪里?

把扩散模型放到 ComfyUI/models/diffusion_models,Qwen3.5-9B 文本编码器放到 ComfyUI/models/text_encoders,FLUX.2 VAE 放到 ComfyUI/models/vae。重启 ComfyUI 或刷新节点列表,让加载器识别到新文件。这些都是 ComfyUI 的标准目录,不需要 MOSS 专用目录。

如果走路径 B,Diffusers 文件夹可以放在任何位置。MOSS-Image HF Loader 节点接受的是路径,而不是 models 目录中的条目。

搭建之前先快速检查一下:打开每个加载器节点,确认文件名出现在下拉列表中。文件缺失是首次运行失败最常见的原因。

如何搭建文生图工作流?

工作流是标准的 flow-matching 链路:加载模型、文本编码器和 VAE;编码正面和负面提示词;设置 shift 和跳层引导;用 Euler 搭配 sgm_uniform 调度器采样;解码。官方示例使用 1024 x 1024、50 步、CFG 3、shift 5 和跳层 22。

以下是示例工作流和 GitHub README 中的数值:

设置项值说明
分辨率1024 x 1024任意宽高比;宽高必须是 16 的倍数
步数50README 要求 50 或更多
CFG3范围 3.0-6.0;短提示词可调高
Shift5
跳层(负面分支)22模型卡说明 22、24、26 都可用
采样器EulerFlow-matching
调度器sgm_uniform

USERGUIDE 推荐输出 1M、1.5M 或 2M 像素。模型可以从 0.25M(512 x 512)外推到 4M(2K),但最佳区间是 1024 x 1024 及附近尺寸。

使用 USERGUIDE 给出的这条负面提示词:

nsfw, worst quality, bad anatomy, watermark, jpeg artifact

提示词最长可达 4096 token。每个数值的完整解释见 MOSS-Image 推荐设置。

MOSS-Image Layout Prompt 节点是如何工作的?

MOSS-Image Layout Prompt 节点把手绘的框转换成模型可读的 JSON 版式格式。你用 Create Bounding Boxes 绘制区域,给每个区域设置标签和描述,为文字区域添加文字内容,节点就会输出送入正面提示词的 JSON。

该 JSON 使用 bbox_format: "yxyx"([y_min, x_min, y_max, x_max])和 bbox_coord_space: "abs_centralized",即以画布中心为原点的绝对像素坐标。在 1024 x 1024 的画布上,坐标范围是 -512 到 +512。标签为 text、character 或 object。

作者把版式 JSON 标记为实验性功能,但论文报告它在人类偏好测试中胜过自然语言提示词。因为提示词本身就是版式,你可以只改一个描述或一个框然后重新生成,不需要任何图像条件。完整结构见版式 JSON 规范页。

第一条测试提示词应该用什么?

从 OpenMOSS 在 README 和模型卡里自带的示例开始:冰箱上一张写着三行手写中文的便签。纸面很素,任何文字错误都一目了然,而且你可以和官方样例对比。提示词中的真实换行会变成便签上的换行。

A wide view of a refrigerator beside a kitchen counter with a fruit bowl. A small sticky note on the refrigerator door is handwritten in Chinese:
记得买牛奶和鸡蛋!
牛奶两盒,鸡蛋一打。
顺便带一袋面包。

检查要点:三行都在,顺序正确,没有多字或漏字。如果在 CFG 3、50 步下能做到这一点,安装就是正确的。然后换一行英文做对比,再把同样的文字通过 Layout Prompt 节点、每行一个 text 框试一遍。

你也可以在首页的 MossImage 生成器里试试这条提示词,对比结果。

常见问题如何解决?

大多数问题分两类:显存不足,以及文字渲染出错。显存问题用更小的权重文件或更小的画布解决。文字问题用更高的 CFG、更多的步数,以及在提示词中给出精确的引号文字来解决。

显存不足

  • 切换到 moss_image_sft_int8_convrot(5.4 GB)和 qwen3.5_9b_w4a8_gptq(7.3 GB)。
  • 缩小画布。1M 像素是保证质量的推荐下限;如果只是测试,512 x 512 也可以。
  • 官方 Gradio 应用提供三种模式(全部常驻 GPU、组件卸载、顺序卸载)。ComfyUI 会自己处理卸载,但原理相同:常驻组件越少,显存占用越低。

项目没有公布显存数字,所以要实际测试,不要凭假设。

文字乱码或缺失

  • 把 CFG 往 3.0-6.0 区间的上限调。短提示词尤其需要更高的 CFG。
  • 增加步数。50 是下限,不是目标。
  • 把要渲染的文字放在引号里,并描述它的位置和样式。
  • 用 \n 控制换行,不要指望模型在你想要的地方自动换行。
  • 中文长文本略弱于英文。论文报告中文长文本 92.4,英文 97.1,因为训练描述以英文为主。

细节发白或不稳定

关闭跳层引导会让图像看起来更接近照片,但 USERGUIDE 警告细节可能出问题。做文字工作时保持跳层 22 开启。

训练自己的 LoRA

只在扩散模型上训练。文本编码器在官方模型中是冻结的,应该保持冻结;微调它会破坏 DiT 学到的映射关系。

能用少步数 LoRA 让 MOSS-Image 更快吗?

可以,用社区的 LoRA。发布后几天内,社区就发布了 4 步的"rapid-moss" LoRA 和 8 步的 DMD LoRA。两者都可以通过标准 LoRA 加载器加载。它们不是官方发布,项目也没有公布推理速度数据,所以请把它们当作实验来看待。

它们存在的原因:Base 模型没有蒸馏,需要 50 步以上加 CFG 3,速度很慢。少步数 LoRA 用一些质量换速度。做文字密集型工作时要仔细检查输出,减少步数后最先退化的就是文字渲染。

SFT 模型页在模型树下列出了适配器和微调。截至 2026-10-20,显示有 16 个适配器和 14 个微调。

ComfyUI 之外还有哪些选择?

如果 ComfyUI 不是你的工具,MOSS-Image 也可以通过官方 Gradio 应用、Diffusers pipeline、SGLang、vLLM-Omni 和托管的 Hugging Face Space 运行。截至 2026-10-20,没有官方托管 API。

  • Gradio 应用。 包含在 GitHub 仓库中,提供上面描述的三种显存模式。
  • Diffusers。 需要 diffusers 0.38 或更高、transformers 5.3 或更高:
from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained(
    "OpenMOSS-Team/MOSS-Image-SFT",
    custom_pipeline="pipeline_moss_image",
    trust_remote_code=True,
)
  • SGLang。 Day-0 支持;见 docs.sglang.io。
  • vLLM-Omni。 Day-0 支持;vLLM recipe 覆盖 Base 模型。
  • Hugging Face Space。 官方演示在浏览器中运行,无需安装。

如果你想用 Layout Prompt 节点并可视化地控制每一项设置,ComfyUI 仍然是最佳选择。

FAQ

在 ComfyUI 中运行 MOSS-Image 需要多少显存?

项目没有公布显存数字。最小的文件组合是 5.4 GB 的 int8 扩散模型加 7.3 GB 的 w4a8 文本编码器加 340 MB 的 VAE。显存紧张就从这个组合开始。

我应该用 MOSS-Image-Base 还是 MOSS-Image-SFT?

生成图片用 SFT。作者把 Base 描述为用于微调的预训练基座,没有后训练;SFT 产出的文字分组和版式更干净。

MOSS-Image 在 ComfyUI 中支持图生图或编辑吗?

不支持。该模型只做文生图。论文把图像条件生成列为未来工作。版式修改是通过改 JSON 提示词再重新生成来实现的。

应该用哪个采样器和调度器?

和官方工作流一样,Euler 搭配 sgm_uniform 调度器。shift 保持 5,跳层保持 22。

我可以在 AMD 或 Apple 硬件上运行 MOSS-Image 吗?

官方要求列出的是 NVIDIA CUDA。没有关于其他硬件的官方支持文档,所以需要自行摸索。