YouTube TV ad specs: ad lengths and the 1-second rule
YouTube TV ads run :06 or shorter, :15 or shorter, :30, or :60, and Google says 30- and 60-second ads that miss by over 1 second won't serve.

YouTube TV ad specs are mostly about length: non-skippable ads run :06 seconds or shorter, :15 seconds or shorter, :30 seconds, or :60 seconds. Google says 30- and 60-second ads must match that length exactly or fall within 1 second of it, so a 30-second ad must run between :29 and :31, and ads outside that tolerance will not serve.
Google's rules are quoted from About YouTube TV ad formats in Google Ads Help, read on 2026-09-29; Google can change them. That page gives lengths, not frame sizes or files; YouTube ad specs lists the size and length rules for YouTube's in-video formats. Sume facts come from the Timeline 1.0 and Video inspect docs.
Which ad formats run on YouTube TV?
Google lists four formats for YouTube TV. How each is bought differs:
| Format | Length | How it runs on YouTube TV |
|---|---|---|
| Non-skippable in-stream | :06 or shorter, :15 or shorter, :30, :60 | 30- and 60-second ads are in the YouTube TV Lineups, including the Live Sports Lineup |
| Skippable in-stream | No minimum or maximum | Not available on YouTube TV-only lineups; eligible through some other campaign types |
| Bumper | 6 seconds or shorter | Non-skippable |
| Branded Slates | Not stated | Images or videos with your logo overlaid; start through a Google Ads sales rep; not in Display & Video 360 |
Why must a YouTube TV ad be exactly 30 or 60 seconds?
Because Google will not serve an ad that misses. Its words: “For YouTube TV, precision in video length is critical. Your ads will not serve if they're outside of this 1-second tolerance.” The rule covers the 30- and 60-second lengths; a 60-second ad follows the same 1-second window. The shorter slots are ceilings, “:06 seconds or shorter” and “:15 seconds or shorter”.
Google adds that eligibility doesn't guarantee your ads will serve on YouTube TV, and that ads go through creative review against its policies and any partner ad guidelines.
How do I make a YouTube TV ad exactly 30 seconds with Sume?
Assemble it with Timeline 1.0, where audio.duration_seconds is the output length. Set it to 30 or 60, lay your video[] slots across that length (the docs let picture coverage trail the audio spine by at most 0.5 seconds), and set output, for example 1920×1080 for a 16:9 frame. Every URL must be your workspace's media.sume.com file, such as an earlier Sume job's output. How to make a 30-second commercial with AI covers the full render.
Two free checks confirm the length. Before rendering, POST /v1/timeline-1.0/plan runs the schema checks and the compiler on your render body without creating a job or reserving credits, and returns duration_seconds. After rendering, a probe-only inspect of the finished MP4 returns the file's duration_seconds; probe and stills are unbilled.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: youtube-tv-check-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/spot-30.mp4",
"frames": false
}'How are YouTube TV ads bought and reviewed?
Google's page describes these routes to YouTube TV:
- Buying: on a reservation basis through YouTube Select (Display & Video 360 Programmatic Guaranteed instant deals or Google Ads Reservation), or through Display & Video 360 non-guaranteed instant deals, depending on the format.
- Serving: YouTube-hosted creatives and VAST tags are supported for the 30- and 60-second ads.
- Review: Google says most ads are reviewed within one business day, and to check the ad's status if review runs past 2 full business days.
Sources
Related posts
More in Media tools
- How to assemble a long-form video with the Timeline 1.0 API
Timeline 1.0 renders one audio spine plus 1 to 200 ordered video slots into one MP4. Every URL must be Sume-hosted; the plan preflight is unbilled.
- How to burn captions onto a video with the Sume API
Send a public HTTPS video URL to POST /v1/video-captions and get a job-backed captioned video, timed by speech-to-text or by text you supply.
- How to extract frames from a video with the Sume API
POST /v1/video-frames returns stills at the times you name from one Sume-hosted clip, as durable images at source size. The call is unbilled.
- How to use Sume's Timeline compose and Timeline audio APIs
Timeline compose puts one still and one video in the same frame as a new MP4. Timeline audio joins or splits Sume-hosted audio into reusable files.
Written by Sume