Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add millord237/10X-Canva-Skills --skill "canva-import"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: canva-import
description: |
Import files into Canva (PPTX, PDF, AI, PSD). Use this skill when user wants to
upload documents for editing in Canva. Supports file upload and URL import.
Follows 3-mode workflow for safe operations. For uploading images/videos use canva-asset-manager.
Canva Import Operations
Import documents and design files into Canva for editing.
Capabilities
- Import from File - Upload PPTX, PDF, AI, PSD files
- Import from URL - Import files from web URLs
- Check Import Status - Monitor async import jobs
- Supported Formats - PPTX, PDF, AI, PSD
Supported File Formats
| Format | Extension | Description | Max Size |
|---|---|---|---|
| PowerPoint | .pptx |
Presentations | Varies |
.pdf |
Documents | Varies | |
| Illustrator | .ai |
Vector graphics | Varies |
| Photoshop | .psd |
Layered images | Varies |
Note: .ppt (old PowerPoint format) is NOT supported. Convert to .pptx first.
Available Scripts
Import from File
# Import PPTX file
.venv\Scripts\python.exe scripts/import_design.py "path/to/presentation.pptx"
# Import with custom title
.venv\Scripts\python.exe scripts/import_design.py "path/to/document.pdf" --title "My Document"
# Import and wait for completion
.venv\Scripts\python.exe scripts/import_design.py "path/to/design.psd" --wait
# Custom timeout
.venv\Scripts\python.exe scripts/import_design.py "path/to/large_file.pptx" --timeout 600
# JSON output
.venv\Scripts\python.exe scripts/import_design.py "path/to/file.pdf" --json
Import from URL
# Import from URL
.venv\Scripts\python.exe scripts/import_from_url.py "https://example.com/presentation.pptx"
# With title
.venv\Scripts\python.exe scripts/import_from_url.py "https://example.com/document.pdf" --title "Imported Document"
# Custom timeout
.venv\Scripts\python.exe scripts/import_from_url.py "https://example.com/file.pptx" --timeout 600
Check Import Status
# Check status of import job
.venv\Scripts\python.exe scripts/get_import_status.py "import_job_id"
# JSON output
.venv\Scripts\python.exe scripts/get_import_status.py "import_job_id" --json
3-Mode Workflow
MODE 1: PLAN
- Verify file format is supported (PPTX, PDF, AI, PSD)
- Check file exists and is accessible
- Determine if title override is needed
MODE 2: CLARIFY
Ask user:
- Is the file in a supported format?
- What title should the imported design have?
- Should we wait for import to complete?
MODE 3: IMPLEMENT
# Execute import
.venv\Scripts\python.exe scripts/import_design.py "C:/path/to/presentation.pptx" --title "My Presentation"
# Output:
# Starting import job...
# Import job started: import_abc123
# Waiting for import to complete...
#
# Import Complete!
# ==================================================
# Design ID: DAFxxxxxxxxxx
# Title: My Presentation
#
# Edit URL: https://www.canva.com/design/DAFxxxxxxxxxx/edit
Use Cases
Import PowerPoint Presentation
# Import existing PPTX
.venv\Scripts\python.exe scripts/import_design.py "presentations/quarterly_report.pptx" --title "Q4 Report"
# After import, edit in Canva or export to different format
Import PDF Document
# Import PDF for editing
.venv\Scripts\python.exe scripts/import_design.py "documents/brochure.pdf" --title "Company Brochure"
Import from Cloud Storage
# Import from URL (e.g., cloud storage link)
.venv\Scripts\python.exe scripts/import_from_url.py "https://storage.example.com/files/design.pptx" --title "Cloud Design"
Import Illustrator/Photoshop
# Import AI file
.venv\Scripts\python.exe scripts/import_design.py "designs/logo.ai" --title "Logo Design"
# Import PSD file
.venv\Scripts\python.exe scripts/import_design.py "designs/banner.psd" --title "Banner Design"
Import Process
Canva imports are asynchronous:
- Upload File - Send file to Canva, get job ID
- Process - Canva converts file to Canva format
- Complete - Design is ready for editing
Status Flow:
in_progress โ success
โ failed (with error)
Import vs Asset Upload
| Operation | Use For | Script |
|---|---|---|
| Import | PPTX, PDF, AI, PSD (become designs) | import_design.py |
| Asset Upload | Images, Videos (become assets) | upload_asset.py |
Error Handling
Unsupported Format
Error: File format not supported
Solution: Convert to PPTX, PDF, AI, or PSD
File Too Large
Error: File exceeds size limit
Solution: Compress or split the file
Import Failed
Error: Import job failed - {error message}
Solution: Check file integrity, try re-uploading
Invalid URL
Error: Could not fetch file from URL
Solution: Verify URL is accessible and points to a supported file type
Rate Limits
| Operation | Limit |
|---|---|
| Create import | 20 requests/minute |
| Get import status | 100 requests/user |
Best Practices
- Use PPTX Format - For presentations, always use
.pptx(not.ppt) - Check File Size - Large files take longer to import
- Verify Format - Only PPTX, PDF, AI, PSD are supported
- Wait for Completion - Use
--waitflag for scripts - Preserve Titles - Use
--titleto set meaningful names
After Import
Once imported, you can:
1. Edit in Canva - Open the edit URL
2. Export to different format - Use canva-export skill
3. Resize - Use canva-resize skill
4. Organize - Use canva-folder-organizer to move to folder
Integration
Works with other skills:
- canva-export: Export imported designs to different formats
- canva-presentation: Edit imported presentations
- local-pptx-editor: Edit PPTX locally before importing
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.