Bumper and non-skippable ads bill per impression: cut 6, 15, 30 s
Google bills bumper and non-skippable in-stream per impression (Target CPM). Length is a creative call: cut 6, 15, and 30 second versions with video-trim.

Because bumper and non-skippable in-stream ads are bought on impressions, their length does not change how a view is billed. Google's video specs page says both use Target CPM bidding, so you pay based on impressions; it lists bumpers at 6 seconds with a 5-second minimum and non-skippable in-stream at 15-60 seconds depending on campaign subtype (read 2026-10-07).
That makes the cut a creative decision. Three Sume video-trim jobs, $0.06 together, give you a 6, a 15, and a longer cut from one master.
What Google's page lists
From Google Ads video ad specs. I did not read file-size or aspect-ratio rules on that page, so this post does not cover them.
| Format | Length | Bidding |
|---|---|---|
| Bumper | 6 s (>=5 s minimum) | Target CPM |
| Non-skippable in-stream | 15-60 s, by campaign subtype | Target CPM |
| Masthead | no max; over 10 s recommended | not stated in the lines I read |
Cut once per length
Two things decide the longer cut: what your campaign subtype allows, and what the story needs. If your campaign says 15 or 20 seconds, cut that; I use 15 as the middle. The loop below prints three request bodies from one master, each with its own idempotency key so that a retry replays rather than re-buys.
import json
master = "https://media.sume.com/artifacts/artf_demo/master.mp4"
for key, seconds in (("bumper-6", 6), ("nonskip-15", 15), ("nonskip-30", 30)):
body = {"video_url": master, "start": 0, "duration": seconds}
print(key, json.dumps(body))Where a 6-second cut breaks
A 6-second bumper cut from the front of a 60-second film often ends mid-word. If the master has speech, probe with video inspect and transcribe: true; the sentence segments[] show where a thought ends. A bumper may need a purpose-made 5-6 second clip instead of a cut, which is a generation job, not a trim.
The video-trim precision: exact default re-encodes, so the cut starts on the frame you asked for. keyframe is a stream copy that can start up to a GOP early.
Verify before upload
Probe each output: the bumper must be at least 5 seconds and the page's 6 seconds is the target. Do not round a 5.8-second result up in your head; check duration_seconds in the probe and, if it is short, set duration explicitly to 6 and re-cut.
Choosing among the three
Pick by job. The 6-second bumper is a reminder for people who already know you; the 15-second cut carries one offer; the 30-second cut can tell a small story. Which subtype your campaign uses decides what is allowed, so check the campaign before you cut.
Because the billing event is the impression, you do not save money by cutting shorter, and you do not waste money by cutting longer. The only cost you control is the production side: $0.02 per trim, and a bumper-specific clip if the cut will not do.
Sources
Related posts
More in Media tools
- Omni 40-second ad: resend the packshot at every 10-second step
Google extends Omni clips to 40 s in 10 s steps with 10 s of prior context. On Sume, four 720p clips with the packshot as a reference cost $5.00.
- Pan and scan a 1.85:1 trailer to vertical: one crop per shot
For a 1.85:1 trailer, trim each shot, then crop it at its own x offset: width 0.304054, x 0 to 0.695946. A three-shot plan with job count, cost and order.
- Pinterest Showcase video: 3 to 60 seconds, 2:3, 1000x1500 on Sume
Pinterest's spec page lists 3-60 seconds, 2:3 and 1000 x 1500 for Showcase video. Sume Timeline can render 1000x1500 and a 3-second cut costs the same $0.10.
- Post-production cost for 100 AI clips: trim, caption, upscale
Trim is $0.02, captions $0.20, upscale $0.009 per second. Trim, caption and upscale 100 fifteen-second clips for $35.50 on Sume, then assemble them for $2.50.
Written by Sume