canva-automation について
canva-automation は、Rube MCP と Composio の Canva toolkit を通じて Canva の操作を行うスキルです。デザインの作成・書き出し・整理に加え、ブランドテンプレートへのデータ入力に対応します。
主な機能
- 01デザインの一覧表示と検索
- 02新規またはテンプレートからのデザイン作成
- 03デザイン素材のアップロード
- 04複数形式での書き出し
- 05フォルダー作成とデザイン整理
- 06ブランドテンプレートへのデータ入力
活用シーン
- 01Canva のデザインライブラリから既存作品を検索
- 02告知物やプレゼンテーションの作成と書き出し
- 03デザイン素材としてファイルをアップロード
- 04ブランドテンプレートからデザインを生成
MCP 対応
Rube MCP 経由で Composio の Canva toolkit を呼び出します。利用前に Canva の接続と最新のツール定義が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill canva-automationインストール後、Claude Code で/canva-automationを入力して読み込まれたか確認します。
詳細
Rube MCP を介した Canva の自動化
Rube MCP を介して Composio の Canva ツールキットを使用し、Canva のデザイン操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/canva
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能)
RUBE_MANAGE_CONNECTIONSを通じて、ツールキットcanvaの Canva 接続が有効であること- 最新のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の取得:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
canvaを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Canva OAuth を完了します
- ワークフローを実行する前に、接続ステータスが 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:エクスポートするデザインのIDformat:エクスポート形式('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:移動するデザインまたはアセットのIDfolder_id:移動先のフォルダーID
注意点:
- フォルダー名は、同じ親フォルダー内で一意である必要があります
- アイテムをフォルダー間で移動すると、場所が即座に更新されます
- ルートレベルのフォルダーにはparent_folder_idがありません
6. ブランドテンプレートから自動入力する
使用する状況:ユーザーがブランドテンプレートのプレースホルダーにデータを入力してデザインを生成したい場合
ツールの手順:
CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST- 利用可能なブランドテンプレートを一覧表示します[必須]CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB- データを使って自動入力を開始します[必須]
主なパラメーター:
brand_template_id:使用するブランドテンプレートのIDtitle:生成するデザインのタイトルdata:プレースホルダー名と置換値のキーと値のマッピング
注意点:
- テンプレートのプレースホルダーは完全に一致している必要があります(大文字と小文字を区別します)
- 自動入力は非同期です。完了するまでポーリングしてください
- 自動入力に対応しているのはブランドテンプレートのみで、通常のデザインには対応していません
- データ値は、各プレースホルダーで期待される型(テキスト、画像URL)に一致している必要があります
よく使われるパターン
非同期ジョブのパターン
Canvaの多くの操作は非同期です:
1. Initiate job (upload, export, autofill) -> get job_id
2. Poll status endpoint with job_id every 2-3 seconds
3. Check for 'success' or 'failed' status
4. On success, extract result (asset_id, download_url, design_id)
IDの解決
デザイン名 -> デザインID:
1. Call CANVA_LIST_USER_DESIGNS with query=design_name
2. Find matching design in results
3. Extract id field
ブランドテンプレート名 -> テンプレートID:
1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST
2. Find template by name
3. Extract brand_template_id
ページネーション
- レスポンスに
continuationトークンが含まれているか確認します - 次のリクエストの
continuationパラメーターにトークンを渡します continuationが存在しない、または空になるまで続けます
既知の注意点
非同期操作:
- アップロード、エクスポート、自動入力はすべて非同期です
- 常にジョブのステータスをポーリングしてください。すぐに完了すると想定しないでください
- エクスポートのダウンロードURLには有効期限があります。速やかに使用してください
アセット管理:
- デザインで使用する前に、アセットをアップロードする必要があります
asset_idが有効になるには、アップロードジョブのステータスが'success'になる必要があります- 対応形式は異なる場合があります。最新の制限についてはCanvaのドキュメントを確認してください
レート制限:
- Canva APIにはエンドポイントごとにレート制限があります
- 一括操作には指数バックオフを実装してください
- API呼び出しを減らすため、可能な場合は操作をまとめてください
レスポンスの解析:
- レスポンスデータは
dataキーの下にネストされている場合があります - ジョブステータスのレスポンスには、完了状態に応じて異なるフィールドが含まれます
- 任意フィールドに対するフォールバックを用意し、堅牢に解析してください
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List designs | CANVA_LIST_USER_DESIGNS | query, continuation |
| Create design | CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET | design_type, title |
| Upload asset | CANVA_CREATE_ASSET_UPLOAD_JOB | name, url |
| Check upload | CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS | job_id |
| Export design | CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB | design_id, format |
| Get export | CANVA_GET_DESIGN_EXPORT_JOB_RESULT | job_id |
| Create folder | CANVA_POST_FOLDERS | name, parent_folder_id |
| Move to folder | CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER | item_id, folder_id |
| List templates | CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST | (none) |
| Autofill template | CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB | brand_template_id, data |
Powered by Composio