Design
Create an editable graphic DESIGN (render_design) in a MockFlow IdeaBoard design frame: posters, flyers, banners, social posts and ads (Instagram, Facebook, LinkedIn, X, Pinterest, TikTok), YouTube…
Send "type": "design".
Create an editable graphic DESIGN (render_design) in a MockFlow IdeaBoard design frame: posters, flyers, banners, social posts and ads (Instagram, Facebook, LinkedIn, X, Pinterest, TikTok), YouTube thumbnails, menus, infographics, memes, podcast/album/book covers, product listing images, business cards, invitations, brand layouts. You write ONE page of positioned text, shapes, pictures and lines as JSON, never HTML or CSS; MockFlow draws it and the user edits every element afterwards. For UI screens use render_wireframe; for a single picture use render_image.
Also available as the MCP tool render_design. The same payload works through either surface.
Fields
titlestringShort design name shown as the frame title
wnumberrequiredCanvas width in px
hnumberrequiredCanvas height in px
bgstring | objectPage background: "#rrggbb" or a gradient object
bgImgobjectPage picture behind everything {"src","op"} (keep it when modifying)
lookobjectShared look of pictures that belong together: {"style","cast":[{"id","description"}]} (keep it, with any "ref", when modifying)
elsobject[]requiredThe elements in drawing order (first at the back)
Child attributes
idstringOnly when modifying: the id of an element kept from the existing page
typeenum<string>requiredOne of text, shape, image, line, icon, chart, table, qr or map.
xnumberrequiredynumberrequiredwnumberrequiredhnumberrotnumberopnumbertextstringfontstringsizenumberweightnumbercolorstringalignenum<string>One of left, center or right.
lhnumberlsnumberupperbooleanitalicbooleanshapestringfillstring | object"#rrggbb", "none", a gradient object or a pattern {"type":"pattern",...}; on text a gradient across the letters
listenum<string>Text: each line a list item. One of bullet or number.
accentstringText: the colour of ==marked== words
strokestring | objectShape/image outline colour, or for text {"color","w"}
swnumberradiusnumbersrcstringImage: a picture URL, or "mfimg::" plus a description when this render includes imagery
fitenum<string>One of cover or contain.
maskstringfilterstringshadowobjecticonstringIcon: a name from the icon list in the description (another word draws the closest)
stylestringIcon: solid | line. Line: straight | curve | elbow | wave | zigzag | sketch
color2stringIcon: duotone second colour
bendnumberLine: how far a curve or elbow strays (-100..100)
fromstringLine: id of the element it starts at (a connector)
tostringLine: id of the element it ends at (a connector)
kindenum<string>Chart kind. One of column, grouped, stacked, bar, line, area, pie, donut, scatter, radar, heatmap, treemap, waffle, progress, ring or gauge.
dataobject[] | stringChart: rows [{"label","value","values":[...],"x"}]. QR: the link or text it opens
seriesstring[]Chart: the series names when rows carry "values"
rowsstring[][]Table: rows of cells, the first the header
headbooleanheadBgstringheadColorstringstripestringregionsobject[]Map: [{"id":"US","value":27.4}] by ISO two-letter code
pinsobject[]Map: [{"lat","lng","label"}]
focusstring[]Map: country codes to frame
lookenum<string>Map: filled countries, a dotted map or outlines. One of flat, dots or outline.
landstringlowstringinkstringcolorsstring[]trackstringunitstringprefixstringmaxnumbervaluesbooleanlabelsbooleangstringGroup name: elements sharing one move and select together
namestringThe layer name shown in the layers panel
decoenum<string>One of underline or strike.
bgstring | objectText: a box behind the words {"color","pad","radius"}. QR: the background colour. Icon: a badge {"shape","color"}
dashenum<string>One of solid, dashed or dotted.
cap1enum<string>One of none, arrow, open, diamond, bar, round or circle.
cap2enum<string>One of none, arrow, open, diamond, bar, round or circle.
promptstringImage: what the picture shows (kept for Fill images)
caststring[]Image: ids from the look's cast that appear in it
oxnumberoynumberzoomnumbernwnumbernhnumberflipXbooleanflipYbooleanlockbooleanhiddenbooleanExample
{
"type": "design",
"data": {
"title": "Q4 Launch Planning",
"w": 0,
"h": 0,
"bg": "string",
"bgImg": {},
"look": {},
"els": [
{
"id": "string",
"type": "text",
"x": 0,
"y": 0,
"w": 0,
"h": 0,
"rot": 0,
"op": 0,
"text": "Interview 5 users",
"font": "string"
}
]
}
}