canva-resize-for-social-media
Canva Resize for Social Media
Automatically resize a single Canva design into multiple social media formats and export all versions as high-quality PNG images with direct download links.
Overview
This skill enables rapid multi-platform content distribution by taking a single Canva design and creating optimized versions for:
- Facebook post
- Facebook story
- Instagram post
- Instagram story
- LinkedIn post
All resized versions are automatically exported as high-quality PNG images with direct download links and Canva edit links provided.
Workflow
Step 1: Identify the Source Design
Determine which Canva design the user wants to resize. This can be provided in three ways:
-
Direct design ID: User provides a design ID (starts with "D")
- Example: "resize design DABcd1234ef for all social media"
- Use the design ID directly with
get-designtool to retrieve design information
-
Direct design URL: User provides a Canva design link
- Example: "resize https://www.canva.com/design/DABcd1234ef/... for all social media"
- Extract the design ID from the URL (the part after
/design/and before the next/or query parameter) - Use the extracted design ID with
get-designtool
-
Search by design name: Use
search-designstool with the design name as the query- Example: "resize my Demo Brand Template: Brix&Hart Flyer design for all social media"
- Use the exact name/phrase the user provides as the search query
- If multiple matches are found, present options and ask the user to select one
-
Current context: If the user just created or edited a design in the conversation, use that design ID
Implementation note: When searching by name, pass the design name directly to search-designs as the query parameter. The tool will find the best match based on the design title.
Step 2: Retrieve Source Design Information
Use the get-design tool with the design ID to:
- Confirm the design exists and is accessible
- Get the design title (for naming resized versions)
- Verify design type compatibility
Step 3: Ask Which Platforms and Formats
Present the available formats and ask which ones the user wants:
Which platforms and formats would you like to resize for?
- Facebook post (1200×630)
- Facebook story (1080×1920)
- Instagram post (1080×1080)
- Instagram story (1080×1920)
- LinkedIn post (1200×627)
If the user says "all" or "all social media", use all five. Otherwise, only resize for the ones they select.
Step 4: Resize to Selected Formats
Execute the resize operations in parallel by calling the resize-design tool once for each selected format. Use these exact specifications:
Available formats and dimensions:
-
Facebook Post: 1200 × 630 pixels (custom)
design_type: { type: "custom", width: 1200, height: 630 } -
Facebook Story: 1080 × 1920 pixels (custom)
design_type: { type: "custom", width: 1080, height: 1920 } -
Instagram Post: 1080 × 1080 pixels (custom)
design_type: { type: "custom", width: 1080, height: 1080 } -
Instagram Story: 1080 × 1920 pixels (custom)
design_type: { type: "custom", width: 1080, height: 1920 } -
LinkedIn Post: 1200 × 627 pixels (custom)
design_type: { type: "custom", width: 1200, height: 627 }
Note: Facebook Story and Instagram Story have identical dimensions. Create both versions but inform the user they're the same size.
Error handling: If a resize operation fails, continue with remaining formats and report which formats succeeded and which failed at the end.
Step 5: Export Resized Designs as PNGs
If the user already asked to export (e.g., "resize and export for social media"), proceed directly. Otherwise, ask if they'd like to export the resized designs as PNGs.
For each successfully resized design from Step 4:
- Use the
export-designtool with the resized design ID - Set format type to
pngwith export qualitypro:format: { type: "png", export_quality: "pro" } - Collect the download URLs for all exported PNG files
Batch the export calls to execute them efficiently.
Step 6: Present Results with Download Links
Present comprehensive results to the user:
Provide the user with a summary including:
- Summary: Confirm which formats were created successfully
- PNG download links: Direct download links for each exported PNG
- Design edit links: Canva editor URLs for each resized design so users can make further edits
- Note about duplicates: Mention that Facebook Story and Instagram Story have identical dimensions
Presentation format example:
✅ Successfully resized your design for all social media platforms!
Individual PNG Downloads & Edit Links:
**Facebook Post** (1200×630)
- [Download PNG](png_url)
- [Edit in Canva](edit_url)
**Facebook Story** (1080×1920)
- [Download PNG](png_url)
- [Edit in Canva](edit_url)
**Instagram Post** (1080×1080)
- [Download PNG](png_url)
- [Edit in Canva](edit_url)
**Instagram Story** (1080×1920)
- [Download PNG](png_url)
- [Edit in Canva](edit_url)
**LinkedIn Post** (1200×627)
- [Download PNG](png_url)
- [Edit in Canva](edit_url)
Note: Facebook Story and Instagram Story use the same dimensions (1080×1920).
Implementation details:
- PNG download links come from the
export-designtool response - Design edit links come from the
resize-designtool response (use theurls.edit_urlfield from each resized design) - Present links as clickable URLs, not just plain text
- Organize by platform for easy scanning
Key Implementation Notes
- Compatibility: Check if
resize-designis available in the current MCP tools. If not, inform the user that this skill requires the Claude Desktop and is not supported by Claude Code - Parallel execution: Resize and export operations should be performed in parallel for efficiency
- PNG export: Always export as PNG with pro quality for best image quality
- Direct download links: Provide users with direct PNG download links (do not attempt to download files server-side or create zip files, as network restrictions prevent this)
- Consistent naming: Use the source design title with platform suffix for resized designs
- Error resilience: If any operation fails, complete the remaining operations and clearly report what succeeded/failed
- User confirmation: Do not require user approval between steps - execute the full workflow automatically unless errors occur
- Format accuracy: Always use the exact pixel dimensions specified above for each platform
More from canva-sdks/canva-claude-skills
canva-branded-presentation
Create on-brand Canva presentations from an outline or brief. Use when the user asks to create a branded presentation, make an on-brand deck, turn an outline into slides, or generate a presentation from a brief. Input can be text directly in the message, a Canva design ID, a reference to a Canva doc by name, or a Canva design link (e.g., https://www.canva.com/design/...).
179canva-translate-design
Translate all text in a Canva design to another language, creating a translated copy. Faster than manually copying and editing each text box in Canva's editor. Use when users say "translate my design to [language]", "make a Spanish/French/etc version", or "localize my Canva design".
53canva-bulk-create
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.
33canva-implement-feedback
Implement reviewer feedback on a Canva design. Reads all comment threads, synthesises what reviewers want, makes the clear-cut changes directly, and flags anything that needs a human decision. Use when the user asks to "implement feedback on my deck", "address comments on a design", "apply review feedback", "fix the comments on my presentation", or "implement the feedback".
30canva-classroom-helper
Turn a lesson plan into a teaching slide deck in Canva. Use when the user asks to build classroom slides from a lesson plan, convert a lesson plan into a presentation, make a teaching deck, create school slides from an outline, or generate a lesson deck for students. Input can be a lesson plan pasted in the message, a Canva design ID, a Canva doc or design by name, or a Canva design link (e.g., https://www.canva.com/design/...).
21canva-presentation-time-fitting
Fit a Canva presentation to a target speaking duration by generating or rewriting presenter notes only (visible slide text is not edited). Use when users say "make this a 10-minute presentation", "split time evenly across slides", "generate speaker notes for a 15-minute talk", "fit my deck to [duration]", or "how long per slide for a 20-minute slot".
14