Create MULTIPLE Figma elements in a SINGLE round-trip.
THIS IS THE PRIMARY TOOL — use it for ALL designs.
════════════════════════════════════════════════════════════
KEY CAPABILITY: supports NESTED CHILDREN inside frames.
This lets you build full component trees in one call:
{
"type": "frame", "name": "Card", "x":100,"y":100,"width":320,"height":200,
"fill":"#1E1E2E", "cornerRadius":16,
"children": [
{"type":"rectangle","x":0,"y":0,"width":320,"height":4,"fill":"#7C3AED"},
{"type":"text","content":"Hello","x":16,"y":20,"fontSize":18,"color":"#FFFFFF"},
{"type":"ellipse","x":270,"y":12,"width":40,"height":40,"fill":"#3B82F6"}
]
}
Children x/y are RELATIVE to their parent frame.
Nesting works to any depth.
════════════════════════════════════════════════════════════
── SCREENSHOT → FIGMA WORKFLOW ────────────────────────────────────────────
Share any screenshot or describe any UI. The AI will:
1. Analyze the layout, colors, typography, spacing
2. Generate a complete `elements` array representing the design
3. Fire ONE batch_create call → complete Figma reproduction
── Supported types ────────────────────────────────────────────────────────
"frame" container / artboard (supports children)
"rectangle" box, card, button, divider, progress bar
"ellipse" circle, avatar, badge dot, arc/donut ring segment
"vector" ANY curved/custom shape via SVG path string (waves, icons, charts)
"text" any text content
"line" horizontal separator
── Shape properties ───────────────────────────────────────────────────────
fill / hexColor hex solid fill color e.g. "#1A1D2E"
fillOpacity 0–1 fill alpha (0.05–0.15 for glass)
noFill bool transparent fill (for stroke-only rings)
gradient dict {angle:0-360, stops:[{color,position,opacity}]}
cornerRadius int rounded corners px (frame/rect only)
stroke hex border color
strokeWidth int border px
strokeOpacity 0–1 border alpha (0.1–0.25 for glass)
opacity 0–1 node opacity
name str layer name
── Ellipse arc properties (for donut/pie segments) ────────────────────────
arcStartAngle float degrees, 0=top(12 o'clock), clockwise
arcEndAngle float degrees, 0=top(12 o'clock), clockwise
arcInnerRadius float 0=full pie, 0.5–0.8=donut ring
── Vector / SVG path properties ───────────────────────────────────────────
pathData str SVG path string (M,L,C,Q,A,Z commands)
windingRule str 'NONZERO' (default) | 'EVENODD'
── Effects ────────────────────────────────────────────────────────────────
shadow {color,x,y,blur,spread,opacity}
innerShadow {color,x,y,blur,spread,opacity}
blur float layer blur radius
backgroundBlur float frosted glass (use with fillOpacity < 1)
── Text properties ────────────────────────────────────────────────────────
content / text str text characters
color / hexColor hex text fill color
fontSize int 10–14 caption, 16–20 body, 24–48 heading, 56+ hero
fontStyle str Regular|Medium|SemiBold|Bold|ExtraBold|Light|Italic
textAlign str left|center|right
letterSpacing float px spacing (1–4 for uppercase labels)
lineHeight float px line height
── Glassmorphism recipe ──────────────────────────────────────────────────
{
"type":"rectangle",
"fill":"#FFFFFF", "fillOpacity":0.08, "cornerRadius":16,
"stroke":"#FFFFFF", "strokeOpacity":0.12, "strokeWidth":1,
"backgroundBlur":20,
"shadow":{"color":"#000000","x":0,"y":8,"blur":32,"spread":0,"opacity":0.4}
}
── Wave / Area Chart recipe ────────────────────────────────────────────────
{
"type":"vector",
"pathData":"M 0,120 C 50,60 90,140 140,80 C 190,20 240,100 290,50 L 290,160 L 0,160 Z",
"x":0,"y":0,"width":300,"height":160,
"gradient":{"angle":180,"stops":[{"color":"#8B5CF6","position":0,"opacity":0.9},{"color":"#1C1E2A","position":1,"opacity":0}]},
"shadow":{"color":"#7C3AED","x":0,"y":0,"blur":24,"spread":0,"opacity":0.7}
}
── Multi-color Donut Ring recipe ───────────────────────────────────────────
Stack three ellipses at the same x/y with different arc angles and stroke colors:
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
"stroke":"#10B981","strokeWidth":16,"arcStartAngle":0,"arcEndAngle":120,"arcInnerRadius":0.68}
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
"stroke":"#F59E0B","strokeWidth":16,"arcStartAngle":130,"arcEndAngle":230,"arcInnerRadius":0.68}
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
"stroke":"#7C3AED","strokeWidth":16,"arcStartAngle":240,"arcEndAngle":350,"arcInnerRadius":0.68}
Returns: {success:bool, nodeIds:[...], count:int, errors:[...]}