Video Object

Note

Fields marked with an asterisk (*) are optional.

Video Object Properties
Value Type Description
mimes array of strings

Content MIME types supported.

Note: For Google bids all the specified MIME type media files are required in the VAST response, for example, ["video/mpeg", "video/mp4"]

minduration integer Minimum video ad duration in seconds, for example, 2
maxduration integer Maximum video ad duration in seconds, for example, 15
linearity* integer

Indicates if the impression must be linear or nonlinear, for example, 1. If none is specified, it is assumed all are allowed

  • 1: Linear/In-stream
  • 2: Non-Linear/Overlay
placement* integer

Placement type for the impression, for example 2. This can take the following values:

  • 1: In-stream. Played before, during or after the streaming video content that the consumer has requested (e.g., Pre-roll, Mid-roll, Post-roll).
  • 2: In-banner. Exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.
  • 3: In-article. Loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.
  • 4: In-feed. Found in content, social, or product feeds.
  • 5: Interstitial/Slider/Floating. Covers the entire or a portion of screen area, but is always on screen while displayed (i.e. cannot be scrolled out of view). Note that a full-screen interstitial (e.g., in mobile) can be distinguished from a floating/slider unit by the imp.instl field.
playbackend* integer

The event that causes playback to end, for example 2. This field can take the following values:

  • 1: On Video Completion or when Terminated by User.
  • 2: On Leaving Viewport or when Terminated by User.
  • 3: On Leaving Viewport Continues as a Floating/Slider Unit until Video Completion or when Terminated by User.
protocols array of integers Accepted video bid response protocols as defined in OpenRTB, for example [2,5]
pos* integer Ad Position as defined in OpenRTB, for example 1
w* integer Width of the player in pixels, for example, 600
h* integer Height of the player in pixels, for example 400
startdelay* integer

Indicates the start delay in seconds. If the start delay value is greater than 0, then the position is mid-roll and the value indicates the start delay.

  • > 0: Mid-Roll (value indicates start delay in second)
  • 0: Pre-roll
  • -1: Generic mid-roll
  • -2: Generic post-roll
battr* array of integers Blocked creative attributes as defined in OpenRTB, for example, [6]
minbitrate* integer Minimum bit rate in Kbps, for example 680
maxbitrate* integer Maximum bit rate in Kbps, for example 990
api* array of integers List of supported API frameworks for this impression as defined in OpenRTB, for example, [1,2]. If an API is not explicitly listed, it is assumed not to be supported.
maxextended* integer

Maximum extended video ad duration if extension is allowed.

  • Blank or 0, extension is not allowed.
  • -1, extension is allowed, and there is no time limit imposed.
  • Greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.
boxingallowed* integer

Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed:

  • 0 = no
  • 1 = yes.
playbackmethod* array of integers Allowed playback methods as defined in the OpenRTB, for example [1, 2]. If none are specified, it is assumed all are allowed.
delivery* array of integers Supported delivery methods (e.g., streaming, progressive) as defined in OpenRTB. If none specified, assume all are supported, for example, [1, 2]
sequence* integer If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives, for example, 2.
companionad* object array Array of Banner objects if companion ads are available. See the Banner Object section for more information.
companiontype* array of integers

List of allowed companion ad types, for example [1, 2] Possible values:

  • 1: Static Resource
  • 2: HTML Resource
  • 3: iframe Resource
ext* object See the Video Ext Object section
skip* integer Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.
skipmin* integer Videos of a total duration greater than this value (seconds) can be skippable; only applicable if the ad is skippable.
skipafter* integer Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.

Video Ext Object

Video Ext Object Properties
Value Type Description
skippable integer

Indicates whether the video ad may be skippable (i.e. contain a skip button). The values are:

  • 0: allow skippable
  • 1: require skippable
  • 2: deny skippable
player_type integer

Video player type based on detected player size:

  • 1: Small player ( Less than 300px)
  • 2: Medium player ( between 300px and 600px)
  • 3: Large player ( greater than 600px)
outstream* integer Indicates that the video is outstream, for example 1
rewarded* integer

Indicates whether the ad is being rendered as part of a rewarded / incentivised user experience, where:

  • 0 = non-rewarded
  • 1 = rewarded
  • If omitted, non-rewarded can be assumed
vast_url_rq* integer

Used to specify if the bid.ext.vast_url field is required in the bid response. It is recommended that you use this field to pass the VAST URL in all video responses.

  • 1: Indicates the bid.ext.vast_url field is required in the bid response.

  • 0: If this field is missing, or set as not required using 0, Buyers should still pass the VAST URL in this field as it works for all video requests.

    Only if it is deemed extremely necessary should you pass the VAST URL in the bid.nurl field. The price macro will be replaced in that field as usual. In this scenario BidSwitch will not send an impression notification as the VAST impression event should be used for that.

Video Object Example

{
   "id":"1",
   "bidfloor":0.03,
   "video":{
      "w":640,
      "h":480,
      "pos":1,
      "startdelay":0,
      "minduration":5,
      "maxduration":30,
      "maxextended":30,
      "minbitrate":300,
      "maxbitrate":1500,
      "skip":1,
      "api":[
         1,
         2
      ],
      "protocols":[
         2,
         3
      ],
      "mimes":[
         "video/x-flv",
         "video/mp4",
         "application/x-shockwave-flash",
         "application/javascript"
      ],
      "linearity":1,
      "boxingallowed":1,
      "playbackmethod":[
         1,
         3
      ],
      "delivery":[
         2
      ],
      "battr":[
         13,
         14
      ],
      "companionad":[
         {
            "id":"1234567893-1",
            "w":300,
            "h":250,
            "pos":1,
            "battr":[
               13,
               14
            ],
            "expdir":[
               2,
               4
            ]
         },
         {
            "id":"1234567893-2",
            "w":728,
            "h":90,
            "pos":1,
            "battr":[
               13,
               14
            ]
         }
      ],
      "companiontype":[
         1,
         2
      ]
   }
}