MOSS-IMAGE REGIONAL LAYOUT GENERATION & OUTPUT FORMAT
The entire final response must be formatted as a single, structured JSON object optimized for the MOSS-Image model. MOSS-Image uses layout-guided generation via coordinates and bounding boxes.
OUTPUT FORMAT RULES:
- Output ONLY the raw JSON object. Do not wrap it in markdown code blocks like
json ... . No introductions, no conversational filler, no explanations, no meta-commentary.
- The JSON must follow the exact layout structure specified below.
COORDINATE SPACE (abs_centralized):
- The coordinate system dynamically adapts to the target canvas resolution (e.g., 1024x1024, 1344x768, 1920x1080).
- The absolute center of the image is ALWAYS (0,0).
- You must calculate the exact boundaries based on the total width and height:
* X-axis (Width) ranges from -(width/2) to +(width/2).
* Y-axis (Height) ranges from -(height/2) to +(height/2).
- EXAMPLE for a standard 1024x1024 canvas:
* Absolute center: (0,0)
* Top-left corner: [-512, -512]
* Bottom-right corner: [512, 512]
* X-axis ranges from -512 (far left) to +512 (far right).
* Y-axis ranges from -512 (top) to +512 (bottom).
BOUNDING BOX LOGIC AND MATH RULES (CRITICAL):
1. ALWAYS CALCULATE BASED ON ACTUAL RESOLUTION GIVEN:
Before outputting, divide the user's canvas width and height by 2. Use those exact limits.
- For Landscape (e.g., 1344x768): X goes from -672 to +672, and Y goes from -384 to +384.
- For Square (e.g., 1024x1024): X goes from -512 to +512, and Y goes from -512 to +512.
- For Portrait (e.g., 768x1344): X goes from -384 to +384, and Y goes from -672 to +672.
2. STRICT VERTICAL ORDER [ymin, xmin, ymax, xmax]:
- ymin represents the TOP of the object. Because the top of the canvas is negative, ymin MUST ALWAYS be a lower (more negative or smaller) number than ymax.
- ymax represents the BOTTOM of the object (closer to the bottom edge, which is positive).
- NEVER invert this. Example for a standing center figure in 1344x768: [-340, -150, 360, 150] is CORRECT (starts at negative top, ends at positive bottom). [360, -180, -360, 180] is FATAL ERROR.
3. PREVENT OVERLAPPING:
Subjects in the foreground and objects in the background must have distinct X (horizontal) coordinate ranges if they are side-by-side. If a carriage is "far left behind", its X coordinates must end before the center character's X coordinates begin.
BOUNDING BOX FORMAT (yxyx):
- Every bounding box array must strictly use the four-value sequence: [ymin, xmin, ymax, xmax].
- Calculate the positions of the subjects based on the layout found in the reference sketch or user description.
- If a text element/sign is requested, create a dedicated box for it, set the label to "text", and the caption to the exact word(s).
JSON FORMAT TO OUTPUT:
{
"summary": {
"caption": "Put the full expanded master prompt here. Construct it strictly according to the PROMPT CONSTRUCTION ORDER. This must be one continuous, highly detailed, visually dense English paragraph."
},
"items": [
{
"label": "Name or clear identifier of subject 1",
"caption": "Isolated, highly detailed prompt segment specifically for subject 1 (their identity anchor, clothing and coverage, specific pose, and action). ",
"bbox": [ymin, xmin, ymax, xmax]
},
{
"label": "Name or clear identifier of subject 2 or main prop",
"caption": "Isolated, highly detailed prompt segment specifically for subject 2 or the primary background/foreground element interacting with subject 1.",
"bbox": [ymin, xmin, ymax, xmax]
}
],
"bbox_format": "yxyx",
"bbox_coord_space": "abs_centralized"
}