Why a vertical-only YouTube ad may not serve, and the 16:9 fix
Google says campaigns with only vertical videos may not serve in YouTube in-feed. Render a 16:9 twin of your 9:16 ad from one audio spine with Sume Timeline.

A campaign that uploads only 9:16 videos can fail to deliver, and Google says so directly: "Campaigns may not serve if they only have vertical videos as these assets will no longer serve in our YouTube in-feed environments." The fix is to add a horizontal (16:9) or square (1:1) version of the same ad. With Sume Timeline you can render that twin from the same audio and clips by changing only the output size and the fit mode.
This post covers what the Google page says about the missing placement, the two sizes Google recommends for the twin, and the exact Timeline request that produces it.
What Google's pages say
Two Google Ads Help pages matter. "Use square and vertical video to engage mobile customers" gives the warning above and recommends three ratios: horizontal 16:9, vertical 9:16 and square 1:1, with ratios between them allowed. "About video ad specs" lists the recommended resolutions: 1920x1080 horizontal, 1080x1920 vertical, 1080x1080 square.
The Shorts-specific page adds the other half of the story. Horizontal assets in the vertical Shorts experience "serve with blurred tops and bottoms", so a horizontal file is not wasted on Shorts either. That is the reason a pair beats a single vertical file: the pair covers in-feed and Shorts.
| Asset | Aspect ratio | Recommended size | Source page |
|---|---|---|---|
| Vertical master | 9:16 | 1080x1920 | About video ad specs |
| Horizontal twin | 16:9 | 1920x1080 | About video ad specs |
| Square twin | 1:1 | 1080x1080 | About video ad specs |
Choosing the twin
Pick 16:9 if the campaign serves in-feed on desktop and mobile and you only add one extra file. Pick 1:1 if the page names square for your campaign type: Google says square is still recommended for App, Demand Gen and Performance Max campaigns.
Fit matters when the master was shot vertically. In Timeline each slot has fit: cover (default) fills the frame and crops, contain letterboxes, stretch distorts, and blur fills the bars with a blurred copy. For a vertical clip placed into a 1920x1080 frame, blur keeps the whole subject visible; cover would cut the top and bottom.
The twin request
Both renders can share one voice file, so the audio is identical. Every URL must be a media.sume.com artifact or asset of your workspace, and each submit needs its own Idempotency-Key. The script below renders the vertical master and the horizontal twin; swap the sizes to 1080 and 1080 for a square.
A 15-second ad is under one minute, so each call bills one Timeline minute at the documented $0.10 rate, which makes the pair $0.20. Confirm the live rate in GET /v1/catalog before budgeting.
async function main() {
const base = {
audio: {
url: "https://media.sume.com/artifacts/artf_demo/voice.wav",
duration_seconds: 15,
},
video: [{
source_url: "https://media.sume.com/artifacts/artf_demo/hero.mp4",
start: 0, duration: 15, fit: "blur",
}],
};
for (const [name, width, height] of [["vertical", 1080, 1920], ["wide", 1920, 1080]]) {
const res = await fetch("https://api.sume.com/v1/timeline-1.0/render", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SUME_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": `ad-${name}-001`,
},
body: JSON.stringify({ ...base, output: { width, height } }),
});
console.log(name, res.status, (await res.json()).request_id);
}
}
main();Check before you upload
The default response is 202 with a job; poll GET /v1/jobs/:id/status until result_ready, then read /result for video_url. Check warnings[] for padded or looped short sources: they are soft warnings, not failures, but a padded clip means your source was shorter than the slot.
Finally, open both files and look at the first frame. A blurred fill is a design choice, and Google's page does not say it is required for your campaign; it only says what it does to horizontal assets in the Shorts experience.
Keeping the pair consistent
Two files of one ad should differ in framing and nothing else. Use one voice file, one set of slot start and duration values, and the same transitions in both requests. If you change the cut points between the vertical and the horizontal file, any difference in results mixes framing with editing, and you will not know which one moved the metric.
Name the files by ratio and keep the job ids in your own log. Sume returns one video_url per job, and the Idempotency-Key makes a retried submit return the same job instead of billing a second render. When a render fails with a stable refusal code such as unsupported_media_source, the cause is almost always a URL that is not a workspace media.sume.com artifact: import the clip and resubmit.
A last practical point: a vertical clip in a horizontal slot loses most of its pixels to the fill. If the vertical master was generated for the purpose, ask for a 16:9 version at generation time instead, so the twin is native rather than a blurred pillarbox. That costs a model call, so weigh it against the free blur fit for low-spend campaigns.
Sources
Related posts
More in Use cases
- How do I make a Halloween party invitation video with RSVP?
Make the poster with Ideogram 4.5 ($0.075), animate it for 6 seconds ($0.75) and burn the date and RSVP as captions ($0.20): $1.025 on Sume.
- How do I make a 9-minute Halloween haunt sound loop from one track?
Generate one 3-minute ambience track ($0.125) and join it three times with Timeline audio concat ($0.01): a 9-minute file for $0.135 on Sume.
- How much narration per product in a gift guide video, and its cost?
Plan about 150 characters a product plus 300 for intro and outro. Eight products is 1,500 characters, $0.08 on Sume TTS, or $0.09 as eight jobs and a join.
- How to shoot 1 to 4 person photos for H3 Max Recast
Photo guidance for Recast references on Sume: one photo per new person, framing, light and angle. What the route takes and what to check before you submit.
Written by Sume