MOSS-Image-Base 实战:从文生图到 JSON 布局精准控图

MOSS-Image-Base

用户指南 · 中文用户指南 · ComfyUI

MOSS-Image-Base 是 OpenMOSS MOSS-Image 系列中的基础文生图模型。

它支持自然语言提示词、标签序列以及 JSON 布局,用于控制文字位置与物体排布。

Base 与 SFT 对比

在本示例中,SFT 生成的文字分组更清晰,白板布局也更有条理。

MOSS-Image-Base MOSS-Image-SFT

快速开始

请使用 Python 3.10 或更高版本,以及支持 CUDA 的 NVIDIA GPU。先安装与你的 CUDA 环境兼容的 PyTorch

2.9 或更高版本,然后安装:

bash 复制代码
pip install "diffusers>=0.38" "transformers>=5.3" "accelerate>=1.10" "safetensors>=0.6" "Pillow>=10"
python 复制代码
import torch
from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained(
    "OpenMOSS-Team/MOSS-Image-Base",
    custom_pipeline="pipeline_moss_image",
    trust_remote_code=True,
    torch_dtype={"default": torch.bfloat16, "vae": torch.float32},
)
pipe.scheduler = type(pipe.scheduler).from_config(pipe.scheduler.config)
pipe.to("cuda")

prompt = '''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:
"记得买牛奶和鸡蛋!
牛奶两盒,鸡蛋一打。
顺便带一袋面包。"'''

image = pipe(
    prompt,
    height=1024,
    width=1024,
    num_inference_steps=50,
    guidance_scale=3.0,
    uncond_skip_layers=[22],
    generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("refrigerator_note.png")

模型与自定义管线代码会自动下载并缓存。你也可以向 from_pretrained 传入完整的本地模型目录。

Transformer 与文本编码器使用 bfloat16;VAE 和初始噪声使用 float32。内置 VAE 采用 FLUX.2 小型解码器。

关于 Gradio 界面、CPU offload 和编译选项,请参阅

项目快速开始。

如需 ComfyUI,请在 ComfyUI Manager 中搜索 MOSS-Image 以安装原生插件。

集成到 ComfyUI 官方仓库的工作正在进行中。

请参阅安装与使用指南

和示例工作流。

采样设置

设置项 默认值
采样器 流匹配 Euler
步数 50
CFG 3
Shift 5
跳层 负分支,层索引 22(从 0 开始计数)
负面提示词 空

默认引导每步会执行两次 Transformer 前向。传入 uncond_skip_layers=[] 可禁用负分支跳层,

或设置 negative_prompt 提供负面提示词。Python API 的图像尺寸必须为 16 的正整数倍。

有关分辨率、采样、提示词和 LoRA 训练建议,请参阅用户指南。

提示词增强技能

MOSS-Image Prompt Enhancer 可将图像创意

转换为详细的描述文本或空间布局(Layout)提示词。它面向具备本地文件和 Python 工具的

GPT-6 系列智能体。随附脚本会把像素坐标草稿转换为采用整数中心坐标的紧凑 JSON;

它不会调用图像生成服务。

将该技能文件夹安装到你的智能体技能

目录,然后用你的图像创意、期望的描述或 Layout 输出以及任何画布尺寸调用

$moss-image-prompt-enhancer。把编译后的结果粘贴到 MOSS-Image 的正向提示词中;

若使用 Layout,请使用相同的生成尺寸。

布局到图像生成

将 JSON 布局作为提示词传入,即可描述场景、渲染文字、物体及其位置。布局使用

summary.caption 和 items,并采用 bbox_format: "yxyx" 与

bbox_coord_space: "abs_centralized"。

使用 Python API 时,用 json.dumps(layout, ensure_ascii=False) 序列化布局并传给

pipe。在 Gradio 中,把 JSON 粘贴到 Prompt 输入框并设置匹配的图像尺寸。

请参阅布局格式与示例。

布局还可以支持受控编辑和更易用的布局工具。

通过编辑文字、元素描述和边界框,可以结构化地调整图像内容与构图。

效果展示

许可证与致谢

模型权重和随附的推理代码以 Apache License, Version 2.0 发布。

感谢 Diffusers、Qwen 和 FLUX 团队。

相关推荐
wangruofeng18 分钟前
写给开发者的〈重构 UI〉实战笔记:从改好一个设置页开始,告别“程序员审美”
前端·aigc
用户6976256825643 分钟前
用 Alook 把本机编程 agent 拉进频道:Pi + MiniMax 实操
人工智能
程序员鱼皮1 小时前
格局!刚刚 DeepSeek 正式开放全家桶 API,咱都能复刻 DeepSeek App 了?
前端·aigc·ai编程
P1Browser1 小时前
账号触发平台安全审核?拆解标准申诉流程与材料清单
大数据·人工智能·安全·多账号管理·指纹浏览器·账户安全·运营合规
丘山录1 小时前
本地部署 Edge0-145B,98GB 放 NAS 慢 51 倍
人工智能
一只废狗狗狗狗狗狗狗狗狗1 小时前
自监督式学习
人工智能·深度学习·机器学习·bert
nujnewnehc1 小时前
再试一次让ai帮我写博客
aigc·agent·ai编程
武子康2 小时前
给 H3-World 叠加 Turbo,动作 LoRA 为什么还要重新验收?
人工智能·agent·claude
Dawson Zhu2 小时前
【分布式训练④】张量并行与序列并行:把单层参数切碎分到多张卡
人工智能·语言模型·架构·aigc·agi