| name | canva-asset-manager |
| description | Upload and manage assets (images, videos, audio) in your Canva account. Use this skill
when user wants to upload files to Canva, manage their asset library, or work with
uploaded media. Handles image, video, and audio uploads. Follows 3-mode workflow.
For organizing uploaded assets use canva-folder-organizer.
|
Canva Asset Manager
Upload and manage media assets in your Canva account.
Capabilities
- Upload Assets - Upload images, videos, audio from files
- Upload from URL - Import assets from web URLs
- Get Asset Info - View asset metadata
- Update Assets - Rename and tag assets
- Delete Assets - Remove assets (moves to trash)
Supported File Types
Images (Max 50MB)
| Format | Extension | Notes |
|---|
| JPEG | .jpg, .jpeg | Best for photos |
| PNG | .png | Supports transparency |
| GIF | .gif | Static or animated |
| WebP | .webp | Modern format |
| HEIC/HEIF | .heic, .heif | Apple format |
| TIFF | .tiff, .tif | High quality |
Videos (Max 500MB)
| Format | Extension | Notes |
|---|
| MP4 | .mp4 | Most common |
| MOV | .mov | Apple format |
| AVI | .avi | Windows format |
| WebM | .webm | Web format |
| MKV | .mkv | Container format |
| M4V | .m4v | Apple format |
| MPEG | .mpeg, .mpg | Legacy format |
Audio
| Format | Extension |
|---|
| MP3 | .mp3 |
| WAV | .wav |
| M4A | .m4a |
| OGG | .ogg |
Available Scripts
Upload from File
.venv\Scripts\python.exe scripts/upload_asset.py "path/to/image.png"
.venv\Scripts\python.exe scripts/upload_asset.py "path/to/image.png" --name "My Asset"
.venv\Scripts\python.exe scripts/upload_asset.py "path/to/video.mp4" --wait
.venv\Scripts\python.exe scripts/upload_asset.py "path/to/file.jpg" --json
Upload from URL (Preview API)
.venv\Scripts\python.exe scripts/upload_asset_from_url.py "https://example.com/image.png" --name "Downloaded Image"
.venv\Scripts\python.exe scripts/upload_asset_from_url.py "https://example.com/video.mp4" --name "Video" --timeout 600
Get Asset Info
.venv\Scripts\python.exe scripts/get_asset.py "asset_id"
.venv\Scripts\python.exe scripts/get_asset.py "asset_id" --json
Update Asset
.venv\Scripts\python.exe scripts/update_asset.py "asset_id" --name "New Name"
.venv\Scripts\python.exe scripts/update_asset.py "asset_id" --tags "tag1" "tag2" "tag3"
.venv\Scripts\python.exe scripts/update_asset.py "asset_id" --add-tags "new-tag"
.venv\Scripts\python.exe scripts/update_asset.py "asset_id" --name "My Logo" --tags "brand" "logo"
Delete Asset
.venv\Scripts\python.exe scripts/delete_asset.py "asset_id"
.venv\Scripts\python.exe scripts/delete_asset.py "asset_id" --confirm
.venv\Scripts\python.exe scripts/delete_asset.py "asset_id" --json
3-Mode Workflow
MODE 1: PLAN
- Verify file format is supported
- Check file size limits
- Determine naming and tagging strategy
MODE 2: CLARIFY
Ask user:
- What should the asset be named?
- Any tags to add for organization?
- Should we wait for upload to complete?
MODE 3: IMPLEMENT
.venv\Scripts\python.exe scripts/upload_asset.py "input/images/logo.png" --name "Company Logo" --wait
Use Cases
Upload Brand Assets
.venv\Scripts\python.exe scripts/upload_asset.py "brand/logo.png" --name "Primary Logo"
.venv\Scripts\python.exe scripts/upload_asset.py "brand/icon.png" --name "Brand Icon"
.venv\Scripts\python.exe scripts/update_asset.py "asset_xxx" --tags "brand" "logo" "icon"
Upload Marketing Images
.venv\Scripts\python.exe scripts/upload_asset.py "products/product1.jpg" --name "Product 1"
.venv\Scripts\python.exe scripts/upload_asset.py "products/product2.jpg" --name "Product 2"
Upload from Web
.venv\Scripts\python.exe scripts/upload_asset_from_url.py "https://example.com/photo.jpg" --name "Stock Photo"
File Size Limits
| Type | Max Size |
|---|
| Images | 50 MB |
| Videos | 500 MB |
| URL uploads | 100 MB |
Rate Limits
| Operation | Limit |
|---|
| Upload operations | 20-30 requests/user |
| Get asset | 100 requests/user |
| Update asset | 20-30 requests/user |
| Delete asset | 20-30 requests/user |
Error Handling
Unsupported Format
Error: File format not supported
Solution: Convert to supported format (JPG, PNG, MP4, etc.)
File Too Large
Error: File exceeds size limit
Solution: Compress or resize the file
Upload Failed
Error: Upload job failed
Solution: Check file integrity, try re-uploading
Asset vs Design Import
| Operation | Use For | Script |
|---|
| Asset Upload | Images, Videos (become reusable assets) | upload_asset.py |
| Design Import | PPTX, PDF, AI, PSD (become editable designs) | import_design.py |
Integration
Works with:
- canva-folder-organizer: Organize uploaded assets into folders
- canva-image-editor: Use assets in designs
- canva-video: Use video assets