MOSS-Image 推理实战指南:从安装到 5B DiT 文字渲染与 Layout 布局控制
发布时间:2026/10/20 1:11:57 锦皓数字建站

【免费下载链接】MOSS-ImageOfficial repository for MOSS-Image, a 5B-parameter base DiT model with high-quality text rendering, layout generation, and efficient fine-tuning.项目地址https://gitcode.com/gh_mirrors/mo/MOSS-Image点击查看免费下载本文基于 MOSS-Image 官方仓库的中文 README 展开系统讲解 MOSS-Image-Base / MOSS-Image-SFT 两个模型的安装、Python 与 Gradio 推理、采样参数推荐、显存模式选择以及该模型最具特色的 JSON Layout 布局控制和提示词增强 Skill 的完整用法。读完本文你可以独立完成一次可复现的 MOSS-Image 图像生成并掌握用绝对像素坐标控制文字与物体位置、用官方脚本编译 Layout 提示词的全部细节。模型家族MOSS-Image-Base 与 MOSS-Image-SFTMOSS-Image 是一个 5B 参数主干的 DiTDiffusion Transformer文生图模型官方强调其核心能力包括布局控制通过 JSON Layout 输入控制文字与视觉元素的位置文字渲染在图像中生成清晰、准确的文字长提示词支持支持最长 4K tokens 的文本提示词多样视觉风格生成高质量的动漫风格与照片级写实图像易于微调基础模型可适配自定义任务和领域紧凑高效基于 5B 主干网络实现高效图像生成异构 GPU 训练采用替代 GPU 平台训练。仓库提供两个权重模型说明MOSS-Image-BaseHF / ModelScope 同名仓库基础文生图模型MOSS-Image-SFTHF / ModelScope 同名仓库在精选数据上对 MOSS-Image-Base 微调得到的模型官方给出的对比示例中SFT 版本的文字分组更清晰白板内容的排版更有条理。左侧为 Base 输出assets/comparison/base.webp右侧为 SFT 输出注意Base 是一个未经后训练蒸馏的纯基础模型未做 CFG 蒸馏等因此需要配合合适的推理参数才能发挥最佳效果推荐参数见后文 采样参数建议。快速开始安装git clone https://gitcode.com/gh_mirrors/mo/MOSS-Image cd MOSS-Image python -m venv .venv source .venv/bin/activate pip install -r requirements.txtrequirements.txt 只包含一行-e .实际依赖由 pyproject.toml 定义要求 Python ≥ 3.10核心依赖为torch2.9、diffusers0.38、transformers5.3、accelerate1.10、safetensors0.6、Pillow10。Gradio 界面是可选依赖uigradio6.30。Python 推理官方推荐的调用方式是 Diffusers 的DiffusionPipeline 远端 pipeline 代码pipeline_moss_imageimport torch from diffusers import DiffusionPipeline pipe DiffusionPipeline.from_pretrained( OpenMOSS-Team/MOSS-Image-Base, custom_pipelinepipeline_moss_image, trust_remote_codeTrue, torch_dtype{default: torch.bfloat16, vae: torch.float32}, ) pipe.scheduler type(pipe.scheduler).from_config(pipe.scheduler.config) pipe.to(cuda) image pipe( 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:“\n记得买牛奶和鸡蛋\n牛奶两盒鸡蛋一打。\n顺便带一袋面包。”, height1456, width1456, num_inference_steps50, guidance_scale3.0, uncond_skip_layers[22], generatortorch.Generator(cpu).manual_seed(42), ).images[0] image.save(refrigerator_note.png)各参数要点torch_dtype{default: torch.bfloat16, vae: torch.float32}DiT 主权重用 bfloat16VAE 保持 float32 以保证解码精度这是仓库 inference_runtime.py 中load_pipeline的固定加载策略num_inference_steps50、guidance_scale3.0对应官方推荐默认值uncond_skip_layers[22]Skip Layer GuidanceSLG的负向分支跳层在负向分支中跳过第 22 层0-indexed官方认为 22、24、26 层对改善质量均有帮助height/width必须是 16 的正整数倍gradio_app.py 的validate中会做height % 16检查Python API 直接传入非法尺寸会报错中英文混排、带\n换行的手写体提示词体现了该模型对文字渲染的支持。仓库还提供了带完整命令行参数的入口脚本 scripts/gradio.sh它等价于执行python gradio_app.py $。Gradio Web 界面pip install -e .[ui] python gradio_app.py --model OpenMOSS-Team/MOSS-Image-Basegradio_app.py 的main支持以下命令行参数参数说明--modelHugging Face 模型 ID 或本地模型目录--profileauto/16gb/24gb/48gb按显存预设默认配置--model-root包含完整本地模型 bundle 的目录默认..--local-files-only只使用本地文件或已缓存的 HF 文件--output-dir输出目录默认outputs/gradio--prompt-defaults默认提示词文件默认 assets/prompt_defaults.txt--host/--port监听地址默认127.0.0.1:7860界面细节从源码结构看生成参数由 GenerationConfig 数据类集中管理steps50、cfg3.0、shift5.0、seed42、max_sequence_length4096、uncond_skip_layers22Prompt 输入框预填来自 assets/prompt_defaults.txt 的[prompt_prefix]段best quality, masterpieceNegative Prompt 预填[negative_prompt]段nsfw, worst quality, bad anatomy, watermark, jpeg artifact分辨率与长宽比滑块会自动对齐到 16 的倍数像素预算档位为 gradio_presets.py 中的262144 / 1048576 / 1572864 / 2097152 / 4194304即 0.25M4M常用比例含 9:16、16:9、1:1 等高级设置中的 Skip layer mode 支持 Off、Negative-branch skipping默认推荐值 22与 Standard SLGscale 3、区间 0.01–1.0与用户指南中的描述一致每次生成后会在输出目录写入一张图片及parameters.json元数据含 prompt、全部参数、seed、采样器、环境版本与配置文件的 SHA-256例如 assets/images/001/parameters.json 就记录了Euler采样器、uncond_skip_layers: 22等完整可复现信息。采样参数建议README 给出的默认采样参数如下参数默认值采样器Flow-matching Euler步数50CFG3Shift5跳层负向分支跳过第 22 层负面提示词Python API空配套的 中文用户指南 给出了更完整的推荐取值与适用说明分辨率推荐 1M、1.5M、2M 总像素输出模型可外推至 0.25M512×512到 4M2K的任意分辨率长宽比支持任意比例但宽高必须是 16 的正整数倍推理步数≥ 50 步效果最佳CFG默认 3.0推荐范围 3.0–6.0常规长 Prompt 用 3.0 即可短 Prompt 可适当调高Shift默认 5.0采样器默认推荐 EulerSLGSkip Layer Guidance提供两种方式标准 SLGscale 3区间 0.01–1.0二次采样 SLG推荐使用uncond skipskip layer 推荐 220-indexed22、24、26 均有帮助关闭 SLG 会使图像非常真实但可能引起细节崩坏负面提示词经验证有效的 tagnsfw, worst quality, bad anatomy, watermark, jpeg artifactTag 串推荐顺序Quality → Score → Meta → Year → Character → Series → Artist → General例如best quality, highres, hatsune miku, vocaloid, foo bar, 1girl, blue hair文字排版模型支持文字生成与自动换行但未必完全符合预期若追求文字正确率或精确控制换行请在 Prompt 中手动添加\n或直接换行。用户指南还给出了一条中文实战 Prompt 示例玻璃板上手写技术路线说明 负面提示词worst quality, bad anatomy以及上文 Python 示例中的冰箱便签英文示例两者都展示了模型的中英混排文字渲染能力。显存与性能Gradio 高级设置中的 Memory mode 对应 inference_runtime.py 的configure_pipeline模式源码取值行为GPU residentnone全模型驻留 GPUpipe.to(device)Componentmodel按需在 CPU 与 GPU 之间移动模型组件enable_model_cpu_offloadSequential · fallbacksequential更低显存占用推理速度较慢enable_sequential_cpu_offload从源码结构看其自动选择逻辑为offloadauto时若 CUDA 显存预算 ≥ 40 GiB 则使用 GPU resident否则回落到 Component 模式inference_runtime.py 的cuda_budget_gib按get_device_properties与 memory fraction 计算。显存不足时官方建议选择 Sequential 或减小图像尺寸。另外两条限制与 README 一致Compile DiT 默认关闭且与 Sequential 模式互斥——源码中直接抛出Compilation is incompatible with sequential offloadinference_runtime.py启用编译时会对 transformer 各层与文本嵌入块做torch.compile(fullgraphTrue, dynamicTrue)。Gradio 端对torch.cuda.OutOfMemoryError有专门处理自动卸载模型并提示降低尺寸或换用更低显存模式gradio_app.py。Layout 布局生成MOSS-Image 通过 JSON layout 输入控制复杂画面中的文字排版与物体布局官方认为基于 layout 还可以进一步实现受控编辑、用户友好的排版工具等应用——通过修改文字、元素描述和边界框用户可以结构化地调整画面内容与布局。使用方式将布局 JSON 直接粘贴到 Gradio 的 Prompt 输入框或作为 Python API 的prompt字符串传入见下即可指定场景、文字、物体及其位置。官方示例使用summary/items格式以1024×1024画布为例将内容保存为layout.json{ summary: { meta: [poster], canvas: single, caption: A minimalist travel poster with a cream background, a blue mountain illustration, and the title EXPLORE at the top. }, items: [ { label: text, caption: Large dark-blue uppercase title centered at the top., text: EXPLORE, bbox: [-416, -384, -288, 384] }, { label: object, caption: A flat blue mountain illustration in the lower center., bbox: [-192, -288, 384, 288] } ], bbox_coord_space: abs_centralized, bbox_format: yxyx }字段含义summary.caption整体场景与风格描述meta为媒介/类型标签canvas取single/multi_panel/collageitems各元素的label、caption和bbox需要生成文字时使用text指定内容label取值为object、character或textbbox_format: yxyx框坐标顺序为[y_min, x_min, y_max, x_max]bbox_coord_space: abs_centralized以画布中心为原点的像素坐标。对于 1024×1024 画布两轴范围均为 −512 到 512x 向右、y 向下递增。对于宽 W、高 H 的画布将常规左上角原点的 x 坐标减去 W/2、y 坐标减去 H/2 即可转换。使用注意框坐标必须与指定输出尺寸一致。在 Gradio 中粘贴 JSON 后需设置对应的宽高Python API 传入方式将json.dumps(layout, ensure_asciiFalse)作为提示词字符串传入用户指南特别说明官方选择绝对像素坐标而非相对坐标做布局控制认为这种表示更适合不同分辨率和长宽比下的布局模型支持自然语言和结构化语言的混合输入。用官方 Skill 自动编译 Layout手算中心化坐标容易出错。仓库随附的 Prompt Enhancer Skill 提供了本地编译脚本 compile_prompt.py可以把人类友好的草稿自动转换为模型输入格式python3 skills/moss-image-prompt-enhancer/scripts/compile_prompt.py draft.json --output prompt.txt从 compile_prompt.py 的源码看其工作方式是草稿使用左上角原点、绝对像素坐标bbox_coord_spaceabs、bbox_formatxyxywidth/height必须为 16 的正整数倍且等于最终生成尺寸编译器对分数像素边做左/下取整、右/上取整后再减去W/2、H/2输出单行紧凑 JSON坐标空间自动改为abs_centralized、格式改为yxyx对未知字段、越界框、非正宽高、text项缺少text字段等情况直接报错退出而不是静默裁剪或丢弃草稿还支持纯 caption 模式仅含{caption: ...}输出即为纯文本提示词。references/layout.md 中给出了一个 1536×1024 横版产品图的完整草稿示例一个陶瓷杯物体项与两条中文文字项含\n换行其中杯子的草稿框[176, 224, 800, 864]经转换后得到[-288, -592, 352, 32]与上文的手动换算规则完全一致。将 skill 目录安装到代理的技能目录后使用$moss-image-prompt-enhancer提供图像需求、caption 或 Layout 输出要求及画布尺寸把编译结果粘贴到 MOSS-Image 的正向提示词中使用 Layout 时生成尺寸应与草稿一致。该 Skill 只做文字/坐标编译不调用任何图像生成服务。ComfyUI 原生插件仓库内置 MOSS-Image 的 ComfyUI 原生插件comfyui/README_ZH.md插件可直接读取本地 Hugging Face / Diffusers 模型目录输出标准 MODEL、CLIP、VAE配合 ComfyUI 原生采样、SLG 与显存管理使用。三种安装方式在ComfyUI Manager中搜索MOSS-Image安装手动复制将comfyui/moss-image/复制到ComfyUI/custom_nodes/moss-image/重启 ComfyUI或在仓库根目录执行python comfyui/install.py --comfy-root /path/to/ComfyUI建立链接本地一键环境bash comfyui/local/setup.sh bash comfyui/local/run.shcomfyui/local/setup.sh 会在目录不存在时克隆一个独立的 ComfyUI 到 Git 忽略的local/ComfyUI/创建独立环境并安装依赖与节点不覆盖已有同名文件MOSS_PYTHON指定解释器UV_INDEX_URL指定依赖源COMFYUI_ROOT可指向已有 ComfyUI 安装。工作流使用步骤下载 moss-image.json 拖入 ComfyUI另有 API 格式 JSON 供程序提交下载 MOSS-Image-Base 权重在MOSS-Image HF Loader的model_path中填写本地模型目录应包含transformer/、text_encoder/、tokenizer/、vae/修改正负向提示词后点击Run。示例工作流已配置50 步、CFG 3、Shift 5、负向跳过第 22 层使用 Euler / sgm_uniform 采样分辨率 1024×1024。从 comfyui/moss-image/nodes.py 可见节点实现了MOSSImageUNETLoader、MOSSImageCLIPLoader加载 Qwen3.5 文本编码器、MOSSImageHFDiTLoader等weight_dtype控制 DiT 精度、text_device控制文本编码设备VAE 固定 FP32文本编码最长 4096 tokens。README 还提示了一个兼容性细节ComfyUI 的 SLG 区间采用 sigma 百分比语义其原生 scheduler 不包含独立 pipeline 的训练网格吸附因此即使 seed 和参数相同也不保证与 Python API 生成完全相同的图片。引用与许可如果你在研究中使用 MOSS-Image官方建议引用misc{mossimage2026, title {MOSS-Image}, author {{OpenMOSS Team}}, year {2026}, howpublished {\url{https://github.com/OpenMOSS/MOSS-Image}} }推理代码采用 Apache License 2.0官方感谢 Diffusers、Qwen 和 FLUX 团队。技术报告 PDF 位于 paper/MOSS_Image_Technical_Report.pdf。小结MOSS-Image 的实用主线可以概括为用pipeline_moss_image加载 5B DiTbf16 FP32 VAE按「50 步 / CFG 3 / Shift 5 / 跳第 22 层」的推荐参数出图显存紧张时切换 Component 或 Sequential 模式需要精确排版时把summaryitems的 JSON Layout 作为提示词传入并用绝对中心像素坐标描述文字与物体的位置复杂草稿可借助 skills/moss-image-prompt-enhancer 的编译脚本完成坐标换算。配合 Gradio 界面、ComfyUI 插件与每次生成落盘的parameters.json元数据整套流程在可复现性上形成了闭环。赞分享【免费下载链接】MOSS-ImageOfficial repository for MOSS-Image, a 5B-parameter base DiT model with high-quality text rendering, layout generation, and efficient fine-tuning.项目地址https://gitcode.com/gh_mirrors/mo/MOSS-Image点击查看免费下载相关推荐MOSS-Image 实战指南5B DiT 文生图模型的推理部署、采样调参与 JSON Layout 布局控制MOSS Image 实战指南5B DiT 文生图模型的推理部署、采样调参与 JSON Layout 布局控制 本文围绕 MOSS Image 官方仓库的主文MOSS-Image-Base 使用指南推理参数调优、Prompt 规范与 Layout 布局控制实战MOSS Image Base 使用指南推理参数调优、Prompt 规范与 Layout 布局控制实战 本篇基于 MOSS Image 官方仓库的 USERGMOSS-Image-Base布局到图像实战用JSON Layout精准控制文字位置与物体排布的完整指南MOSS Image Base布局到图像实战用JSON Layout精准控制文字位置与物体排布的完整指南 MOSS Image Base 是 OpenMOSS人工智能大模型基础模型媒体生成上一篇【亲测免费】 探索Malcolm一款强大的恶意代码分析框架下一篇【亲测免费】 推荐开源项目FastAPI-Utils - 提升你的FastAPI开发效率创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。