VAST Error 406: Mezzanine required but not provided
The placement requires a mezzanine (high-quality master) file and the ad didn't include one — common in server-side ad insertion.
SSAI platforms and broadcast-grade CTV re-transcode ads to match the content stream exactly, which requires a mezzanine-quality source file declared via <Mezzanine>. When the placement mandates one and the ad only carries streaming renditions, it's rejected with 406.
This is a supply-requirement mismatch: perfectly playable ads fail on stitched inventory because there's nothing good enough to re-encode from.
Why error 406 happens
Demand not built for SSAI supply
The DSP or ad server only attaches streaming renditions; the tag was never designed for stitched delivery.
Wrapper drops the Mezzanine element
An intermediary re-writes the inline ad and loses the mezzanine declaration in the process.
How to fix VAST error 406
- 1
Attach a mezzanine file at the source
Provide the original high-bitrate master (per the placement's spec) in the <Mezzanine> element alongside normal renditions.
- 2
Trace where the element disappears
If the source ad has a mezzanine but the player doesn't receive it, resolve the chain and find which hop strips it.
Seeing error 406 on a live tag?
Paste the tag URL or XML — the validator resolves the full wrapper chain, validates the schema, downloads every media file, and shows exactly which stage fails.
Validate your VAST tagVAST error 406 — frequently asked questions
What qualifies as a mezzanine file?+
A high-bitrate, lightly-compressed master — typically ProRes or high-bitrate H.264 at the ad's native resolution — that the SSAI platform can re-transcode without generation loss.
Why can't the stitcher just use my 1080p rendition?+
Streaming renditions are already heavily compressed. Re-encoding them to match the content stream compounds artifacts, so broadcast-grade platforms require a cleaner source.