Two kinds of video creative
A hosted video file is a concrete encoded file you host — an MP4 you hand over and that gets served directly. It has one resolution, one duration, one codec: the facts are baked into the file. A VAST tag is not a file. It’s a pointer (a URL, or inline VAST XML) to a runtime decision made by a video ad server. When a player calls that tag, the ad server can return several renditions of different sizes and bitrates, an adaptive stream, or an interactive ad — and the player picks the one that fits the screen it’s playing on. The geometry isn’t decided until serve time. These map to the two canonical video formats in the glossary:video_hosted and video_vast.
Why a file has dimensions and a tag doesn’t
A hosted video file has an intrinsic native resolution — there is a real, singlewidth and height you can read straight out of the file. So the
video asset requires width and height. Requiring them is just
recording a fact that already exists; an ad server can’t place the file
correctly without them.
A VAST tag has no single dimension. Inside the VAST response, each
rendition carries its own width and height, and the player selects one at
request time. There is no “the tag is 1920×1080” — asking a tag for one pixel
size would throw away exactly the flexibility VAST exists to provide. So the
vast asset carries no width/height at all. This is deliberate, not an
omission.
The short version: dimensions belong to a file, not to a tag.
Where size and duration rules live
If the asset itself doesn’t carry a shape, how does a seller say “this slot takes 16:9 video up to 30 seconds”? Those are constraints, and constraints live on the format, not the asset:- Aspect ratio and orientation (
16:9, vertical/horizontal/square) - Size ranges (minimum and maximum width/height)
- Duration ranges (a maximum length, or an exact required duration)
- Containers and codecs the format accepts