Canvaのブランドテンプレート(企業の統一デザイン雛形)を使い、表形式のデータから複数のデザインを一括作成します。自動入力機能により、データの1行ごとに1つのデザインが生成されます。 **次のような場合に使用:** - 「このCSVファイルから複数のデザインを一括作成してほしい」 - 「1行ごとに1つのデザインを作成してほしい」 - 「各商品に対応したデザインを作成してほしい」 - 「テンプレートから複数デザインを一括生成してほしい」 - 「スプレッドシートのデータをテンプレートに自動入力してほしい」 受け入れ可能なデータ形式は、アップロードされたファイル、貼り付けたテーブル、JSON形式、URLなど、表形式のあらゆるデータソースに対応しています。
Bulk-create Canva designs from tabular data using a brand template with autofill fields, producing one design per row. Use when users say "bulk create designs from this CSV", "generate one design per row", "create a design for each product", "batch generate from a template", or "autofill a template from a spreadsheet". Accepts any tabular data source — uploaded files, pasted tables, JSON, or URLs.
Create one Canva design per row of data by autofilling a brand template with data tags.
Accept data in any form the user provides and extract a list of rows with named columns:
If no data has been provided, ask the user to share it in whatever format is convenient for them.
Once parsed, show the user:
If the user hasn't specified a template, search for autofill-capable ones:
Canva:search-brand-templates dataset=non_empty
Show the results and ask the user to pick one. If they already named or described a template, search with that query.
Canva:get-brand-template-dataset template_id=<selected_id>
This returns the field names and types (text, image, chart) that the template expects.
Present a mapping table to the user:
| Template Field | Type | Matched CSV Column | Notes |
|---|---|---|---|
product_name |
text | Product Name |
auto-matched |
price |
text | Price |
auto-matched |
hero_image |
image | (none) | no match — image fields need asset IDs |
Matching rules:
Confirm the mapping with the user before proceeding, especially if there are unmapped fields or ambiguous matches.
There are two ways a CSV can supply images for image-type template fields:
Pattern A — CSV has a Canva asset ID column (e.g. image_asset_id):
Use the asset ID value directly in the autofill-design call:
{ "image": { "type": "image", "asset_id": "<value from CSV column>" } }
Pattern B — CSV has an image URL column (e.g. image_url):
URLs cannot be passed directly to autofill-design. Upload each URL to Canva first using Canva:upload-asset-from-url, capture the returned asset ID, then use it in the autofill call. Do the upload immediately before creating that row's design so failures stay localised.
Pattern C — No image column in CSV:
Ask the user whether to skip the image field (template default image stays) or abort. Skipping is safe — just omit the image key from the data payload entirely.
Loop through every CSV row and call Canva:autofill-design for each one. Call them sequentially, not all at once — the API may have rate limits and sequential calls are easier to debug.
For each row:
Canva:upload-asset-from-url to get a Canva asset ID.data payload from the confirmed field mapping:{
"text_field_name": { "type": "text", "text": "<value from CSV>" },
"image_field_name": { "type": "image", "asset_id": "<asset ID>" }
}
Canva:autofill-design with the template ID, data payload, and a descriptive title using the row number or a meaningful column value (e.g. "Bulk Design - Row 3 - <identifier>").Track results as you go:
Row 1 / 50: Created — <design_url>
Row 2 / 50: Created — <design_url>
Row 3 / 50: Failed — <error>
After all rows are processed, summarise:
Offer to save a summary CSV with columns: row, status, design_url, error.
get-brand-template-dataset.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。