BidRequest.imp[].video
Video
A video placement, generally expecting a VAST response. The most option-heavy object in the protocol.
Fields
| Field | Type | Level | Description |
|---|---|---|---|
| mimes | string[] | required | Supported content MIME types. The only required field. |
| minduration | integer | recommended | Minimum ad duration in seconds. |
| maxduration | integer | recommended | Maximum ad duration in seconds. |
| protocols | integer[] | recommended | Supported video protocols, which determine the VAST versions accepted. |
| w | integer | recommended | Player width in pixels. |
| h | integer | recommended | Player height in pixels. |
| startdelay | integer | recommended | Pre-roll, mid-roll or post-roll positioning. |
| plcmt | integer | optional | Video placement type, added in 2.6. |
| linearity | integer | optional | Whether a linear or non-linear ad is required. |
| skip | integer | optional | 1 if the player allows the ad to be skipped. |
| companionad | object[] | optional | Companion banners available with the video. |
Example
{
"mimes": ["video/mp4"],
"minduration": 5,
"maxduration": 30,
"protocols": [2, 3, 5, 6],
"w": 640,
"h": 480,
"startdelay": 0,
"skip": 1
}What matters in practice
The protocols array is the field to check when a VAST tag is rejected without an obvious reason: it enumerates which VAST versions the player will accept, and a 4.x response sent where only 2.0 and 3.0 are listed will be discarded. OpenRTB 2.6 also added plcmt to replace the widely misused older placement field, so during the transition the same inventory can be described differently by different exchanges — worth confirming which one a partner populates before building targeting on it.
Related objects
Field names, types and requirement levels from the IAB Tech Lab OpenRTB 2.6 specification (2.6-202211), verified 30 July 2026. The practice notes are not spec text.