CampaignReel

Ad placement specs against what generators output

Duration: the axis both sides publish

Duration is the column where a platform and a generator both print a number, which makes it look like a comparison and leaves it behaving like one only half the time. A placement ceiling states what a surface will accept; a generation ceiling states what comes out of one call. As of 2026-10-25.

What a second figure in seconds decidesA placement ceiling and a generation ceiling are both written in seconds, and dividing one by the other gives the number of pieces a slot needs. One piece is a generation job. More than one is an edit, and the joins carry continuity work that the seconds never mention.Does one call reach the placement ceilingIt doesA generation jobOne look, one light, nothing to match afterwards.It does notAn edit with joinsEach join asks a face and a key light to survive aseparate call.Decided before anyone opens an editor
Fig. 1 Both numbers are in seconds, which is exactly why they get averaged into a single verdict that hides the join count.
What each page puts in writingFilled where the page states something in that column, hollow where it does not address it.What each page puts in writingWhat that page statesSide of the matchYouTube bumperYouTube bumper — What that page states: 5 to 6 secondsYouTube bumper — Side of the match: Placement ceilingYouTube non-skippableYouTube non-skippable — What that page states: 60 seconds or shorterYouTube non-skippable — Side of the match: Placement ceilingYouTube skippableYouTube skippable — What that page states: No maximum stated, a view charged at 30 sYouTube skippable — Side of the match: Placement thresholdTikTok non-SparkTikTok non-Spark — What that page states: Up to 10 minutesTikTok non-Spark — Side of the match: Placement ceilingAmazon Nova ReelAmazon Nova Reel — What that page states: 6 second increments, up to two minutesAmazon Nova Reel — Side of the match: Generator outputCogVideoXCogVideoX — What that page states: 6 seconds, at 49 framesCogVideoX — Side of the match: Generator outputGoogle VeoGoogle Veo — What that page states: 4, 6 or 8 secondsGoogle Veo — Side of the match: Generator outputGrok ImagineGrok Imagine — What that page states: 1 to 15 secondsGrok Imagine — Side of the match: Generator outputHedraHedra — What that page states: Max duration 10mHedra — Side of the match: Generator outputHeyGenHeyGen — What that page states: 30 minutes per sceneHeyGen — Side of the match: Generator outputKling AIKling AI — What that page states: Not stated on the priced pageKling AI — Side of the match: Generator outputLTX-VideoLTX-Video — What that page states: Frames below 257 at 30 fps, never secondsLTX-Video — Side of the match: Generator outputMiniMaxMiniMax — What that page states: 4 to 15 s on H3, 5 to 15 on H3-MaxMiniMax — Side of the match: Generator outputPikaPika — What that page states: 5 s and 10 s, 20 to 25 s on PikaframesPika — Side of the match: Generator outputPixVersePixVerse — What that page states: 1 to 15 s on version 6PixVerse — Side of the match: Generator outputRunwayRunway — What that page states: 5 to 15 s on Gen-4.5Runway — Side of the match: Generator outputSceneMixerSceneMixer — What that page states: 30 s on Wan 3.0 and Seedance 2.5, 15 s on Seedance 2.0 and MiniMax H3SceneMixer — Side of the match: Generator outputViduVidu — What that page states: Not stated on the priced pageVidu — Side of the match: Generator outputWan 3.0Wan 3.0 — What that page states: An integer in the range 2 to 30 secondsWan 3.0 — Side of the match: Generator output
Fig. 2 Filled where the page states something in that column, hollow where it does not address it.
Duration, every figure this register holds in that column. Recorded 2026-10-25.
Where the figure was readWhat that page statesSide of the match
YouTube bumper5 to 6 secondsPlacement ceiling
YouTube non-skippable60 seconds or shorterPlacement ceiling
YouTube skippableNo maximum stated, a view charged at 30 sPlacement threshold
TikTok non-SparkUp to 10 minutesPlacement ceiling
Amazon Nova Reel6 second increments, up to two minutesGenerator output
CogVideoX6 seconds, at 49 framesGenerator output
Google Veo4, 6 or 8 secondsGenerator output
Grok Imagine1 to 15 secondsGenerator output
HedraMax duration 10mGenerator output
HeyGen30 minutes per sceneGenerator output
Kling AINot stated on the priced pageGenerator output
LTX-VideoFrames below 257 at 30 fps, never secondsGenerator output
MiniMax4 to 15 s on H3, 5 to 15 on H3-MaxGenerator output
Pika5 s and 10 s, 20 to 25 s on PikaframesGenerator output
PixVerse1 to 15 s on version 6Generator output
Runway5 to 15 s on Gen-4.5Generator output
SceneMixer30 s on Wan 3.0 and Seedance 2.5, 15 s on Seedance 2.0 and MiniMax H3Generator output
ViduNot stated on the priced pageGenerator output
Wan 3.0An integer in the range 2 to 30 secondsGenerator output

Inclusion rule. Every figure this register carries as a length, whichever side of the match printed it, including the two pages that print none and the one that prints frames instead of seconds. A page that gives no length keeps its row and says so rather than being credited with an open ceiling. Order. Placement rows first in the order their help pages list them, then generator rows alphabetically.

1What a figure in this column is taken from

A duration cell holds a number of seconds printed on a page a buyer can open without an ad account, together with a note of which side printed it. Google states 5 to 6 seconds for a bumper and 60 seconds or shorter for a non-skippable in-stream ad. TikTok states a ceiling of up to 10 minutes for a video ad that is not a Spark Ad.

On the generator side the same unit describes something else: the longest piece a single call returns. The tier decides it — 30 seconds on the Wan 3.0 and Seedance 2.5 tiers at SceneMixer, 15 where the job runs on Seedance 2.0 or MiniMax H3, 5 and 10 second steps at Pika with Pikaframes reaching 20 to 25. Both sides write seconds, and one is describing a doorway while the other describes a brick.

The generator half of this column spans three orders of magnitude, which is why a single verdict about it is useless. Six seconds is fixed on CogVideoX and cannot be argued with; eight is the ceiling on Google Veo and only above 720p; thirty is a plain integer range on Wan 3.0; ten minutes is the figure Hedra publishes and thirty minutes per scene is HeyGen’s. Two rows say nothing, and one, LTX-Video, states a frame ceiling and a frame rate and leaves the seconds to be worked out.

2A ceiling is not a running time

What sits in the cell is the outer edge of what a page permits or produces, never the length anyone intends to deliver. The ten minute figure is the plainest case: nothing generated in this register comes near it, so the cell is accurate and inert at once, and a planner who reads it as headroom has learned nothing about the campaign.

Skippable in-stream fails in the opposite direction. No maximum is stated, so the ceiling is absent, while the format carries a firm instruction about length in a different column altogether: a view is charged at 30 seconds. Read the duration cell on its own and that instruction disappears, which is why the sheets keep billing behaviour beside the number instead of folding it in.

Two rows carry a figure that is a ceiling on the thing generated rather than on the generating. Google removes generated video from its servers after two days and Wan 3.0 returns a URL valid for 24 hours, so on those rows there is a second clock running that no placement page has any reason to mention and no column on these sheets was built to hold.

3What this column cannot settle

Dividing a placement ceiling by a generation ceiling gives the number of pieces a slot needs and stops there. Whether those pieces read as one continuous advertisement depends on matching light, framing and a face across footage generated separately, and no figure on either page speaks to it. That is a casting and staging problem wearing the costume of an arithmetic one.

The column is also silent about which seconds are watched. A bumper is seen entire because it cannot be skipped; a skippable ad may be abandoned in its sixth second. Two cells can carry the same figure and imply production plans with almost nothing in common, so the length is only ever half of the brief.

4One page per cell in this column

  • Amazon Nova Reel — Six second increments up to two minutes, with a second model ID required past the first six.
  • CogVideoX — Six seconds at forty-nine frames, with no shorter and no longer option stated.
  • Google Veo — Four, six or eight seconds, with eight available only at 1080p, 4k or when reference images are supplied.
  • Grok Imagine — An allowed range of one to fifteen seconds with no tier, resolution or model condition attached anywhere on the page.
  • Hedra — A ten minute ceiling on Character-3, which no ad slot in this register reaches.
  • HeyGen — Thirty minutes per scene and fifty scenes per video, which is the largest figure this register carries and the one published as a nested pair.
  • Kling AI — The developer price page publishes 720p, 1080p and 4K and states nothing at all about how long one generation runs.
  • LTX-Video — A frame ceiling below 257 at thirty frames a second, plus a divisibility rule.
  • MiniMax — Four to fifteen seconds on H3 and five to fifteen on H3-Max, where four seconds is not supported.
  • Pika — Five and ten seconds for text-to-video and image-to-video, with Pikaframes reaching twenty to twenty-five.
  • PixVerse — One to fifteen seconds on version 6 and c1, and fixed five, eight or ten on 5.5 and 5.6, where 1080p cannot use ten.
  • Runway — A five to fifteen second range on Gen-4.5 that applies to text-to-video and image-to-video alike, on a page that also bills per second of output.
  • SceneMixer — Thirty seconds on the Wan 3.0 and Seedance 2.5 tiers, fifteen on Seedance 2.0 and MiniMax H3, and a compositing step billed per second beyond that.
  • Vidu — 540p, 720p and 1080p each priced as a step, and nothing anywhere on the page about how long a single generation runs.
  • Wan 3.0 — An integer in the range two to thirty seconds, with a separate rule that input plus output must not exceed thirty.
  • TikTok — Up to ten minutes on a non-Spark ad, and no duration restriction at all on Spark Ads.

A cell earns a page when the page it was read from says something specific about how the figure is written, or when a silence in this column is unusual among the entries around it. Cells that are merely empty stay as marked rows in the table above.

5Sources

Placement values come from Google Ads Help and the TikTok ad specifications, read 2026-09-12; generator values come from the vendor pages listed on published limits, read 2026-09-12, 2026-09-22, 2026-10-13 and 2026-10-25. The rule that stops the two being averaged is on method. Next axis along: Aspect ratio, Resolution. The whole set is on the axis index.