Google Ads video upload formats: MP4 is accepted, cap is 256 GB

Google recommends MPG but accepts MP4, MOV, WebM and more under 256 GB for video ads. Sume returns MP4 from timeline, trim and filter. Sizes: 16:9, 9:16, 1:1.

4 min readSume
All posts

Google's video ad spec page recommends .MPG (MPEG-2 or MPEG-4) but also accepts .MP4, .MOV, .WMV, .AVI, .FLV, WebM, HEVC and more, with files under 256 GB. Sume's Timeline, trim and video-filter jobs return MP4, which is on the accepted list, so no conversion is needed.

What Google's page lists

In the in-video ads on YouTube section, the video asset table lists horizontal 16:9 at 1920x1080, vertical 9:16 at 1080x1920 and square 1:1 at 1080x1080, each with a recommended length of 15 seconds. The note says to upload .MPG but lists .WMV, .AVI, .MOV, .FLV, .MPEG-1, .MP4, .MPEGPS, 3GPP, WebM, DNxHR, ProRes, CineForm and HEVC (H.265) as also accepted. Files must be under 256 GB, and audio-only files such as MP3, WAV or PCM are not accepted.

In-feed video asset sizes from Google's page, with the Sume route (read 2026-10-05)
ShapeGoogle sizeRecommended lengthSume route
Horizontal 16:91920x108015 sNative 16:9 render or Timeline 1920x1080
Vertical 9:161080x192015 sNative 9:16, or the Timeline default
Square 1:11080x108015 sNative 1:1 if the model lists it, else crop

Where Sume sits

The Timeline docs say the default output is a 1080x1920 MP4, and that width and height can be set to even values from 256 to 2160, so 1920x1080 and 1080x1080 are both within range. Trim and video-filter each return a new MP4.

A 256 GB cap is irrelevant for generated clips. A 15-second ad in the tens of megabytes is far below it.

A square 1080x1080 from a vertical clip

Timeline can re-fit a clip onto a square canvas with fit: cover, contain, stretch or blur. Use blur to keep the whole frame with a soft background, or cover to fill the square and lose the sides. The request sets output width and height to 1080 and one video slot with the source URL and fit.

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: gads-square-001" \
  -d '{
    "audio": { "mode": "silence", "duration_seconds": 6 },
    "video": [{ "source_url": "https://media.sume.com/artifacts/artf_demo/vertical.mp4",
                "start": 0, "duration": 6, "fit": "blur" }],
    "output": { "width": 1080, "height": 1080 }
  }'

Check before you send

The example uses audio mode silence, which only declares the output length with no spine file, so for a sound-on ad give the job a real audio url instead. Source clips must first be imported as media.sume.com artifacts.

Then confirm the output size with video-inspect and upload to Google Ads. Label AI content where required, as the label posts explain.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume