SuperAPI AI 工具集

canva-automation

设计与创作

查看项目

更新于 10-13 16:16

技能介绍

Canva Automation via Rube MCP 是一套通过 Composio 的 Canva 工具包、经由 Rube MCP 来自动化 Canva 设计操作的能力。

用途 它适用于需要以程序化、工具调用方式管理 Canva 设计资产的场景,例如批量浏览和筛选设计、按模板生成设计、上传素材、导出多种格式文件、整理文件夹结构,以及利用品牌模板进行数据驱动的自动填充。

前置条件

  • 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)。
  • 需通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Canva 连接,toolkit 为 canva。
  • 始终先调用 RUBE_SEARCH_TOOLS 以获取当前工具模式(schema)。

设置步骤

  1. 获取 Rube MCP:在客户端配置中添加 MCP 服务器 https://rube.app/mcp。无需 API 密钥,添加端点即可使用。
  2. 通过确认 RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 可用。
  3. 调用 RUBE_MANAGE_CONNECTIONS,toolkit 使用 canva。
  4. 如果连接不是 ACTIVE,按返回的授权链接完成 Canva OAuth。
  5. 在运行任何工作流前确认连接状态显示为 ACTIVE。

核心工作流

  1. 列出与浏览设计 适用:用户想查找现有设计或浏览其 Canva 库。 工具顺序:CANVA_LIST_USER_DESIGNS(必需)。 关键参数:query(按名称筛选设计的搜索词)、continuation(上次响应的分页令牌)、ownership(按 owned、shared 或 any 筛选)、sort_by(排序字段,如 modified_at、title)。 注意:结果分页,需沿 continuation 令牌直至缺失;已删除设计可能短暂出现,需检查设计状态;搜索基于子串,非模糊匹配。

  2. 创建与设计 适用:用户想从零或从模板创建新的 Canva 设计。 工具顺序:CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST(可选,浏览品牌模板)、CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET(必需,创建新设计)。 关键参数:design_type(设计类型,如 Presentation、Poster、SocialMedia)、title(新设计名称)、asset_id(可选,设计中包含的素材)、width / height(自定义像素尺寸)。 注意:设计类型必须与 Canva 预定义类型完全匹配;自定义尺寸有最小和最大限制;素材必须先通过 CANVA_CREATE_ASSET_UPLOAD_JOB 上传后才能引用。

  3. 上传素材 适用:用户想上传图片或文件到 Canva 供设计使用。 工具顺序:CANVA_CREATE_ASSET_UPLOAD_JOB(必需,发起上传)、CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS(必需,轮询直至上传完成)。 关键参数:name(素材显示名称)、url(要上传文件的公开 URL,用于基于 URL 的上传)、job_id(步骤 1 返回的上传任务 ID,用于状态轮询)。 注意:上传是异步的,必须轮询任务状态直至完成;支持格式包括 PNG、JPG、SVG、MP4、GIF;有文件大小限制,大文件处理更久;CREATE 返回的 job_id 是状态轮询所需的 ID;状态值有 in_progress、success、failed。

  4. 导出设计 适用:用户想将 Canva 设计下载或导出为 PDF、PNG 或其他格式。 工具顺序:CANVA_LIST_USER_DESIGNS(前置,找到要导出的设计)、CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB(必需,启动导出)、CANVA_GET_DESIGN_EXPORT_JOB_RESULT(必需,轮询直至导出完成并获取下载 URL)。 关键参数:design_id(要导出的设计 ID)、format(导出格式:pdf、png、jpg、svg、mp4、gif、pptx)、pages(要导出的指定页码数组)、quality(导出质量:regular、high)、job_id(用于轮询状态的导出任务 ID)。 注意:导出是异步的,必须轮询任务结果直至完成;完成导出得到的下载 URL 在有限时间后过期;多页大型设计导出更久;并非所有格式都支持所有设计类型(如 MP4 仅用于动画);轮询间隔建议 2-3 秒。

  5. 用文件夹整理 适用:用户想创建文件夹或将设计整理进文件夹。 工具顺序:CANVA_POST_FOLDERS(必需,创建新文件夹)、CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER(可选,将设计移入文件夹)。 关键参数:name(文件夹名称)、parent_folder_id(用于嵌套组织的父文件夹)、item_id(要移动的设计或素材 ID)、folder_id(目标文件夹 ID)。 注意:同一父文件夹内文件夹名称必须唯一;文件夹间移动会立即更新位置;根级文件夹没有 parent_folder_id。

  6. 从品牌模板自动填充 适用:用户想通过用数据填充品牌模板占位符来生成设计。 工具顺序:CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST(必需,列出可用品牌模板)、CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB(必需,用数据启动自动填充)。 关键参数:brand_template_id(要使用的品牌模板 ID)、title(生成设计的标题)、data(占位符名称到替换值的键值映射)。 注意:模板占位符必须完全匹配(区分大小写);自动填充是异步的,需轮询完成;只有品牌模板支持自动填充,普通设计不支持;数据值必须匹配每个占位符的预期类型(文本、图片 URL)。

常见模式 异步任务模式:许多 Canva 操作是异步的——1. 发起任务(上传、导出、自动填充)得到 job_id;2. 用 job_id 每 2-3 秒轮询状态端点;3. 检查 success 或 failed 状态;4. 成功时提取结果(asset_id、download_url、design_id)。 ID 解析:设计名称到设计 ID——1. 用 query=design_name 调用 CANVA_LIST_USER_DESIGNS;2. 在结果中找到匹配设计;3. 提取 id 字段。品牌模板名称到模板 ID——1. 调用 CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST;2. 按名称找到模板;3. 提取 brand_template_id。 分页:检查响应中的 continuation 令牌;在下一次请求的 continuation 参数中传入令牌;持续直到 continuation 缺失或为空。

已知陷阱 异步操作:上传、导出和自动填充都是异步的;始终轮询任务状态,不要假设立即完成;导出的下载 URL 会过期,需及时使用。 素材管理:素材必须先上传才能在设计中使用;上传任务必须达到 success 状态后 asset_id 才有效;支持的格式会变化,需查看 Canva 文档了解当前限制。 速率限制:Canva API 对每个端点有速率限制;批量操作应实现指数退避;尽可能批处理以减少 API 调用。 响应解析:响应数据可能嵌套在 data 键下;任务状态响应基于完成状态包含不同字段;解析时应对可选字段做防御性处理和回退。

快速参考 列出设计:CANVA_LIST_USER_DESIGNS,关键参数 query、continuation。 创建设计:CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET,关键参数 design_type、title。 上传素材:CANVA_CREATE_ASSET_UPLOAD_JOB,关键参数 name、url。 检查上传:CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS,关键参数 job_id。 导出设计:CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB,关键参数 design_id、format。 获取导出:CANVA_GET_DESIGN_EXPORT_JOB_RESULT,关键参数 job_id。 创建文件夹:CANVA_POST_FOLDERS,关键参数 name、parent_folder_id。 移动到文件夹:CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER,关键参数 item_id、folder_id。 列出模板:CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST,参数(无)。 自动填充模板:CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB,关键参数 brand_template_id、data。

限制 资料未提供收费、价格、平台支持范围与具体效果等信息;文档中提及的具体参数格式、格式支持范围和限制可能随 Canva 官方变化,需以实际调用时的工具模式与 Canva 文档为准。