MOSS-Image 在 ComfyUI 中:文生图、编辑与布局工作流
在 ComfyUI 中本地运行 MOSS-Image:这是一个 5B 开放权重的图像模型,支持提示词增强、布局框、编辑 LoRA 以及从照片进行深度控制。
MOSS-Image 在 ComfyUI 中:文生图、编辑与布局工作流
在 ComfyUI 中本地运行 MOSS-Image:这是一个 5B 开放权重的图像模型,支持提示词增强、布局框、编辑 LoRA 以及从照片进行深度控制。
关于 MOSS-Image
MOSS-Image 是 OpenMOSS 的开放权重文生图模型:一个 5B 单流 DiT,可将完整的场景描述转换为一张成品图像。它在文字与排版至关重要的场景中表现最出色,因为它能渲染英文与中文字体,可接受约 4K token 的提示词,并且能读取描述每个对象和每行文字所在位置的 JSON 布局。权重以 Apache 2.0 发布,因此只需下载一次,即可在自己的 GPU 上运行,无需 API 密钥,也没有按图像计费的积分。
该系列包含两个模型。模板加载的是经过指令微调的 SFT 模型:它对文本的分组和场景的排布更整洁。Base 模型没有经过后训练,也没有进行 CFG 蒸馏,因此成为社区 LoRA 的起点。两者在同一节点图中运行,因此切换模型只需更换一个加载器。
在 ComfyUI 中,该模型以 int8 和 bf16 的单文件模型运行,文本编码器使用以 moss_image 类型加载的 Qwen3.5 9B,VAE 使用 FLUX.2 small VAE。文生图模板还内置了提示词增强器,它会在采样之前把简短的请求改写为完整的描述,所使用的正是模型本身已经需要的那个文本编码器。
模型亮点:
- 5B 单流 DiT,支持英文与中文双语文字渲染
- 原生布局引导:画出盒子,为每个盒子指定文字,文字盒子会渲染出自身的文字
- 文生图模板内置提示词增强器,一句话的想法就足够
- 两个模型:SFT 适合更整洁的布局,Base 适合微调与 LoRA 工作
- 约 4K token 的长提示词,以及宽高均为 16 的倍数的画布尺寸
许可证:Apache 2.0
相关链接:
版本要求:四个文生图模板需要 ComfyUI 0.42.0 或更高版本。图像编辑与颜色/深度控制模板需要 0.43.0 或更高版本。
[!TIP] > [tab] 本地用户 > > 请确保你的 ComfyUI 已经更新。 > > ComfyUI 下载 > ComfyUI 更新教程 > > 本指南里的工作流可以在工作流模板中找到。如果找不到,可能是 ComfyUI 没有更新。 > > 如果加载工作流时有节点缺失,可能原因有: > > 1. 你用的不是最新版(每夜版)。 > 2. 启动时有些节点导入失败。 > [tab] 云端用户 > > * Cloud 会在 ComfyUI 稳定版本发布后更新。 > > 所以,如果你发现本文档中有任何核心节点缺失,可能是因为新核心节点尚未在最新稳定版中发布。请等待下一个稳定版发布。
MOSS-Image 工作流
四个文本到图像模板都使用同一个子图。打开该子图即可访问加载器、采样器和画布尺寸。编辑模板以及颜色/深度模板使用各自的图,具体说明见下文对应章节。
[card] 了解子图 此工作流使用子图节点进行模块化处理。请查看子图文档,了解如何自定义和扩展工作流。
MOSS-Image:文本到图像
仅凭提示词生成图像,无需输入文件。提示词增强器已开启,因此简短描述会在进入模型之前扩展为完整描述。实际使用的描述会显示在 Preview Any 中。

[card] 下载工作流 下载 JSON,或在模板库中搜索 "MOSS-Image: Text to Image"
开始使用
- 将 ComfyUI 更新到 0.42.0 或更高版本
- 转到 模板 并搜索 MOSS-Image
- 选择 MOSS-Image: Text to Image
- 下载 模型下载 中列出的模型
- 在正向提示词中输入你的想法,然后点击 队列
MOSS-Image Base:文生图
同一张工作流图,只是加载了 Base checkpoint。可用于将原始输出与 SFT checkpoint 进行对比,或作为 LoRA 训练的起点。

[card] 下载工作流 下载 JSON,或在模板库中搜索 "MOSS-Image Base: Text to Image"
示例输出

开始使用
- 将 ComfyUI 更新至 0.42.0 或更高版本
- 进入 模板,搜索 MOSS-Image Base
- 选择 MOSS-Image Base: Text to Image
- 下载 模型下载 中列出的模型,包括
moss_image_base_int8_convrot.safetensors - 在正向提示词中输入你的想法,然后点击 队列
MOSS-Image:布局引导的文本到图像
根据提示词加上你绘制的布局生成图像。打开 Create Bounding Boxes,为每个元素拖出一个盒子;每个盒子都带有自己的描述文本,标记为文本的盒子会在其中渲染对应文本。MOSS-Image Layout Prompt 会把盒子转换成模型读取的布局提示词,因此盒子里的描述与你写的场景提示词都会被使用。
先绘制背景盒子,最后绘制前景元素:盒子按你绘制的顺序输出。如果你把某个盒子标记为文本,它就会被标注为 text,否则标注为 object。若要把一个包含人物的盒子标注为角色,请在 MOSS-Image Layout Prompt 的 character_boxes 中列出该盒子在 Create Bounding Boxes 预览里的编号,例如 1, 3。指向文本盒子的编号不会生效。两个布局模板都已填好该字段(SFT 中为 2,Base 中为 1),因此在加入队列之前,请对照你自己的盒子核对一下。
在至少连接一个盒子的情况下,MOSS-Image Layout Prompt 会输出一段 JSON 提示词:一段场景描述加上每个盒子对应的一项。布局模板默认关闭 enable_prompt_enhancer,因此这段 JSON 会原样传给模型。开启后,提示词增强器会改写文本,这可能会把盒子丢掉。

[card] 下载工作流 下载 JSON,或在模板库中搜索 "MOSS-Image: Layout-Guided Text to Image"
示例输出

开始使用
- 将 ComfyUI 更新至 0.42.0 或更高版本
- 进入 模板 并搜索 MOSS-Image,然后选择布局变体
- 下载 模型下载 中列出的模型
- 在
Create Bounding Boxes中为每个元素绘制一个盒子,然后为每个盒子输入描述文本。对于文本盒子,输入你希望渲染的文本 - 在提示词中描述整体场景,然后点击 队列
MOSS-Image Base:布局引导的文本到图像
使用 Base checkpoint 的布局工作流。当你想要比较两个模型如何遵循相同的盒子布局时,这个工作流会很有用。

[card] 下载工作流 下载 JSON,或在模板库中搜索 "MOSS-Image Base: Layout-Guided Text to Image"
示例输出

开始使用
- 将 ComfyUI 更新到 0.42.0 或更高版本
- 转到 模板,搜索 MOSS-Image Base,然后选择布局变体
- 下载模型下载中列出的模型,包括
moss_image_base_int8_convrot.safetensors - 绘制盒子,为每个盒子添加描述,并撰写场景提示词
- 点击 队列
MOSS-Image:图像编辑
使用简短指令编辑一张照片。编辑 LoRA 运行在 SFT checkpoint 之上,你的指令会与来源图像一起编码,因此采样器会重绘同一画面,并且只应用所描述的更改。颜色、材质、服装和背景替换会保持面部、头发、姿势和构图不变。
需要 ComfyUI 0.43.0 或更高版本。

[card] 下载工作流 下载 JSON 或在模板库中搜索 "MOSS-Image: Image Edit LoRA"
输入素材
[card] two\_women\_berets\_floral\_jackets.png 加载到 Load Image。任何照片都可以:该工作流会将其缩放到 1.0 MP 并保持其宽高比。
开始使用
- 更新 ComfyUI 到 0.43.0 或更高版本
- 转到 模板 并搜索 MOSS-Image: Image Edit
- 下载模型下载中列出的模型,包括
moss_image_edit_lora_rank_64_bf16.safetensors - 加载要编辑的照片,并仅在正向提示词中描述更改
- 点击 队列
编辑技巧
- 按照 LoRA 训练时的方式描述更改。
Change only the X to Y. Keep the character, face, hair, pose, background and composition unchanged.效果最好。像 “improve it” 这样含糊的指令会给模型过多自由度。 - 将
edit_format保持为Moss-Image-Edit。 两个编码节点都必须使用 LoRA 训练时所用的值。不同的值仍会返回图像,但人物身份、构图和精细细节会偏离来源图像。 - 将 CFG 保持在 4.0。 负面分支对该 LoRA 很重要。较低的值可能会添加来源照片中不存在的项链等配饰。
- 最多连接四个参考图。 连接后,编码节点会增加额外槽位,因此服装、面部和道具可以分别放入。在提示词中说明每张参考图的用途。
MOSS-Image:颜色与深度控制
在保持照片几何结构不变的同时,重新调整姿态并重塑风格。工作流使用 MoGe 3 估算参考图的几何结构,并通过控制适配器 LoRA 将其传递给模型,因此姿态、构图和轮廓由映射图保持,而提示词决定角色、服装、场景和光照。
需要 ComfyUI 0.43.0 或更高版本。

[card] 下载工作流 下载 JSON,或在模板库中搜索 "MOSS-Image: Color & Depth Control"
输入素材
[card] fashion\_portrait\_red\_canyon.png 加载到 Load Image。工作流会从中估算几何结构,因此任何光照清晰的肖像都可以使用。
开始使用
- 将 ComfyUI 更新到 0.43.0 或更高版本
- 转到 模板,然后搜索 MOSS-Image: Color & Depth Control
- 下载模型下载中列出的模型,包括
moss_image_color_depth_control.safetensors和moge_3_vitg_fp16.safetensors - 加载参考照片,并描述你想要的角色和场景
- 点击 队列
控制技巧
Render MoGe Geometry默认使用遮罩。 仅控制轮廓。当面部轮廓、肩部和背景衰减也应跟随参考图时,将其切换为depth:姿态会更严格,提示词的空间会更小。end_percent设置映射图保持多久。 在 0.6 时,最后几步会自由渲染表面和光照。在 1.0 时,几何结构会固定到最后一步。- LoRA 是让映射图生效的关键。 控制适配器会在控制节点之前加载,缺少它时该节点不会产生效果。
- 当估算结果不正确时,可以手动绘制映射图。
Painter已包含在画面中:将其输出连接到depth_map,近处为白色,远处为黑色。color_map默认未连接,每个区域使用一种纯色,并且必须与输出尺寸匹配。
MOSS-Image 模型下载
模型文件在 Hugging Face 上的 Comfy-Org/MOSS-Image 仓库中,MoGe 3 几何估算模型除外,它在 Comfy-Org/MoGe。模板加载的是 int8 模型;两个模型的 bf16 版本也在同一仓库中,适合显存更大的情况。
[card] moss\_image\_sft\_int8\_convrot.safetensors 扩散模型,指令微调模型。由两个 SFT 模板加载。
[card] moss\_image\_base\_int8\_convrot.safetensors 扩散模型,Base 模型。由两个 Base 模板加载。
[card] qwen3.5\_9b\_w4a8\_gptq.safetensors 四个文生图模板和图像编辑模板使用的文本编码器。用CLIPLoader类型moss_image加载。
[card] qwen3.5\_9b\_int8\_convrot.safetensors 颜色与深度控制模板加载的文本编码器。其他模板使用上面的 w4a8 版本。
[card] flux2-vae\_small.safetensors MOSS-Image 使用的 VAE。
[card] moss\_image\_edit\_lora\_rank\_64\_bf16.safetensors 编辑 LoRA,297 MB。由图像编辑模板加载。
[card] moss\_image\_color\_depth\_control.safetensors 颜色/深度控制适配器 LoRA,313 MB。由颜色与深度控制模板以强度 1.0 加载。
[card] moge\_3\_vitg\_fp16.safetensors MoGe 3 几何估计器,2.50 GB。由颜色与深度控制模板使用。来自 Comfy-Org/MoGe。
模型存放位置
📂 ComfyUI/
├── 📂 models/
│ ├── 📂 diffusion_models/
│ │ ├── moss_image_sft_int8_convrot.safetensors
│ │ └── moss_image_base_int8_convrot.safetensors
│ ├── 📂 text_encoders/
│ │ ├── qwen3.5_9b_w4a8_gptq.safetensors
│ │ └── qwen3.5_9b_int8_convrot.safetensors
│ ├── 📂 vae/
│ │ └── flux2-vae_small.safetensors
│ ├── 📂 loras/
│ │ ├── moss_image_edit_lora_rank_64_bf16.safetensors
│ │ └── moss_image_color_depth_control.safetensors
│ └── 📂 geometry_estimation/
│ └── moge_3_vitg_fp16.safetensors
[!NOTE] bf16 版本moss_image_sft_bf16.safetensors和moss_image_base_bf16.safetensors位于同一仓库中。如果显存足够,可以在UNET Loader中换用它们。
提示技巧
- 描述最终图像,而不是提出请求。 该模型是在描述文本上训练的,因此请写出画面看起来是什么样,而不是写“帮我做一张海报”这样的指令。提示词增强器遵循同一规则,所以简短提示词仍然有效。
- 基础模型也读标签序列。 关闭提示词增强器后,MOSS-Image-Base 既接受描述文本,也接受逗号分隔的标签,顺序为质量、评分、元信息、年份、角色、作品、画师,最后是通用标签,例如
best quality, highres, hatsune miku, vocaloid, @foo bar, 1girl, blue hair。 - 关闭提示词增强器以控制措辞。 在子图节点上将
enable_prompt_enhancer设为false,提示词就会原样传给模型。开启提示词增强器时,prompt_enhancer_seed会改变提示词的改写方式。两种设置都会在Preview Any中显示结果,因此可以对比。 - 自行控制换行。 自动换行可能不会落在你期望的位置。当换行位置很重要时,在要渲染的文本中放入实际换行符或
\n。 - 位置很重要时,使用布局工作流。 框会为每个元素和每个文本块向模型提供明确的位置,这比用文字描述位置更可靠。
- 将画布保持在推荐范围内。
ResolutionSelector选择宽高比和像素数(默认 1 MP)。推荐输出范围为 1 MP 至 2 MP,模型可在约 0.25 MP 至 4 MP 之间外推;宽度和高度必须是 16 的倍数。 - 从模板设置开始,然后为官方效果放慢速度。 模板使用
er_sde采样器、以 CFG 2.5 运行 25 步。基础模型的官方设置是euler采样器、CFG 3、50 步,因此如果结果效果不足,可以尝试这些设置。 - 在基础模型上为短提示词调高 CFG。 基础模型的官方 CFG 范围是 3.0 到 6.0,高于模板的 2.5。短提示词要关闭提示词增强器才能原样传给模型:长提示词保持 3.0,需要时再调高。
- 保持负面提示词简短。 模板默认附带
nsfw, worst quality, bad anatomy, watermark, jpeg artifact。 - 跳过层引导使用第 22 层。 子图节点上有一个
SLG开关,22 是官方层号。关闭它可能看起来更真实,但可能丢失细节;其他层只能在子图内部调整。 - 基础模型用于微调。 在 MOSS-Image 上训练 LoRA 时,请冻结文本编码器。
高于 2 MP 的输出
推荐输出范围是 1 MP 至 2 MP,模型最多可外推到约 4 MP。再大的尺寸就落在外推范围之外,因此大图要靠分步放大,而不是一次画一张巨大的画布。
模板给采样器接的是固定的 Empty Flux 2 Latent,所以这一步要在子图里改:
- 第一遍在 1 MP 或 2 MP 下渲染。
- 解码结果,用
Upscale Image在像素空间放大,再用VAE Encode编码回去。直接放大潜空间是对潜张量重采样,丢掉的细节第二遍补不回来。 - 把编码后的潜空间接到采样器上,替换
Empty Flux 2 Latent,1.5 倍放大时把denoise设为约 0.6:更低会保留第一遍,更高会重做构图。
重复“放大再重绘”,不要直接跳到最终尺寸。从 2 MP 一次跳到 8K 往往只是重复细节而不是增加细节,而 8K 画布需要 VAE Decode (Tiled)。
参考图与提示词增强器
子图节点上有一个可选的 ref_image (for llm) 输入。它只进入提示词增强器,不进入扩散模型:MOSS-Image 本身没有图像输入,无法照搬参考图。提示词增强器开启时,图像会影响它写出的描述文本;关闭时,这个输入会被忽略。
提示词增强器跑在模型本来就要加载的 Qwen3.5 文本编码器上,通过 Generate Text 节点执行,系统提示词取自官方的 MOSS-Image 提示词增强 skill。输出长度由 max_length 控制,模板中是 4096 token。在 MOSS-Image: Text to Image 和 MOSS-Image Base: Text to Image 模板里,prompt_enhancer_seed 可以复现同一段描述,Preview Any 显示最终送到采样器的文本。