名称: canva
版本: 1.0.0
描述: |
通过 Canva Connect API 管理设计、资源和文件夹。
支持功能:
- 列出/搜索/整理设计和文件夹
- 导出完成的设计(PNG/PDF/JPG)
- 上传图片到资源库
- 使用数据自动填充品牌模板
- 创建空白设计(文档/演示文稿/白板/自定义)
不支持功能:
- 向设计中添加内容(文本、形状、元素)
- 编辑现有设计内容
- 上传文档(仅支持图片)
- AI 设计生成
最佳适用场景:资源流水线、导出自动化、组织整理、模板自动填充。
触发词:/canva, "upload to canva", "export design", "list my designs", "canva folder"。
作者: clawdbot
许可证: MIT
元数据:
clawdbot:
emoji: "🎨"
triggers: ["/canva"]
requires:
env:
- CANVA_CLIENT_ID
- CANVA_CLIENT_SECRET
primaryEnv: CANVA_CLIENT_ID
homepage: https://canva.dev/docs/connect/
通过 Canva Connect API 管理设计、资源和文件夹。
| ✅ 支持 | ❌ 不支持 |
|---|---|
| 列出/搜索设计 | 向设计中添加内容 |
| 创建空白设计 | 编辑现有设计内容 |
| 导出设计(PNG/PDF/JPG) | 上传文档(仅支持图片) |
| 创建/管理文件夹 | AI 设计生成 |
| 在文件夹间移动项目 | |
| 上传图片作为资源 | |
| 自动填充品牌模板 |
1. 资源流水线 🖼️
生成图表 → 上传到 Canva → 在项目文件夹中整理
2. 导出自动化 📤
在 Canva 中完成设计 → 通过 CLI 导出 → 用于文档/网站
3. 设计整理 📁
创建项目文件夹 → 移动相关设计 → 保持 Canva 整洁
4. 品牌模板自动填充 📋
在 Canva 中设置模板 → 通过 API 传递数据 → 获取个性化输出
# 身份验证(打开浏览器进行 OAuth)
{baseDir}/scripts/canva.sh auth
# 列出你的设计
{baseDir}/scripts/canva.sh designs list
# 创建新设计
{baseDir}/scripts/canva.sh designs create --type doc --title "我的文档"
# 导出设计
{baseDir}/scripts/canva.sh export <design_id> --format pdf
design:content (读取 + 写入)design:meta (读取)asset (读取 + 写入)brandtemplate:meta (读取)brandtemplate:content (读取)profile (读取)http://127.0.0.1:3001/oauth/redirect在 ~/.clawdbot/clawdbot.json 文件的 skills.entries 下添加:
{
"skills": {
"entries": {
"canva": {
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET"
}
}
}
}
或设置环境变量:
export CANVA_CLIENT_ID="your_client_id"
export CANVA_CLIENT_SECRET="your_client_secret"
{baseDir}/scripts/canva.sh auth
此命令将打开浏览器进行 OAuth 授权。令牌将存储在 ~/.clawdbot/canva-tokens.json 中。
| 命令 | 描述 |
|---|---|
auth |
启动 OAuth 流程(打开浏览器) |
auth status |
检查身份验证状态 |
auth logout |
清除存储的令牌 |
| 命令 | 描述 |
|---|---|
designs list [--limit N] |
列出你的设计 |
designs get <id> |
获取设计详情 |
designs create --type <type> --title <title> |
创建新设计 |
designs delete <id> |
将设计移至回收站 |
设计类型: doc, presentation, whiteboard, poster, instagram_post, facebook_post, video, logo, flyer, banner
| 命令 | 描述 |
|---|---|
export <design_id> --format <fmt> |
导出设计 |
export status <job_id> |
检查导出任务状态 |
格式: pdf, png, jpg, gif, pptx, mp4
| 命令 | 描述 |
|---|---|
assets list |
列出已上传的资源 |
assets upload <file> [--name <name>] |
上传资源 |
assets get <id> |
获取资源详情 |
assets delete <id> |
删除资源 |
| 命令 | 描述 |
|---|---|
templates list |
列出品牌模板 |
templates get <id> |
获取模板详情 |
autofill <template_id> --data <json> |
使用数据自动填充模板 |
| 命令 | 描述 |
|---|---|
folders list |
列出文件夹 |
folders create <name> |
创建文件夹 |
folders get <id> |
获取文件夹内容 |
| 命令 | 描述 |
|---|---|
me |
获取当前用户信息 |
# 创建
{baseDir}/scripts/canva.sh designs create --type poster --title "活动海报"
# 导出为 PNG
{baseDir}/scripts/canva.sh export DAF... --format png --output ./poster.png
# 上传 Logo
{baseDir}/scripts/canva.sh assets upload ./logo.png --name "公司 Logo"
# 批量上传
for f in ./brand/*.png; do
{baseDir}/scripts/canva.sh assets upload "$f"
done
# 列出可用模板
{baseDir}/scripts/canva.sh templates list
# 使用数据自动填充
{baseDir}/scripts/canva.sh autofill TEMPLATE_ID --data '{
"title": "第一季度报告",
"subtitle": "财务摘要",
"date": "2026年1月"
}'
基础 URL:https://api.canva.com/rest
详细端点文档请参阅 references/api.md。
{baseDir}/scripts/canva.sh auth # 重新进行身份验证
API 对每个端点都有频率限制。脚本会自动处理退避重试。
如果操作因 403 错误失败,请确保你的集成已启用所需的权限范围。
| 文件 | 用途 |
|---|---|
~/.clawdbot/canva-tokens.json |
OAuth 令牌(已加密) |
~/.clawdbot/canva-cache.json |
响应缓存 |