Google Performance Max video specs: sizes and lengths
Performance Max recommends one video each in 16:9, 1:1, and 9:16, 10 seconds or more, at 1920×1080, 1080×1080, and 1080×1920. Make each with Sume.

Google's Performance Max video specs list three orientations: horizontal 16:9, square 1:1, and vertical 9:16, each 10 seconds or longer, with 1920×1080, 1080×1080, and 1080×1920 pixels recommended for HD. Google also asks for at least one vertical video of 10 to 60 seconds for Shorts eligibility, and says an asset group with no video may get videos auto-generated from its other assets. With Sume, generate each shape on a video model that lists it, or render one edit three times with Timeline 1.0 at those exact sizes.
Google's rules are quoted from two Google Ads Help pages, About video assets for Performance Max campaigns and Performance Max campaigns specs and format requirements, read on 2026-09-27; Google can change them. Sume facts come from Timeline 1.0, Video generation, and the Sume API reference.
What are the Performance Max video requirements?
Google's asset table recommends one video of each orientation, and says you can add up to 15 videos. Its size and length guidance per orientation:
| Orientation | Ratio | Recommended HD size | Length |
|---|---|---|---|
| Horizontal | 16:9 | 1920×1080 | 10 seconds or more |
| Square | 1:1 | 1080×1080 | 10 seconds or more |
| Vertical | 9:16 | 1080×1920 | 10 seconds or more; at least one of 10–60 seconds for Shorts eligibility |
Which file does Google want, and where does it go?
- Format: the Performance Max page lists .MPG (MPEG-2 or MPEG-4). Google's Video ads specs page also recommends .MPG and lists .MP4 and .MOV among the formats it accepts.
- Quality and size: HD video, since Google doesn't recommend SD, in a file of 256 GB or less. Audio files such as MP3, WAV, or PCM aren't accepted.
- Hosting: your own YouTube brand channel, or a House channel. A House channel is a Google-managed YouTube channel that lets you upload the file during campaign setup instead of creating or linking your own; with it you can't use YouTube Analytics for the video, build remarketing lists from it, edit its title or description, add a custom thumbnail, or appeal a takedown.
What happens if you don't upload a video?
Google says one or more videos may then be auto-generated from the assets in your asset group, and with a Merchant Center feed, from the feed's text and images. Its specs page adds that to prevent the system from auto-generating AI videos, you must upload your own videos in all three formats: horizontal, square, and vertical.
Uploaded videos can still be reshaped. Google may scale horizontal videos to square or vertical for YouTube In-stream and Shorts, and says it reviews each one to ensure that quality isn't lost.
How do I make 16:9, 1:1, and 9:16 versions with Sume?
Use either route, or both:
- Generate each shape. Send
aspect_ratioas16:9,1:1, or9:16toPOST /v1/videoson a model that lists it insupported_aspect_ratios; not every model lists all three (ratios by model).sume/automakes 3–10 second clips at 16:9 or 9:16 only, so pin a model that lists1:1for the square. A pixelsizereturns400 unsupported_parameter. - Render one edit three times. Timeline 1.0 takes
output.widthandoutput.heightas even integers from 256 to 2160, so all three recommended sizes are exact; 1080×1920 is the default. Each slot'sfitdecides how a clip meets the new shape. Today the defaultcoverscales the clip to fill the frame and crops the overflow, andblurpads a mismatched shape with a blurred copy of the frame instead of black bars (fit modes). Timeline reads only your workspace'smedia.sume.comfiles, such as the clips earlier Sume jobs returned, and each render needs anIdempotency-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: pmax-square-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/voice.wav",
"duration_seconds": 15
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-1.mp4", "start": 0, "duration": 8 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/shot-2.mp4", "start": 8, "duration": 7 }
],
"output": { "width": 1080, "height": 1080 }
}'How long should each video be?
At least 10 seconds for every orientation, with one vertical cut kept between 10 and 60 seconds for Shorts. On Sume, one generated clip is capped at 15 seconds on most models, while seedance-2.5 takes 4–30 seconds and wan-3.0 2–30 seconds. For anything longer, assemble clips on Timeline 1.0: audio.duration_seconds (1–1800) sets the output length, and the output always runs exactly that long.
Today a Timeline render's sound comes from its audio spine and optional soundtrack, not from the clips. To keep a generated clip's own audio, extract it with POST /v1/audio-detach, whose default wav is what audio.url wants. A voiceover spine must be Sume-hosted too, such as a Sume text-to-speech master (where the voice and music come from).
How do I check the files before uploading?
On each finished MP4, run POST /v1/video-inspect with frames: false: that probe is unbilled and reports width, height, and duration_seconds, so you can confirm each orientation's size and the 10-second floor. Then download the files and upload them to YouTube for the campaign.
Sources
- Google Ads Help: About video assets for Performance Max campaigns (read 2026-09-27)
- Google Ads Help: Performance Max campaigns specs and format requirements (read 2026-09-27)
- Google Ads Help: Video ads specs and format requirements (read 2026-09-27)
- Video generation
- Video Router
- Timeline 1.0
- Audio detach
- Video inspect
- Core workflow
- API reference
- Sume API reference
Related posts
More in Media tools
- Pinterest pin size and video specs: 2:3 images and clips
Pinterest recommends 2:3 or 1000x1500 image Pins and takes 4 s to 15 min video. Make 2:3 images with Sume, and crop 9:16 clips to 2:3 or 4:5.
- How to reduce video file size to fit an upload limit
Reduce video file size with fewer bits: a smaller frame, a lower frame rate, a shorter cut, or no audio. Sume takes no bitrate, so check size_bytes.
- Remove background from images in bulk with an API
Background removal takes one image per job, so a bulk run is one async job per image, paced by your concurrency limit, at one flat price per image.
- How to remove black bars from a video by cropping
Black bars baked into a video only go away with a crop. Measure them on a full-size still, then crop them off with FFmpeg's crop filter on Sume.
Written by Sume