Spotify video podcast specs: MP4, 1080p 16:9, H.264
Spotify for Creators recommends a 16:9 MP4 at 1080p or higher, H.264 and AAC-LC, 24 to 60 FPS, one video and one audio track. How to render and check it.

Spotify for Creators recommends a 16:9 MP4 at 1080p or higher, encoded as H.264 with AAC-LC audio, at 24, 25, 30, 50 or 60 FPS, with exactly one video track and one audio track of the same duration. MOV is also compatible. These are the specs for uploading a video episode, not for Spotify ads or a Canvas loop. Everything below is from Spotify's video specs, read 2026-09-29.
What are Spotify's video podcast specs?
| Item | Recommended | Also compatible |
|---|---|---|
| File size | Less than 10 GB | Up to 60 GB |
| Duration | Less than 4 hours | Up to 12 hours |
| Container | MP4 | MOV (FLV and AVI discouraged) |
| Video codec | H.264 | H.265 (HEVC), many others |
| Resolution | 1080p or higher | 180p or higher |
| Aspect ratio | 16:9 | Any, with letterboxing or pillarboxing |
| Frame rate | 24, 25, 30, 50 or 60 FPS | - |
| Video bitrate | 25 Mbit/s CBR (1080p), 35 Mbit/s CBR (4K) | Any within the size range |
| Audio | AAC-LC, 128 Kbps or higher, stereo | FLAC and others; mono is upmixed |
Does Spotify have a file size limit?
The two Spotify pages read differently. The specs page recommends under 10 GB and accepts up to 60 GB. The publishing page says Spotify for Creators has no file size limit, but that larger files take longer to process and are more likely to fail if your connection drops. It also says the file cannot be longer than 12 hours, that you can only upload video on the web, and that on platforms other than Spotify your episode will be audio-only.
How do I render a Spotify-ready video with Sume?
Timeline 1.0 sets the frame: output.width and output.height are even integers from 256 to 2160, so 1920x1080 is valid, while a 3840x2160 frame is outside the range. output.fps takes 24, 25, 30 or 60, which covers four of Spotify's five rates and not 50. The audio length, audio.duration_seconds, runs from 1 to 1800 seconds, so one render tops out at 30 minutes, well under Spotify's 4-hour recommendation; a longer episode would need another tool.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: spotify-episode-001" \
-d '{
"audio": { "url": "https://media.sume.com/artifacts/artf_demo/episode.wav",
"duration_seconds": 600 },
"output": { "width": 1920, "height": 1080, "fps": 30 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/cover.mp4",
"start": 0, "duration": 600, "fit": "cover" }
]
}'Which Spotify specs can Sume not set?
Timeline's documented output fields are size, frame rate and fades. The docs list no video bitrate, CBR or codec field, so the 25 Mbit/s CBR and the H.264 recommendation cannot be requested by you; Spotify says any bitrate is compatible within the size range, and H.265 and many other codecs are listed as compatible. Read what you got with Video inspect 1.0, whose probe reports width, height, fps, container, video_codec, has_audio, duration_seconds and size_bytes without billing. If the probe shows a different codec than you want, re-encode with your own editor. For a Canvas loop or ads rather than an episode, see Spotify video ad specs.
Sources
Related posts
More in Media tools
- How to sync subtitles with video: offset, drift, re-time
Sync subtitles by shifting every timestamp when all lines are off by the same amount, or scaling them when the gap grows. How to fix both for good.
- Telegram video note limits: 1 minute, square, upload only
A Telegram video note is a rounded square MPEG4 up to 1 minute, and bots cannot send it by URL. What sendVideoNote takes and how to render a square clip.
- TikTok TopView ad specs: size, length, and safe zones
TikTok TopView ads are vertical 9:16 videos of 540×960 px or more, 5–60 s (9–15 s recommended), up to 500 MB, 2,500 kbps or more, pre-approved.
- Timeline fit: cover, contain, stretch or blur?
In a Sume Timeline render, video[].fit sets how a clip fills the frame: cover crops, contain pads black, stretch distorts, blur pads with a blurred copy.
Written by Sume