Create and edit video designs in Canva. Use this skill when user wants to work with videos, animations, or motion graphics. Handles video creation, editing, timeline management, and export. Follows 3-mode workflow for safe operations. For static images use canva-image-editor. For presentations use canva-presentation.
QUICK REFERENCE
- Scripts location:
scripts/(NOTskills/canva-video/scripts/- those don't exist)- Auth check:
.venv\Scripts\python.exe scripts/auth_check.py- Export:
.venv\Scripts\python.exe scripts/export_design.py --id "ID" --format mp4- API client:
scripts/canva_client.py(import:from canva_client import get_client)- Sample script:
scripts/samples/sample_canva_operations.pyWARNING: Commands below referencing
skills/canva-video/scripts/*.pyare WRONG paths. Write custom Python usingcanva_client.py. Seescripts/samples/sample_canva_operations.py.
Create and edit video designs, animations, and motion graphics in Canva.
This skill handles:
Operations supported:
| Type | Dimensions | Duration |
|---|---|---|
| Instagram Reel | 1080x1920 | Up to 90s |
| TikTok Video | 1080x1920 | Up to 3min |
| YouTube Short | 1080x1920 | Up to 60s |
| YouTube Video | 1920x1080 | Variable |
| Facebook Video | 1280x720 | Variable |
| Video Ad | Various | 15-30s |
| Animated Post | 1080x1080 | 5-15s |
| Animated Story | 1080x1920 | 5-15s |
Analyze Video Structure
python skills/canva-video/scripts/analyze_video.py \
--id "DESIGN_ID"
Document Video Elements
## Video Analysis: "[Name]"
### Overview
- Dimensions: 1080x1920
- Duration: 15 seconds
- Frame Rate: 30fps
### Timeline
| Time | Element | Type | Duration |
|------|---------|------|----------|
| 0-3s | Intro | Animation | 3s |
| 3-10s | Main Content | Video Clip | 7s |
| 10-13s | Text Overlay | Animated Text | 3s |
| 13-15s | CTA | Animation | 2s |
### Audio
- Background Music: "Upbeat Track" (15s)
- Voiceover: None
### Proposed Changes
1. Extend duration to 20 seconds
2. Add new text at 15-18s
3. Replace background music
Video-specific questions:
Timing
Animation
Audio
Export
# Add text element with animation
python skills/canva-video/scripts/add_text.py \
--design "DESIGN_ID" \
--text "Your Message Here" \
--start 5.0 \
--duration 3.0 \
--animation "fade-in"
# Add video clip
python skills/canva-video/scripts/add_clip.py \
--design "DESIGN_ID" \
--clip "path/to/video.mp4" \
--start 0.0 \
--trim-start 2.0 \
--trim-end 10.0
# Update timing
python skills/canva-video/scripts/update_timing.py \
--design "DESIGN_ID" \
--element "ELEMENT_ID" \
--start 3.0 \
--duration 5.0
# Change video duration
python skills/canva-video/scripts/set_duration.py \
--design "DESIGN_ID" \
--duration 20.0
# Add background music
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "path/to/music.mp3" \
--volume 0.5 \
--loop true
analyze_video.py - Full video breakdownget_timeline.py - Timeline elements and timingextract_frames.py - Get keyframes as imagesget_audio_info.py - Audio track detailsadd_text.py - Add animated textadd_clip.py - Insert video clipadd_image.py - Add static or animated imageadd_audio.py - Add music/voiceoverupdate_timing.py - Change element timingupdate_animation.py - Change animation styleset_duration.py - Change total durationremove_element.py - Delete element from timelinecreate_video.py - New blank videocreate_from_template.py - From Canva templateText animations:
fade-in / fade-outslide-up / slide-down / slide-left / slide-rightzoom-in / zoom-outbouncetypewriterwipepopElement animations:
pan - Move across screenken-burns - Slow zoom on imagesrotatescalebaseline - None (static)# Add background music
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "music.mp3" \
--type "background" \
--volume 0.3
# Add voiceover
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "voiceover.mp3" \
--type "voiceover" \
--start 2.0
# Adjust audio timing
python skills/canva-video/scripts/update_audio.py \
--design "DESIGN_ID" \
--audio-id "AUDIO_ID" \
--fade-in 1.0 \
--fade-out 2.0
Use canva-export skill with these options:
Quality options:
720p - 1280x720, smaller file1080p - 1920x1080, standard4K - 3840x2160, highest quality[PLAN]
- Video is 15 seconds
- Add "Shop Now" at 12-15s
- Recommend animation style
[CLARIFY]
- "Add at 12s, display for 3s until end?"
- "Animation style: 'pop' or 'slide-up'?"
- "Font and color preferences?"
[IMPLEMENT]
- Add text element
- Apply animation
- Verify timing
[PLAN]
- Current music: "Upbeat.mp3" (15s)
- Need new music file
[CLARIFY]
- "What music file should I use?"
- "Same volume level?"
- "Fade in/out at ends?"
[IMPLEMENT]
- Remove current audio
- Add new audio track
- Apply fades if requested
output/videos/ - Exported videosoutput/frames/ - Extracted keyframesoutput/audio/ - Extracted audiooutput/logs/video_edits.json - Edit history