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 团队。

相关推荐
INDEMIND1 小时前
INDEMIND携Donutbot“多多”亮相2026科大讯飞1024开发者节
人工智能·具身机器人·陪伴机器人·donutbot
舰长1151 小时前
将百万数据插入到 Redis,有哪些实现方案?
数据结构·redis·开源
TechVoyager_82461 小时前
十六个调试引脚的两副面孔:IT66322 切换芯片的引脚复用与功耗分档
1024程序员节·切换芯片·引脚复用·功耗分档
forest_091 小时前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi
lunar_coder1 小时前
【C++】如何解决智能指针的析构函数,如何实现shared_ptr的引用计数以及解决shared_ptr的循环引用
c++·1024程序员节
瑞克-桑切斯1 小时前
脚本陷入自循环的解决方法
1024程序员节
Java开发追求者1 小时前
windows快速安装docker
windows·docker·安装·1024程序员节
我叫洋洋1 小时前
用 Qoder(AI 编程助手)把 Cadence 16.6 从零配到能画板
人工智能·单片机·嵌入式硬件·电路·1024程序员节
ai_coder_ai1 小时前
自动化脚本最佳实践
1024程序员节