Install
openclaw skills install gigma-design-canvasAI-powered design tool with a real editable canvas and full MCP control. Create, edit, and export social media graphics, thumbnails, banners, cards, and batch designs. 19 MCP tools: add shapes, text, images with masks, layer control, screenshot preview, PNG export up to 3x. Use when the user says 'design an image', 'create a poster', 'make a thumbnail', 'social media graphic', 'batch design', 'create banner', 'Instagram post', 'YouTube thumbnail', or wants to create/edit visual designs programmatically.
openclaw skills install gigma-design-canvasSay goodbye to Figma MCP's read-only screenshots. Gigma is a cloud design tool built for AI agents — you get a real editable canvas with full MCP control. Create shapes, add text, insert images, arrange layers, preview with screenshots, and export high-res PNGs — all through natural conversation.
https://gigma.10xboost.org/mcp/t/xxxxx...). Treat it like a password — do not share it publicly.add_image) are fetched server-side to render on the canvas.| Figma MCP | Gigma | |
|---|---|---|
| Canvas control | Read-only screenshots | Full read/write |
| Create elements | Limited | Shapes, text, images, lines |
| Edit elements | No | Update any property |
| Image masking | No | Circle, ellipse, rounded rect |
| Export | Screenshot only | PNG up to 3x (5760×3240) |
| Batch design | No | Clone projects, loop & export |
| Setup | Complex OAuth | Paste MCP link, done |
Setup guide: gigma-doc.10xboost.org
| Tool | Description |
|---|---|
list_projects | List all projects with metadata |
create_project | Create new project (supports cloning from existing for templates) |
switch_project | Switch active project |
| Tool | Description |
|---|---|
get_canvas_info | Get canvas dimensions, background color, element count |
set_canvas | Set canvas width, height, background color |
| Tool | Description |
|---|---|
add_element | Add shapes (rect, circle), text, images, or lines with full styling |
add_image | Insert image with masking (circle, ellipse, roundedRect) and stroke |
list_elements | List all elements on canvas |
get_element | Get full properties of an element |
update_element | Modify any property of an existing element |
delete_element | Remove an element |
delete_all_elements | Clear the entire canvas |
| Tool | Description |
|---|---|
reorder_layer | Move element: front, back, forward, backward |
select_element | Highlight element in web editor |
deselect_all | Clear all selections |
| Tool | Description |
|---|---|
get_screenshot | Preview canvas as base64 PNG (verify before export) |
export_canvas | Export to Google Cloud Storage (PNG, 1x/2x/3x scale, 7-day URL) |
create_project(name: "Instagram Post")
set_canvas(width: 1080, height: 1080, backgroundColor: "#1a1a2e")
Common canvas sizes:
| Format | Size |
|---|---|
| Instagram Post | 1080×1080 |
| Instagram Story | 1080×1920 |
| Facebook Post | 1200×630 |
| YouTube Thumbnail | 1280×720 |
| LinkedIn Post | 1200×627 |
| Presentation Slide | 1920×1080 |
Add a background shape:
add_element(type: "rect", x: 0, y: 0, width: 1080, height: 1080, fillColor: "#4A90D9")
Add text:
add_element(type: "text", x: 100, y: 200, width: 880, height: 100, text: "Your Headline Here", fontSize: 64, fontWeight: "bold", fillColor: "#FFFFFF", textAlignment: "center")
Add an image with circular mask:
add_image(url: "https://example.com/photo.jpg", x: 400, y: 400, width: 280, height: 280, maskShape: "circle", strokeColor: "#FFD700", strokeWidth: 6)
Add decorative elements:
add_element(type: "circle", x: -100, y: -100, width: 400, height: 400, fillColor: "#16213e", opacity: 0.5)
Recommended stacking order (bottom to top):
reorder_layer(elementId: "<text_id>", action: "front")
Always verify before exporting:
get_screenshot()
This returns a base64 PNG — check layout, colors, and text positioning.
export_canvas(format: "png", scale: 2)
Scale options:
Returns a signed URL valid for 7 days.
Create multiple variations from a template:
create_project(name: "Quote Template")
set_canvas(width: 1080, height: 1080, backgroundColor: "#2C3E50")
add_element(type: "rect", ...) → save elementId as bg_id
add_element(type: "text", text: "Quote here", ...) → save as quote_id
add_element(type: "text", text: "— Author", ...) → save as author_id
For each variation:
update_element(elementId: bg_id, fillColor: "#new_color")
update_element(elementId: quote_id, text: "New quote text")
update_element(elementId: author_id, text: "— New Author")
export_canvas(format: "png", scale: 2)
Each export_canvas returns a unique signed URL — collect all for the user.
Pro tip: Use create_project(cloneFromId: "<template_id>") to clone a template project for non-destructive batch creation.
x, y, width, height, fillColor, strokeColor, strokeWidth, opacity, rotation
x, y, width, height, text, fontSize, fontWeight ("normal"/"bold"), textAlignment ("left"/"center"/"right"), fillColor, opacity, rotation
url/imageUrl, x, y, width, height, maskShape ("circle"/"ellipse"/"roundedRect"), strokeColor, strokeWidth, opacity, rotation
x, y, width, height, strokeColor, strokeWidth, opacity, rotation
get_screenshot after every 2-3 elements to catch issues earlyupdate_element instead of delete + addadd_element for later updates/deletes| Error | Solution |
|---|---|
| Token validation failure (-32001) | MCP link invalid — get a new one from gigma.10xboost.org |
| Element not found | Use list_elements to get current element IDs |
| Image not loading | Ensure the image URL is publicly accessible (HTTPS) |
| Export failed | Check canvas has elements; try get_screenshot first |
Full docs: gigma-doc.10xboost.org