Canva MP4 export quality is now target pixels: caption it on Sume
Canva's Sep 18 change keeps a design's aspect ratio when you export MP4. A portrait design at 4k is 2160x3840. Then add captions with a Sume job.
The answer
Since September 18, Canva's MP4 export quality is a target pixel count and the design keeps its own aspect ratio, with no letterboxing. A portrait design exported as horizontal_4k therefore stays portrait at 2160x3840, and the horizontal and vertical variants return identical pixels. You choose a size, not an orientation.
Canva exports silent, uncaptioned motion unless you built the captions into the design. For a talking clip, a Sume video-captions job can add them afterwards from the exported file.
Canva export facts
From the create design export job reference and the changelog.
| Option | Values |
|---|---|
| MP4 quality | horizontal or vertical at 480p, 720p, 1080p, 4k |
| Portrait design at horizontal_4k | 2160x3840, no letterbox |
| export_quality | regular or pro |
| Per-user endpoint limit | 20 requests per minute |
Add captions on Sume
POST /v1/video-captions takes a public HTTPS video_url and a style: slam, punch, tiktok-green or korean-ad. Host the Canva export where Sume can fetch it over HTTPS without a signed or private link, then submit.
Captions read the speech in the file. A silent clip fails with caption_no_speech, so for authored text pass cues yourself instead of relying on transcription.
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Idempotency-Key: caption-2026-10-04-001" \
-H "Content-Type: application/json" \
-d '{"video_url":"https://example.com/exports/promo.mp4","style":"tiktok-green"}'Caveats
The Sume wire details are in the captions docs alongside the job model.
- Pick the export size from the destination: 1080p is plenty for a feed, and 4k portrait is large to upload.
- Poll the job, do not assume it is done: statuses are queued, processing, completed, failed and canceled.
- Check the Canva export URL lifetime in its own docs before you queue the Sume call.
Sources
Related posts
More in Integrations
- ChatGPT MCP events start automations: the Sume webhook and API trigger
ChatGPT plugins can use MCP events to start an automation. Sume's hosted MCP lists tools, so react with a signed run webhook or an API-trigger run.
- Claude Code 2.1.285 MCP_DISCOVERY_CACHE and Sume tools_list
Claude Code 2.1.285 can reuse connector tool lists after a cloud session restarts. What that means when your Sume tool surface changes between runs.
- Claude Code 2.1.288 background command limits: poll Sume jobs
Claude Code 2.1.288 applies the background command limit only to unattended sessions (-p, SDK, CI, cloud). How to poll a Sume job so a -p run keeps it.
- Sonnet 5.5 is Claude Code default with 1M context: trim Sume tools
Claude Code 2.1.284 made Sonnet 5.5 the default Sonnet with a 1M context window. A big window is not a reason to load every Sume tool schema.
Written by Sume