Smallest vertical video size that passes Google Ads and TikTok
Google lists 720x1280 as the vertical minimum, TikTok in-feed 540x960 and its app bundle 720x1280. One Timeline output size clears them all, with the table.

The smallest vertical size that clears both is 720x1280. Google Ads' video spec page lists 720x1280 as its vertical minimum, and TikTok's Global App Bundle page asks for at least 720x1280, while TikTok's in-feed page needs only 540x960. A file at 720x1280 passes every vertical floor in the pages read for this post, and Sume Timeline can output it by setting output.width to 720 and output.height to 1280.
This matters when you render drafts cheaply or deliver to several platforms from one file. A 540x960 file that is fine for TikTok in-feed would fall below Google's floor, so the shared minimum is set by the strictest page, not the one you built for first.
The floors, platform by platform
The numbers below come from each vendor's own help page, fetched on 2026-10-07. Google's "About video ad specs" gives minimums of 1280x720 horizontal, 720x1280 vertical and 480x480 square, with 1080p recommended. TikTok's auction in-feed page gives 9:16 at 540x960 or more, 16:9 at 960x540 or more and 1:1 at 640x640 or more for non-Spark ads. The Global App Bundle page lists 720x1280, 1280x720 and 640x640 as minimums. The TikTok Ad Network page lists 720x1280, 1280x720 and 720x720.
Notice that the vertical floor and the square floor do not agree. The square floor is 480 for Google but 640 for TikTok in-feed and the app bundle, and 720 on the Ad Network page. So the shared square size is 720x720.
| Page | Vertical 9:16 | Horizontal 16:9 | Square 1:1 |
|---|---|---|---|
| Google Ads: About video ad specs (minimum) | 720x1280 | 1280x720 | 480x480 |
| TikTok: Auction In-Feed (non-Spark, at least) | 540x960 | 960x540 | 640x640 |
| TikTok: Global App Bundle (at least) | 720x1280 | 1280x720 | 640x640 |
| TikTok: Ad Network (listed sizes) | 720x1280 | 1280x720 | 720x720 |
| Shared size that clears every row | 720x1280 | 1280x720 | 720x720 |
What Timeline allows
Timeline 1.0 takes output.width and output.height as even integers between 256 and 2160, so all three shared sizes are valid, and so is the 1080x1920 default. There is no pixel floor in Timeline that conflicts with the platform floors: the lowest legal edge, 256, is far below every number above.
The rate does not depend on the size. The public rate is $0.10 per ceil output minute, so a 20-second render bills one minute at $0.10 at 720x1280 or at 1080x1920. A smaller file is not cheaper, only smaller to upload. If you render at the shared minimum for a draft, plan on re-rendering at the recommended 1080x1920 for delivery.
Render the shared-minimum file
The request below sets the vertical shared size. Replace the sizes with 1280x720 or 720x720 for the other two shapes. The fit mode decides how the source is placed: cover crops to fill, blur keeps the whole frame over a blurred background.
You can preflight the same body for free at POST /v1/timeline-1.0/plan, which returns billable_minutes and estimated_cost_usd_micros without creating a job.
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: shared-min-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/hero.mp4",
"start": 0,
"duration": 20,
"fit": "cover"
}
],
"output": { "width": 720, "height": 1280 }
}'When to go above the minimum
Pages that list a minimum also name a recommendation, and Google's page recommends 1080p: 1080x1920 vertical. If your creative has small text, 720 pixels across the short edge softens it, and a platform that rescales the file will soften it again. Render at the recommended size for anything you spend media on, and use the shared minimum for review copies and for placements where the page gives only a floor.
The sizes only cover resolution. The same TikTok pages set a 500 MB file limit and a bitrate floor of 516 kbps, and Google's page sets a 256 GB cap on file size; none of those can be set in a Timeline request, because the server rejects codec and crf keys. Check the delivered file against them before you upload.
Checking the delivered size
Do not trust the request alone; confirm the size of what came back. Video inspect returns a probe object for a clip you already own on media.sume.com, and a frames: false call returns only the probe with no stills. Video frames returns stills at the source size when you omit max_edge, with the width and height of each frame in the response, which is a direct way to read the real pixel size.
Compare the numbers to the table above. If you are submitting the same file to Google Ads and TikTok, the strictest row wins: 720x1280 for vertical, 1280x720 for horizontal, and 720x720 for square. Anything bigger passes every minimum in the table too, so the shared size is a floor and not a target.
Sources
Related posts
More in Formats
- Which Sume catalog Formats make ad creative: the slugs by ad type
Sume ships 27 ready-made Formats at the sume handle. Which slugs fit which ad type, and how to read one with GET /v1/formats/sume/{slug} before paying.
- Ready-made Formats for product video: the Sume Format catalog
Sume ships ready-made Formats for product and UGC-style video and images, each callable from your backend with one HTTP request at the reserved sume handle.
- What is a Sume Format? Turn an agent thread into one API call
A Sume Format is a saved video recipe your backend calls by handle and slug. One POST runs it in a fresh sandbox and returns media plus optional typed JSON.
- How to embed AI video generation in your product with Sume Formats
To embed AI video generation, your server holds one Sume API key and runs a Format per customer, with a derived Idempotency-Key, spend cap, and webhook.
Written by Sume