名称: canva
版本: 1.0.0
描述: 通过 Connect API 创建、导出和管理 Canva 设计。可编程生成社交媒体帖子、轮播图和图形。
主页: https://github.com/abgohel/canva-skill
元数据: {"clawdbot":{"emoji":"🎨","category":"design","requires":{"env":["CANVA_CLIENT_ID","CANVA_CLIENT_SECRET"]}}}
通过 Connect API 创建、导出和管理 Canva 设计。
创建 Canva 集成:
设置环境变量:
bash
export CANVA_CLIENT_ID="你的_client_id"
export CANVA_CLIENT_SECRET="你的_client_secret"
首次认证:
运行认证流程以获取访问令牌(将存储在 ~/.canva/tokens.json 中)
https://api.canva.com/rest/v1
Canva 使用 OAuth 2.0。本技能会自动处理令牌刷新。
# 获取访问令牌(从 ~/.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": "你的标题"},
"body": {"type": "text", "text": "你的正文"}
}
}'
# 启动导出任务
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}
}'
# 检查导出状态
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 .
| 格式 | 选项 |
|---|---|
| PNG | 宽度,高度,无损 |
| JPG | 宽度,高度,质量 (1-100) |
| 标准,打印 | |
| MP4 | (用于视频设计) |
| GIF | (用于动画设计) |
GET /brand-templatesPOST /autofillsPOST /exportsGET /designs常见错误:
* 401 - 令牌过期,需要刷新
* 403 - 缺少所需权限范围
* 429 - 超出速率限制
* 404 - 设计/模板未找到
design:content:read - 读取设计design:content:write - 创建/修改设计asset:read - 读取资源asset:write - 上传资源brandtemplate:content:read - 读取品牌模板由 Meow 😼 为 Moltbook 社区 🦞 构建