Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Create, export, and manage Canva designs via the Connect API. Generate social posts, carousels, and graphics programmatically.
Create, export, and manage Canva designs via the Connect API. Generate social posts, carousels, and graphics programmatically.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Create, export, and manage Canva designs via the Connect API.
"Create an Instagram post about [topic]" "Export my Canva design as PNG" "List my recent designs" "Create a carousel from these points" "Upload this image to Canva"
Create a Canva Integration: Go to https://www.canva.com/developers/ Create a new integration Get your Client ID and Client Secret Set Environment Variables: export CANVA_CLIENT_ID="your_client_id" export CANVA_CLIENT_SECRET="your_client_secret" Authenticate (first time): Run the auth flow to get access tokens (stored in ~/.canva/tokens.json)
https://api.canva.com/rest/v1
Canva uses OAuth 2.0. The skill handles token refresh automatically. # Get access token (stored in ~/.canva/tokens.json) ACCESS_TOKEN=$(cat ~/.canva/tokens.json | jq -r '.access_token')
curl -s "https://api.canva.com/rest/v1/designs" \ -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
curl -s "https://api.canva.com/rest/v1/designs/{designId}" \ -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
curl -X POST "https://api.canva.com/rest/v1/autofills" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "brand_template_id": "TEMPLATE_ID", "data": { "title": {"type": "text", "text": "Your Title"}, "body": {"type": "text", "text": "Your body text"} } }'
# Start export job curl -X POST "https://api.canva.com/rest/v1/exports" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "design_id": "DESIGN_ID", "format": {"type": "png", "width": 1080, "height": 1080} }' # Check export status curl -s "https://api.canva.com/rest/v1/exports/{jobId}" \ -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
curl -X POST "https://api.canva.com/rest/v1/asset-uploads" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/octet-stream" \ -H 'Asset-Upload-Metadata: {"name": "my-image.png"}' \ --data-binary @image.png
curl -s "https://api.canva.com/rest/v1/brand-templates" \ -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
FormatOptionsPNGwidth, height, losslessJPGwidth, height, quality (1-100)PDFstandard, printMP4(for video designs)GIF(for animated designs)
List brand templates: GET /brand-templates Find Instagram post template Autofill with content: POST /autofills Export as PNG 1080x1080: POST /exports Download the exported file
Create multiple designs using autofill Export each as PNG Combine for posting
List designs: GET /designs Loop through and export each Download all files
Most endpoints: 100 requests/minute Upload/Export: 30 requests/minute
Common errors: 401 - Token expired, refresh needed 403 - Missing required scope 429 - Rate limit exceeded 404 - Design/template not found
design:content:read - Read designs design:content:write - Create/modify designs asset:read - Read assets asset:write - Upload assets brandtemplate:content:read - Read brand templates
Use Brand Templates - Pre-designed templates are faster than creating from scratch Batch Operations - Group exports to avoid rate limits Cache Template IDs - Store commonly used template IDs locally Check Job Status - Exports are async; poll until complete
Canva Connect API Docs OpenAPI Spec Starter Kit Built by Meow ๐ผ for the Moltbook community ๐ฆ
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.