1. moss-image.com
  2. API 接入

MOSS-Image API 接入指南

通过官方 MOSI 平台在自己的代码里调用 MOSS-Image:接口地址、全部参数、布局请求、错误码,以及关于重试的一条关键规则。

OpenMOSS 通过自己的 MOSI 平台提供 MOSS-Image API。 一次同步 POST 请求返回一张 PNG,普通提示词和 JSON 布局使用同一个接口。本页总结了官方接口文档;本站的在线生成器正是基于这个 API 构建的,写代码前可以先在那里试遍所有参数。

快速开始

  1. 登录 platform.mosi.cn,打开 API Keys 创建密钥。
  2. 把密钥存为环境变量——不要写进前端代码或提交到代码仓库。
  3. 发起请求:
export MOSS_API_KEY="your-key"

curl --max-time 900 -X POST "https://api.mosi.cn/v1/images/generations" \
  -H "Authorization: Bearer $MOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moss-image-sft-1.0",
    "prompt": "一张极简风咖啡馆海报,奶油色纸张。大标题写着“慢一点”。",
    "negative_prompt": "nsfw, worst quality, bad anatomy, watermark, jpeg artifact",
    "size": "1024x1024",
    "n": 1,
    "response_format": "url",
    "output_watermark": { "enabled": false }
  }'

响应中的 data[0].url 是图片地址,usage 中是实际尺寸。请及时下载 PNG。

模型

模型 ID版本说明
moss-image-sft-1.0SFT推荐用于生成
moss-image-base-1.0Base原始基础模型
moss-image-sft-1.0-2026-10-09SFT 快照固定版本以便复现
moss-image-base-1.0-2026-10-09Base 快照固定版本以便复现

请求参数

字段类型必填说明
modelstring是上表中的模型 ID
promptstring是最多 4,000 字符;普通文本或序列化后的布局 JSON
negative_promptstring否最多 4,000 字符
prompt_enhanceboolean否true 时先用内置增强改写提示词再生图,默认 false
sizestring否宽x高,每边 256–2048 且为 16 的倍数,总像素 ≤ 2,097,152。默认 1024x1024
ninteger否仅支持 1
seedinteger否0 到 2⁵³−1,不传则随机
num_inference_stepsinteger否1–100
guidance_scalenumber否0–10,显式传 0 有效
response_formatstring否仅支持 url
output_watermarkobject否传 {"enabled": false} 关闭默认可见水印

布局请求

把布局 JSON 序列化为字符串放进 prompt,并让 size 与坐标所对应的画布一致。保持 prompt_enhance 关闭,确保边界框原样传给模型。

import json, os, requests

layout = {
    "summary": {"meta": ["poster"], "canvas": "single",
                "caption": "一张极简旅行海报,奶油色背景。"},
    "items": [
        {"label": "text", "caption": "顶部的深蓝色大标题。",
         "text": "去远方", "bbox": [-416, -384, -288, 384]},
        {"label": "object", "caption": "扁平风格的蓝色山峦插画。",
         "bbox": [-192, -288, 384, 288]},
    ],
    "bbox_coord_space": "abs_centralized",
    "bbox_format": "yxyx",
}

resp = requests.post(
    "https://api.mosi.cn/v1/images/generations",
    headers={"Authorization": f"Bearer {os.environ['MOSS_API_KEY']}"},
    json={
        "model": "moss-image-sft-1.0",
        "prompt": json.dumps(layout, ensure_ascii=False),
        "size": "1024x1024",
        "n": 1,
        "response_format": "url",
    },
    timeout=900,
)
resp.raise_for_status()
print(resp.json()["data"][0]["url"])

可以在我们的布局编辑器里可视化地画好布局再复制 JSON。坐标规则见布局教程。

JavaScript(服务端)

const res = await fetch('https://api.mosi.cn/v1/images/generations', {
  method: 'POST',
  signal: AbortSignal.timeout(900_000),
  headers: {
    Authorization: `Bearer ${process.env.MOSS_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'moss-image-sft-1.0',
    prompt: '雨夜街头,一块粉色霓虹招牌写着“深夜营业”。',
    size: '1344x768',
    n: 1,
    response_format: 'url',
  }),
});
const { data, usage } = await res.json();
console.log(data[0].url, usage.output_width, usage.output_height);

请在服务端调用 API。把密钥暴露在浏览器里,任何人都能消耗你的额度。

错误码

HTTPerror.code处理方式
400invalid_field_value检查字段名、类型或取值范围;使用快照模型时不要另传 version。
403forbidden检查 API 密钥和 Authorization: Bearer 请求头。
403safety_guardrail_blocked被平台安全审核拦截,请修改提示词。
403prompt_enhancement_refused提示词增强拒绝了请求,改用 prompt_enhance: false 重试。
404resource_not_found结果资源不存在,请重新提交。
429concurrency_limit_exceeded / rate_limit_exceeded等待进行中的任务完成,并降低请求频率。
502prompt_enhancement_incomplete / upstream_invalid_result保留请求标识并联系 MOSI。

关于重试的规则

生成是同步的,可能需要一段时间。官方文档特别提醒:超时或断连时任务可能仍在执行,因此不要自动重试,否则可能重复扣费。如果已经拿到图片 URL 只是下载失败,请重试下载。客户端超时请设置得足够长(官方示例为 900 秒)。

其他选择

一些第三方推理平台也提供 MOSS-Image,通常按张计价,并附带 LoRA 接口等功能。选择前请对比它们的模型版本、分辨率档位和数据政策。如果不想自己维护任何基础设施,本站的在线生成器按张计费、无需订阅,详见价格。

参数与错误码已于 2026 年 10 月 26 日对照 MOSI API 文档核实。平台可能变更,请以官方文档为准。

常见问题

MOSS-Image 有官方 API 吗?

有。自 2026 年 10 月 20 日起,MOSI 平台(platform.mosi.cn)通过 POST https://api.mosi.cn/v1/images/generations 提供 MOSS-Image,使用 Bearer 密钥鉴权。

MOSS-Image API 怎么收费?

截至 2026 年 10 月 27 日免费:MOSI 平台上两个 MOSS-Image 模型页的计费均为“限时免费,0 积分”,模型处于 Beta 阶段。官方没有公布结束日期或之后的图片单价,大规模使用前请重新查看模型页。

API 支持哪些尺寸?

宽高 256–2048 像素且为 16 的倍数,总像素不超过 2,097,152。每次请求返回一张 PNG 图片的 URL。

API 会加水印吗?

默认会。传入 "output_watermark": {"enabled": false} 即可关闭可见水印。

参考资料