Roku ad specs: video and audio rules for Roku Ads Manager
Roku ads must be 16:9, 6–92 seconds, .mov or .mp4 up to 1 GB, 23.98, 25 or 29.97 fps, 6 Mbps or more, with 48 kHz 2-channel stereo audio.

Roku Ads Manager requires a 16:9 video of 6 to 92 seconds in a .mov or .mp4 file of up to 1 GB, encoded as AVC (H.264) or ProRes 422 HQ at 23.98, 25, or 29.97 fps with a video bitrate of at least 6 Mbps. The audio must match the video's length and be 2-channel stereo at 48 kHz and at least 96 kbps; Roku prefers PCM and accepts AAC. With Sume, render the spot on Timeline 1.0 at 1920×1080 and 25 fps, then check its bitrate and audio channels before you upload it.
Roku's rules are quoted from three Roku Ads Manager help articles, Creative technical requirements, Creative guidelines, and Creating video ads, read on 2026-09-28; Roku can change them. Sume facts come from the Timeline 1.0 and Video inspect docs, the Sume API reference, and Sume's media compiler as it works today. Other streaming TV sellers are compared in CTV ad specs.
What are Roku's video ad specs?
Roku splits its list into a video column and an audio column; “n/a” means the line doesn't apply to that column.
- Upload a file: Roku doesn't accept YouTube links or videos pulled from other online sources.
- Language: only English is supported today.
- Review: a technical check comes first, and a video that misses the requirements fails to upload; then a manual review takes 2–3 business days.
- Action ads add an overlay message of up to 40 characters, a PNG logo of up to 150kb, and a text message of up to 236 characters.
| Spec | Video | Audio |
|---|---|---|
| File size | Maximum 1 GB | n/a |
| File format | .mov or .mp4 | PCM preferred, AAC accepted |
| File name length | 170 characters max | n/a |
| Length | 6–92 seconds | Must match video length |
| Aspect ratio | Must be 16:9 | n/a |
| Frame rate | 23.98, 25.00, or 29.97 fps | n/a |
| Codec | AVC or ProRes 422 HQ | n/a |
| Bit rate | Minimum 6 Mbps | Minimum 96 kbps |
| Bit depth | n/a | 16- or 24-bit |
| Channels | n/a | 2-channel stereo |
| Sampling rate | n/a | 48 kHz |
How do I make a Roku ad with Sume?
Generate the shots and a voiceover, then assemble them with POST /v1/timeline-1.0/render (how to make a 30-second ad covers the shots). It reads only your workspace's media.sume.com files and needs an Idempotency-Key. Today its sound comes only from the audio spine and an optional soundtrack, not from the clips.
output:1920×1080. Roku requires 16:9 but names no pixel size; Timeline takes even sizes from 256 to 2160 per edge.output.fps:25, the only Timeline rate on Roku's list, since Timeline has no 23.98 or 29.97 option. If your clips run at another rate, Timeline repeats or drops a frame every few frames to reach 25, which can judder on motion, and warnsoutput_fps_resamples_sources.audio.duration_seconds:15or30, inside Roku's 6–92 seconds. It sets the output length.
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: roku-30s-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/voice-48k.wav",
"duration_seconds": 30
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-1.mp4", "start": 0, "duration": 15 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-2.mp4", "start": 15, "duration": 15 }
],
"output": { "width": 1920, "height": 1080, "fps": 25 }
}'Will the render pass Roku's 6 Mbps minimum?
Not by setting it. Today Timeline encodes H.264 with libx264 at a constant quality (-crf 20) and refuses crf, codec, and other encoder keys with a 400, so the bitrate follows the footage. Measure before you upload:
- Run
POST /v1/video-inspectwithframes: falseon the render'svideo_url. That probe is unbilled and reportssize_bytesandduration_seconds. - Average bitrate is
size_bytes× 8 ÷duration_seconds, audio included. A 30-second render smaller than about 23 MB can't carry 6 Mbps of video plus 192 kbps of audio (our arithmetic). - If it falls short, re-encode it at 6 Mbps or more in your own encoder (how to check a video's bitrate).
Does the audio meet Roku's rules?
The codec and bitrate do: today Timeline writes AAC, which Roku lists as accepted, at 192 kbps, above its 96 kbps minimum. The sample rate and channel count are not settings. The Sume API reference says the master inherits both from the audio spine file.
- Sample rate: use a 48 kHz spine. Sume's TTS 1.0 (
POST /v1/tts-1.0/generate) takesoutput_format.sample_rate48000; its default mp3 is 44,100 Hz. - Channels: a mono voiceover spine gives a mono master, which misses Roku's 2-channel stereo. Audio detach can only keep a source's channels or downmix to mono, so fix a mono master in your own editor.
- Check both with the probe:
audio_sample_rateshould read48000andaudio_channelsshould read2.
Sources
Related posts
More in Media tools
- Social media video sizes: 8 platforms in one table
Vertical 9:16 is the video shape most platforms list. The sizes TikTok, Instagram, Facebook, YouTube, Snapchat, X, LinkedIn, and Pinterest give.
- How to split a video by file size without re-encoding
Split a video by file size: scale its length by your limit ÷ its size, cut parts that long without re-encoding, then check each part's size.
- SRT vs VTT: the difference between the two subtitle formats
SRT and VTT are both plain-text subtitle files. VTT adds a WEBVTT header, dot milliseconds, positioning and styling, and is what HTML5 players read.
- Steam capsule sizes: header, small, main, and vertical
Steam's capsules are 920×430 (header), 462×174 (small), 1232×706 (main) and 748×896 (vertical). What each may show, and how to make the art at size.
Written by Sume