MMC asset manifest
Important: Partners delivering component source packages to Prime Video using bulk file delivery must include an asset manifest.
Prime Video supports the Media Manifest Core (MMC) specification. MMC is an industry-standard XML schema designed by MovieLabs. To ensure quality content for our users, unblock the fulfilment delivery process, and prevent errors, the XML file must be generated automatically. Documentation for this specification and example files are on the MovieLabs website. You can also download the sample files from this link.
Prime Video supports a subset of the MMC spec. The complete set of available MMC fields, along with notes regarding Prime Video usage, is provided in the MMC Field List section of this page. The MMC asset manifest files you deliver are subject to these file-naming rules.
Identifiers in MMC
MMC references a variety of IDs throughout the manifest. To ensure that identifiers are globally unique and to allow for manual exception handling, please use the following Uniform Resource Identifier (URI) structure within MMC submissions. Additional information is available on the MovieLabs website.
Identifiers use the following URI structure. Complete examples are provided in the next section.
<namespace>:<type>:<scheme>:<SSID>:<Additional Information>
- <namespace> defines the scope of the identifier. Throughout the MMC, the namespace is always md.
- <type> is the type of identifier, or what is being identified. Examples include audtrackID, vidtrackID, PresentationID, and so on.
- <scheme> identifies the scheme of the ID provided in the SSID. Amazon accepts two schemes. The scheme used is determined by what kind of ID is provided to Amazon to identify content:
- eider-x indicates that the ID provided is from the Entertainment Identifier Registry (an EIDR), with additional information following the EIDR.
- org indicates that the ID provided is a unique identifier determined by the partner (not an EIDR).
- <SSID> is the content identifier. It’s either the EIDR or the unique ID submitted by the partner. If the org scheme is used, then the partner’s BusinessAlias must precede the ID provided, as mandated by the MMC spec.
- <Additional Information> is where you can submit more information. If the eidr-x scheme is used, then the partner’s BusinessAlias must immediately follow the EIDR. Additional information may follow that. Additional information is sometimes required to make the identifier unique. For example, information contained in the Additional Information section (underlined in the following URIs) is what distinguishes the two IDs from each other:
- md:audtrackid:eidr-x:8011-8DCB-38E0-BF71-83D2-U:amazon_studios:feature.audio.en
- md:audtrackid:eidr-x:8011-8DCB-38E0-BF71-83D2-U:amazon_studios:feature.audio.fr
Identifier examples
Eidr-x identifier example
The eidr-x scheme should be used if you are delivering EIDR numbers to identify your content. Prime Video prefers EIDR numbers to identify titles. When providing EIDRs to Prime Video, you must omit the EIDR prefix, which is everything prior to the slash character (for example, “10.5240/"). Submit only the unique suffix and check digit (such as XXXX-XXXXXXXX-XXXX-XXXX-C). The Prime Video-supplied Partner Alias is appended after the EIDR, separated by a colon.
Org identifier example
The org scheme should be used if you are delivering unique IDs that are not EIDRs to identify your content. In the following example, note that the Prime Video-supplied Partner Alias is provided immediately preceding the title ID.
Sections of the manifest
- Inventory: The Inventory section of the MMC includes details about all the assets (video, audio and timed text) being delivered as part of a component source package.
- Presentations: The Presentation section of the MMC indicates which assets delivered as part of a package should be played together. For example, if a package includes two video assets (one for the feature and one for the trailer), five audio tracks (four for the feature and one for the trailer), and eight timed text assets (all associated with the feature), there would be two Presentations associated with that inventory. The first would be for the Feature, and would include one video asset, four audio tracks, and eight timed text assets. The second presentation would be for the trailer and would include one video track and one audio track.
- Playable Sequences: The Playable Sequence section of the MMC provides details about Presentations that are intended to be played together and their sequence ordering. These entries aren’t required.
- Experiences: The Experience section of the MMC groups Presentations and/or Playable Sequences along with Picture Groups to define the customer experience. For example, a single Experience could be composed of a Playable Sequence that contains a rating card, feature presentation, and a dub card.
- ALID-Experience Mapping: A Logical Asset ID (ALID) is used to match the avails to the content. The ALID-Experience Mapping section of the MMC relates ALIDs from the EMA avails to the Experiences associated with that content.
Partial MMC
Partial MMC allows delivery of assets for an updated package without the need to declare all previously delivered assets. Sample files are available for download.
Partial MMCs should only contain Inventory objects for assets included in the updated package. There is no need to declare Inventory for assets previously delivered to Prime Video. Only declare Presentations when they contain assets that are present in the MMC Inventory and in the package. For example, if you’re delivering an update package that contains only dub cards for a feature film, you aren’t required to declare an empty feature Presentation; the feature assets were previously delivered and aren’t included in the MMC and update package.
All delivered assets are classified at the time of receipt based on their MMC metadata. For example, a dub card is classified when its Inventory object contains CardsetList.Cardset.Type “DubbingCredit”, and by it being declared an Experience with a Type of Main and SubType of Feature (via declaration in a Presentation > PlayableSequence > Experience).
The ALID is the only ID that must match between an initial package and an updated package that contains new assets.
MMC Field List
The following table summarizes the available MMC fields along with Prime Video-specific notes. (To see examples of the hierarchy of fields, download the MMC Manifest v1.10 sample files.)
The Field name column lists MMC fields; attributes for fields are indicated by the @ symbol.
The Accepted values column lists the acceptable values or indicates the type of value expected for each field. If left blank, it indicates a string entry is permitted. Inputs are limited to UTF-8 characters.
The Prime Video usage column indicates whether the field is required, optional, or not used by Prime Video.
The table and notes are in addition to the documentation and definitions provided by MovieLabs. Should any conflict occur between the two, the notes and guidelines provided below take precedence for deliveries to Prime Video.
Field name | Definition & notes | Accepted values | Prime Video usage |
MediaManifest-type | |||
@ManifestID | Unique identifier for the manifest. | Not used | |
@updateNum | Version of this manifest delivery. | Integer | Not used |
@updateDeliveryType | Indicates that the object includes only portions required for an update. It isn’t a complete object. | Not used | |
Compatibility | Indicates which versions can fully use this input. | Required | |
SpecVersion | Supported version is v1.5. | Enumerated | Required |
Profile | Profile of the Manifest. | “MMC-1" | Not used |
Inventory | Identifies all individual assets being delivered as part of the package (for example, mezzanine files, timed text, audio, and so on) along with asset-specific metadata. Note: For brevity, only supported fields and other common fields from the XSD are included below. If a field is omitted from the list below, it isn’t used by Prime Video. | Required | |
Audio | See Audio for details about supported formats, channel mapping, and other technical requirements. At least one audio track is required for episode or movie deliveries. The audio track embedded with a video file must also be listed in the Inventory as an audio track. The container location (file name) can be the same for one audio and one video file. | Optional | |
@AudioTrackID | ID used to reference the audio track throughout the MMC. | Required by Audio | |
Type |
| Enumerated | Required by Audio |
Encoding | The output/extension of the file. | Optional | |
Codec | The codec used to output the file. | Optional | |
Language | Language of the primary dialog contained in the audio track. | RFC 5646 | Required by Audio |
Language | Language of the primary dialog contained in the audio track. | RFC 5646 | Required by Audio |
@dubbed | True indicates that the audio track is dubbed. False indicates that this is the OV audio track. If omitted, Prime Video assumes false. | Boolean | Not used |
@forced | Indicates that forced narratives are included in the audio track. | Boolean | Not used |
Description | Required if there is more than one commentary or descriptive audio track for the same language. | Optional | |
ContainerReference | Provides the file name of the asset. For audio embedded in a mezzanine video file, indicate the video file. | Required | |
ContainerLocation | File name of the audio track. Don’t provide folders, links, or paths. | Required | |
Hash | Checksum for the file delivered. | Optional | |
@method | Checksum method. Only MD5 is supported. | “MD5" | Optional |
Video | See Videos for details about supported formats and technical requirements. At least one video track is required for episode or movie deliveries. | Optional | |
@VideoTrackID | ID used to reference the video track throughout the MMC. | Required by Video | |
Type | Supported values:
| Enumerated | Required by Video |
Picture | Used for HDR asset metadata. | Required for HDR | |
AspectRatio | Aspect ratio of the video file. | Optional | |
MasteredColorVolume | Color volume used at mastering. This represents the boundaries of the encoded color. | Required for HDR | |
PrimaryRChromaticity | Red chromaticity values. | Required for HDR | |
ChromaticityCIEx | Decimal | ||
ChromaticityCIEy | Decimal | ||
PrimaryGChromaticity | Green chromaticity values. | Required for HDR | |
ChromaticityCIEx | Decimal | ||
ChromaticityCIEy | Decimal | ||
PrimaryBChromaticity | Blue chromaticity values. | Required for HDR | |
ChromaticityCIEx | Decimal | ||
ChromaticityCIEy | Decimal | ||
WhitePointChromaticity | The nominal chromaticity of the white point. | Required for HDR | |
ChromaticityCIEx | Decimal | ||
ChromaticityCIEy | Decimal | ||
LightLevel | HDR metadata that describes the light level of HDR content and is represented in nits, a unit of luminance. | Required for HDR | |
ContentMax | HDR metadata that corresponds to the brightest pixel in the entire stream. If values are unknown, a value of “0" is acceptable. | Integer | Required for LightLevel |
FrameAverageMax | HDR metadata that corresponds to the highest frame average brightness per frame in the entire stream. If values are unknown, a value of “0" is acceptable. | Integer | Required for LightLevel |
Language | Language of the primary dialog contained in the video track. | RFC 5646 | Not used |
CardsetList | Identifies a video file as a dub card (DubbingCredit). Prime Video accepts only video dubbing credits. We don’t accept images as dub cards. | Optional | |
Cardset | Required by CardsetList | ||
type | Identifies the type of cardset. | “dubbing credit” | Required by Cardset |
language | Identifies the dubbing language being credited. | RFC 5646 | Required by Cardset |
ContainerReference | Provides the filename of the asset. | Required by Video | |
ContainerLocation | File name of the audio track. Don’t provide folders, links, or paths. | Required | |
Hash | Checksum for the file delivered. | Optional | |
@method | Checksum method. | “MD5" | Optional |
Subtitle | See Timed text for details about supported formats and requirements. | Optional | |
@SubtitleTrackID | ID used to reference the subtitle track throughout the MMC. | Required by Subtitle | |
Type | Type of subtitle track.
| Enumerated | Required by Subtitle |
Language | Language of the subtitle track | RFC 5646 | Required by Subtitle |
Encoding | The output/extension of the file. | Required by Subtitle | |
FrameRate | This field is an extension to MMC from the Common Metadata spec to support delivery of timed text frame-rate information. For frame rates that are natively whole numbers (such as 30), whole numbers should be used. For frame rates that have decimal values (such as 29.97), the FrameRate element tag should include a whole number frame rate, as well as a multiplier and drop frame/non-drop frame information. | Enumerated Integer | Required by Subtitle |
@multiplier | For frame rates that have decimal values (such as 29.97), the multiplier should be included using the following format: 24 Frame Rate multiplier of “1000/1001" is used for frame rates of 29.97 or 23.976. No other multiplier is supported. | “1000/1001" is the supported value for non-whole number framerates. | Optional |
@timecode | This field is used to communicate Drop or NonDrop. Omitted values will be assumed to be non-drop. | Drop = drop frame. NonDrop = non-drop frame. | Required |
ContainerReference | Provides the file name of the asset. | Required by Subtitle | |
ContainerLocation | File name of the timed text. Don’t provide folders, links, or paths. Subtitles may not refer to video files. | Required by Subtitle | |
Hash | Checksum for the file delivered. | Optional | |
@method | Checksum method. | “MD5" | Optional |
Presentations | One Presentation instance is required for each set of conformed tracks. | Required | |
Presentation | Used to group conformed assets together. Include all audio and timed text that conform to the video file. | Required | |
@PresentationID | ID used to reference the Presentation throughout the MMC. | Required | |
TrackMetadata | Set of tracks that can be played together. | Required | |
TrackSelectionNumber | A Track Selection Number assigned to the group of tracks that belong to the same type. There is one set for each combination of tracks that should be played together. TrackSelectionNumber=0 is the primary group. | Integer | Required |
VideoTrackReference | One video file is required. For HDR content, include references to both the SDR and HDR sources from the Inventory. | Required | |
VideoTrackID | Must reference a VideoTrackID included in the Inventory. | Required | |
AudioTrackReference | At least one audio reference is required. Include all audio tracks conformed to the video of each Presentation. Presentations for trailers may only include one audio track. | Required | |
AudioTrackID | Must reference an AudioTrackID included in the Inventory. | Required | |
SubtitleTrackReference | Include all timed text references conformed to the video of each Presentation. | Optional | |
SubtitleTrackID | Must reference a SubtitleTrackID included in the Inventory. | Optional | |
PlayableSequence(s) | Defines pre-rolls and post-rolls before and after the main content. | Optional | |
PlayableSequence | Only supported for dubcards. | Required by PlayableSequence(s) | |
@PlayableSequenceID | ID used to reference the playable sequence throughout the MMC. | Required by PlayableSequence | |
Clip | Clip of audiovisual playback material. | Required by PlayableSequence(s) | |
sequence | Indicates sequence of this clip relative to other clips in the same grouping. Order is from lowest value to highest. 0 = the main content. Negative numbers = pre-rolls. Positive numbers = post-rolls. | Integer | Required by Clip |
audioLanguage | Indicates this Clip is associated with a particular audio language. Typically used for dub cards. | RFC 5646 | Not used |
manifest:PresentationID | ID of the Presentation to be played. | Required by Clip | |
Experiences | Experiences define the customer playback experience. | Required | |
Experience | Defines how Playable Sequences and Presentations are to be presented to a customer. | Required | |
@ExperienceID | ID used to reference the Experience throughout the MMC. | Required | |
@Version | Required by MovieLabs XSD. Not used by Prime Video. | Integer | Not used |
@updateNum | Version of the experience being delivered. | Integer | Not used |
Language | Language and ExcludedLanguage tags aren’t supported. Use avails to specify allowed languages or language holdbacks. | RFC 5646 | Not used |
ExcludedLanguage | Language and ExcludedLanguage tags aren’t supported. Use avails to specify allowed languages or language holdbacks. | RFC 5646 | Not used |
Region | Region and ExcludedRegion tags aren’t supported. Use avails to specify regions. | Not used | |
ExcludedRegion | Region and ExcludedRegion tags aren’t supported. Use avails to specify regions. | Not used | |
ContentID | Not used by Prime Video. Matching is based on UniqueID. | Not used | |
AudioVisual | Experience requires one AudioVisual element. | Required | |
@ContentID | Not used by Prime Video. Matching is based on UniqueID. | Not used | |
Type | Type values provide information about the referenced PlayableSequence or Presentation.
| Enumerated | Required by AudioVisual |
SubType | Relevant only to specific Type values. | Feature, Default Trailer | Optional |
PresentationID | Only one PresentationID or one PlayableSequenceID is required by AudioVisual. Must reference an ID defined in the Presentations section. | Required if no PlayableSequenceID is provided | |
PlayableSequenceID | Only one PresentationID or one PlayableSequenceID is required by AudioVisual. Must reference an ID defined in the PlayableSequences section. | Required if no PresentationID is provided | |
ContentID | Not used by Prime Video. | Not used | |
ExperienceChild | Used to associate trailers to features. | Optional | |
Relationship | ispromotionfor or isepisodeof | Enumerated | Required by ExperienceChild |
ExperienceID | Must reference an ID defined in another Experience. | Required by ExperienceChild | |
ALIDExerienceMap(s) | Associates an avail (ALID) to an experience. | Required | |
manifest:ALID | The ALID is parsed to extract both the Amazon assigned Partner Alias ID and the unique ID corresponding to the matching experience. The Unique ID should match the AltID in the avail and be included in the AltID section in the MEC title metadata. See the section about MovieLabs IDs for details about how to correctly construct the ALID. | Required | |
manifest:ExperienceID | Must reference an ID defined in the Experiences section. | Required |