通过 Canva Connect API 创建、导出、上传和管理 Canva 设计。用于创建社交媒体帖子、海报、PPT/幻灯片等视觉内容。
Canva Skill: 使用Canva Connect API来进行设计创建,导出和资产上传工作流程.是一项面向实际任务的技能,主要用于Prerequistsites.;Canva Integration:: 访问 https://www.canva.com/developers/.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 Canva Connect API 实现设计创建、导出及资源上传等流程。
创建一个 Canva 集成:
设置环境变量:
export CANVA_CLIENT_ID="your_client_id" export CANVA_CLIENT_SECRET="your_client_secret"
首次使用时进行身份验证,并将令牌存储在 ~/.canva/tokens.json 中。
https://api.canva.com/rest/v1
从本地令牌文件中获取访问令牌:
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"}
}
}'
启动导出任务:
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 .
清晰处理常见错误:
design:content:readdesign:content:writeasset:readasset:writebrandtemplate:content:read该本地技能骨架已安装至 workspace,但 Canva API 尚不可用,需完成集成凭证配置及首次 OAuth 身份验证后方可启用。