figma_batch
Combine up to 200 Figure create, modify, and variable operations into a single API call to avoid repeated round-trips.
Instructions
Batch multiple create, modify, and variable operations in one round-trip. Max 200 ops. ALWAYS prefer this over calling individual tools in a loop. Use "$ref:N" to reference node ID from operation N. create_frame/create_component support nested "children" and inline auto-layout params.
Commands: create_frame, create_rectangle, create_ellipse, create_text, create_component, create_instance, create_line, create_path, create_from_svg, move_node, resize_node, set_fill, set_stroke, set_opacity, set_visible, set_corner_radius, set_text_content, set_text_style, set_auto_layout, set_effects, rename_node, delete_node, clone_node, group_nodes, reparent_node, set_constraints, bind_variable, create_variable, set_variable_value, create_style, apply_style, apply_style_by_name, delete_style, rename_style, set_annotation, import_component_by_key, import_style_by_key.
Param names in batch must match the plugin function signatures exactly:
create_text: {content, ...} or {text, ...} — both accepted for the text string
set_text_content: {nodeId, content} or {nodeId, text} for single, or {updates: [{nodeId, content}, ...]} for batch
create_path: {points: [{x,y},...], curveType?, closed?, strokeColor?, strokeWeight?, fillColor?, name?, parentId?}
import_component_by_key: {componentKey, x?, y?, parentId?, name?} (also accepts 'key' as alias for componentKey)
clone_node: {nodeId, offsetX?, offsetY?, newName?}
delete_node: {nodeId} for single, or use delete_multiple_nodes with {nodeIds: [...]}
IMPORTANT: Only FRAME, GROUP, COMPONENT, and PAGE nodes can be parents. Use create_frame (not create_rectangle) when you need children inside a shape (e.g. a pill/badge with a label).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| operations | Yes |