Demand Gen video specs: sizes, lengths, and the 4:5 cut
Demand Gen takes 1:1, 16:9, 4:5, and optional 9:16 videos of at least 5 seconds, uploaded to YouTube. How to make each, including 4:5, with Sume.

Google's Demand Gen video specs list four shapes, with recommended HD sizes: square 1:1 at 1080×1080, horizontal 16:9 at 1920×1080, vertical 4:5 at 1080×1350, and an optional vertical 9:16 at 1080×1920 that Google recommends for YouTube Shorts. Each video must run at least 5 seconds, videos shorter than 10 seconds won't serve on YouTube In-stream, and the video has to be one you've uploaded to YouTube. No Sume video model outputs 4:5, so render that version on Timeline 1.0 at 1080×1350.
Google's rules are quoted from its Google Ads Help page About video assets specifications and ad format guidelines for Demand Gen campaigns, read on 2026-09-27; Google can change them. Sume facts come from Video generation, Timeline 1.0, and the Sume API reference.
What video sizes does Demand Gen take?
Google asks for 1 to 5 videos per ad, lists MPG (MPEG-2 or MPEG-4) as the eligible format, and caps a video file at 256 GB. Its Video ads specs page also lists .MP4 and .MOV among the formats it accepts.
| Orientation | Ratio | Recommended HD size |
|---|---|---|
| Square | 1:1 | 1080×1080 |
| Horizontal | 16:9 | 1920×1080 |
| Vertical | 4:5 | 1080×1350 |
| Vertical 9:16 (optional; recommended for YouTube Shorts) | 9:16 | 1080×1920 |
How long should a Demand Gen video be?
- Minimum: 5 seconds.
- YouTube In-stream: videos shorter than 10 seconds won't serve there.
- Recommended: Google suggests videos with more than 15 seconds.
- On Sume: one generated clip is capped at 15 seconds on most models, while
seedance-2.5takes 4–30 seconds andwan-3.02–30 seconds. Longer ads are Timeline 1.0 renders, whereaudio.duration_seconds(1–1800) sets the output length.
How do I make the 4:5 version with Sume?
aspect_ratio on POST /v1/videos has no 4:5 value, and Avatar 1.0 takes only 1:1, 3:4, 9:16, 4:3, or 16:9. So make 4:5 on Timeline 1.0, whose output.width and output.height take even integers from 256 to 2160, 1080×1350 included. Today the default cover fit scales each clip to fill the frame and crops what overflows.
Start from the closest shape. By our arithmetic, a 3:4 clip covered into 1080×1350 loses about 6% of its height to the crop, and a 9:16 clip about 30%. Several models list 3:4, seedance-2 among them. Timeline reads only your workspace's media.sume.com files, such as clips earlier Sume jobs returned, and needs an Idempotency-Key:
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: demand-gen-4x5-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/voice.wav",
"duration_seconds": 20
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-a.mp4", "start": 0, "duration": 10 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-b.mp4", "start": 10, "duration": 10 }
],
"output": { "width": 1080, "height": 1350 }
}'Can one edit cover all four shapes?
Yes: render the same slots four times, changing only output (1080×1080, 1920×1080, 1080×1350, and the default 1080×1920); Performance Max video specs walks through that approach and the fit modes. To crop a single clip to 4:5 instead, the video filter arithmetic is in Meta video ad specs.
Does a Demand Gen video need sound?
No. Google says you can run Demand Gen video ads without sound. Its defaults differ by placement: YouTube Shorts plays sound on by default, YouTube In-stream turns sound on after a tap, and Discover, the YouTube Home feed, Gmail, and the Google Display Network start muted.
Today a Timeline render's sound comes from its audio spine and optional soundtrack, not from the clips, so audio.url takes a Sume-hosted file, such as a Sume text-to-speech master or a track detached from a generated clip. For a silent cut, audio.mode: "silence" declares the length with no spine file.
Where does the video have to be?
On YouTube. Google says you can't upload an offline video: use a video you've uploaded to YouTube. If you don't want your video to serve on YouTube, Google says you may use an unlisted YouTube video in the campaign. So download each rendered MP4 from its media.sume.com URL and upload it to your channel before you build the ad.
Sources
Related posts
More in Media tools
- Detect language from audio with a speech-to-text API
Detect the language spoken in an audio file: run speech-to-text with no language hint, then read the detected code and confidence from the result.
- Facebook in-stream ads: video specs and the 15-second rule
Facebook in-stream video ads: 16:9 or 1:1, at least 1080×1080, 5–15 s on desktop. Ads of 15 s or less play in full; longer ones stop at 15 s.
- How to fix audio delay in a video by shifting the sound
Fix a video whose sound runs late or early: detach the audio and re-render the clip with the offset set as audio.source_in or the slot's source_in.
- How to freeze frame a video: hold the last or any frame
Freeze a video's last frame with one tpad filter call, or hold any frame mid-clip as a still between two parts of the clip in a Timeline render.
Written by Sume