This is the interactive builder.Need every field explained first?
Read the JSON Layout reference
TEMPLATE BUILDER

Choose a layout, then make it yours

Each template uses a 1024×1024 canvas, yxyx boxes, and coordinates measured from the canvas center.

Menu Card

JSON preview1628 characters
{
  "summary": {
    "caption": "A cream paper café menu card photographed from above on a wooden table, warm natural light, refined editorial food photography."
  },
  "items": [
    {
      "label": "text",
      "caption": "Large Chinese title centered at the top",
      "text": "今日特调",
      "bbox": [
        -380,
        -420,
        -240,
        420
      ]
    },
    {
      "label": "text",
      "caption": "Small English subtitle below the title",
      "text": "TODAY'S SPECIAL",
      "bbox": [
        -220,
        -400,
        -140,
        400
      ]
    },
    {
      "label": "text",
      "caption": "First menu item aligned left",
      "text": "桂花拿铁 Osmanthus Latte",
      "bbox": [
        -100,
        -420,
        -40,
        200
      ]
    },
    {
      "label": "text",
      "caption": "First price aligned right",
      "text": "$6.50",
      "bbox": [
        -100,
        220,
        -40,
        400
      ]
    },
    {
      "label": "text",
      "caption": "Second menu item aligned left",
      "text": "抹茶芝士蛋糕 Matcha Cheesecake",
      "bbox": [
        0,
        -420,
        60,
        200
      ]
    },
    {
      "label": "text",
      "caption": "Second price aligned right",
      "text": "$8.00",
      "bbox": [
        0,
        220,
        60,
        400
      ]
    },
    {
      "label": "text",
      "caption": "Small availability note near the bottom",
      "text": "每日限量 · while supplies last",
      "bbox": [
        120,
        -400,
        180,
        400
      ]
    }
  ],
  "bbox_format": "yxyx",
  "bbox_coord_space": "abs_centralized"
}
Open in studio

Need custom coordinates? Read the JSON Layout reference for field rules, coordinate ranges, and common mistakes.

Choose a template for the visual job

Menu Card separates two bilingual items from their prices. Poster gives a headline, event information, and call to action distinct regions. Product Label keeps the brand, product name, two short details, and net-weight line separate.

Start with the template closest to your composition. Keep exact wording short, then change one field at a time after the first result.

Centered coordinates on a 1024 × 1024 canvas

Every box uses yxyx order: [top, left, bottom, right]. With abs_centralized, the canvas center is zero, the top-left corner is near [-512, -512], and the bottom-right corner is near [512, 512].

The templates use broad, non-overlapping regions to give the model room. For custom boxes, canvas-specific ranges, and validation errors, use the full JSON Layout reference.

Use layout as guidance, then proofread

OpenMOSS describes JSON layout prompts as experimental. A bounding box communicates the intended region; it does not guarantee design-software precision. Always check spelling, prices, coordinates, and visual hierarchy before publishing a result.