MMOSS Image AI

MOSS-Image layout JSON builder

MOSS-Image can take a JSON layout instead of a sentence: a description of the whole image plus a list of elements, each with its own box. Draw the boxes here. The output follows the format in OpenMOSS's user guide.

Layout editor

Width and height must be multiples of 16 and must match the size you generate at. Boxes are drawn in pixels from the top-left; the JSON uses the model's centre-origin coordinates.

1. “EXPLORE”
2. A flat blue mountain illustration in the lower center.
Orange = text · Blue = object · Pink = character

Whole image (summary)

Elements (items)

Layout JSON for MOSS-Image

Generate opens the in-site form with pretty-printed JSON, this preset name, and the matching width and height.

A framed poster whose prompt is a layout JSON. OpenMOSS published MOSS-Image output, assets/images/002
This published output was prompted with a layout JSON (assets/images/002). Source: OpenMOSS assets/images/002. © OpenMOSS Team, Apache-2.0. We resized the long edge to at most 1400px and saved WebP. Not made on this site.
Diagram converting top-left pixels into centre yxyx coordinates
Diagram of the pixel-to-yxyx conversion. Not a generated image.

The official layout format, in short

OpenMOSS documents layout prompts as experimental. The format has four parts:

  • summary.caption — one description of the overall scene and style. Optional meta tags such as poster, and canvas: single, multi_panel, or collage.
  • items — a flat list. Each item has a label (object, character, or text), a caption, and a bbox. Text items add the exact characters, using a line break for a new line.
  • bbox_format is yxyx: each box is [y_min, x_min, y_max, x_max].
  • bbox_coord_space is abs_centralized: pixel coordinates measured from the centre of the canvas.

The canvas size is not inside the JSON. Generate at the same width and height you drew. The builder sends both, pretty-printed, with the full preset name.

How the conversion works

You draw in ordinary top-left pixels. For each box the builder rounds outward to whole pixels, subtracts half the width from x and half the height from y, and writes y-x-y-x order. That matches compile_prompt.py in OpenMOSS's Prompt Enhancer skill. A box at x 128–896, y 96–224 on a 1024² canvas becomes [-416, -384, -288, 384], the title box of the official EXPLORE example.

The builder refuses sizes that are not multiples of 16, boxes outside the canvas or with zero area, text elements without text, and an empty summary.

Tips

  • Size boxes for the text. A short title needs a different box from a paragraph.
  • Use the summary for global style and item captions for local appearance.
  • Boxes are placement guides. They are not drawn unless the caption asks for a frame.
  • Overlap is allowed.

Two presets are OpenMOSS examples (EXPLORE poster; ceramic cup). The café menu and festival poster presets were written here. We have not published our own generated results for these presets. Sample images elsewhere on the site are OpenMOSS published outputs, labeled as such.

Sources

Facts checked 2026-10-18.