---
title: "Metadata Specifications"
slug: "metadata-specifications"
tags: ["Metadata"]
updated: 2025-08-13T19:26:16Z
published: 2025-08-13T19:26:16Z
canonical: "docs.developer.comcast.com/metadata-specifications"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Metadata Specifications
The specs below provide information on each field available for configuring entries in your metadata feed. Each field section contains details on:
- The field name.
- Whether the field is required or optional.
- Maximum instances of the field allowed in each entry.
- Example syntax.
- The available field attributes.
---
## General fields
### title
**Required | Max 1**
Contains title of the content. OpenIngest does not expect attributes to be sent.
**Example**
```
Harry Potter and the Goblet of Fire
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `overrideCanonicalValue` | optional | false | Indicates if the canonical value should be overridden. |
| `lang` | optional* | | Language code for the title. Required if overrideCanonicalValue is true. |
### description
**Optional | Max 1** For movie, seriesMaster, or episode entityTypes, can use shortDescription, mediumDescription, and/or longDescription instead.
**Example**
```
Harry Potter description
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | optional | | MIME type of the text. |
| `overrideCanonicalValue` | optional | false | Indicates if the canonical value should be overridden. |
| `lang` | optional* | | Language code for the description. Required if overrideCanonicalValue is true. |
### shortDescription
**Optional | Max 1** Merlin has no character lengths but the consuming applications may truncate each of these descriptions.
**Example**
```
Harry Potter
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### mediumDescription
**Optional | Max 1**
**Example**
```
Harry Potter and the Goblet of Fire medium synopsis.
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### longDescription
**Optional | Max 1**
**Example**
```
Hermione and Ron try to help Harry win the tri-wizard tournament.
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### pubDate
**Optional | Max 1** The pubDate value must be in milliseconds.
**Example**
```
1312416000000
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### releaseYear
**Optional | Max 1** Release year. Automatically populated from pubDate if not specified.
**Example**
```
2018
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### dcterms:valid
**Required | Max 1** Available and expiration date of the content. Can be used to express local time or universal time.
**Example**
```
start=2002-10-13T09:00Z;end=2002-10-17T17:00Z;scheme=W3C-DTF
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### contentRights
**Required | Unlimited** Represents the locations and platforms that a piece of content is available in and also the necessary entitlement(s) to view the content. See ContentRights table below.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### contentProviderName
**Preferred | Max 1** The name of the content provider.
**Example**
```
MEDIASET
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### distributionRights
**Required | Unlimited** Information about a set of content which may be made available via a Distributor that is supported by our platform. See DistributionRights table below.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### restriction
**Optional | Unlimited** Restrictions which constrain this piece of content. Field privacyIdentifier is required when type="REST:PRIVACY".
**Example**
```
inclusivesubjectToCoppa
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of restriction. Types include "REST:MANUFACTURER", "REST:CUSGROUP", etc. |
### distributor
**Required | Max 1** Distributor of the video asset. An example from traditional ADI VOD would be distributor=indemand and brand=NBC Universal. An example from an OTT provider would be distributor=Netflix and brand=NBC Universal. This will be saved as a Merlin ProgramMediaAssociation.companies entry with role=Distributor.
**Example**
```
Peacock
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### languageDetails
**Required | Max 1** Create a time marker with the provided offset in milliseconds from the beginning of the asset.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `intendedAudience` | required | | Intended audience language code. |
| `title` | optional | | Program title language. |
| `description` | optional | | Program description language. |
| `originalAudio` | optional | | Language the audio was recorded in. |
### entityType
**Required | Max 1** Type of video. Legal types are Merlin Program types: Movie, Episode, SeriesMaster, SportingEvent, Other, Preview, Extra, Offer, Person, TvSeason. If the entityType=SeriesMaster, Offer, Person, or TVSeason the element should not have any video content (no videoAssetId or media:group elements). Other items in the GMRSS feed can reference this item using the gmrss:entityReference element.
**Example**
```
SeriesMaster
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### workflowPolicy
**Optional | Max 1** Indicates the type of SLEs that will be created for the given event.
**Example**
```
LIVEONLY
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### videoAssetId
**Required | Max 1** Provider ID of the video asset. This becomes the seed ID of the Merlin Program that represents this video asset. There should be at most one videoAssetId. If videoAssetId is defined, seriesAssetId should not be defined.
**Example**
```
GMO_1111
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### programVariantId
**Required | Max 1** Used to create or update programVariant associated with the current item. If canonicalOverride is set, program fields such as title, episodeTitle, description will be copied to programVariant. Namespace of programVariant is language specific.
**Example**
```
GTMV0000645117
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### durableAppId
**Required | Max 1** Our app's X1 user-friendly app identifier, should represent the specific app where this content is intended to be played. Identifier of the OTT app the content is contained in. It is required for X1 integration.
**Example**
```
Peacock
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### seasonAssetId
**Required | Max 1** ID of the TvSeason this item represents, so that Episodes in the season can be connected to it. Other items in the GMRSS feed can reference this item using the gmrss:entityReference element.
**Example**
```
GTMV0000111111-1
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### seriesTitle
**Required | Max 1** Contains the series title of the content. This will become the title of the Merlin Program for Episodes, if it is not matched to some other canonical Program metadata. The episode title can be set using the title field.
**Example**
```
The Office
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### sportsSubtitle
**Optional | Max 1** The sportsSubtitle of the content. Usually used for SportingEvent.
**Example**
```
Eagles vs. Dallas
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### seriesAssetId
**Required | Max 1** ID of the SeriesMaster this item represents, so that Episodes in that series can be connected to it. Other items in the GMRSS feed can reference this item using the gmrss:entityReference element.
**Example**
```
SM5678
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### entityReference
**Required | Unlimited** Reference to an entity (e.g. Movie, Episode, TvSeason, SeriesMaster). There can be many entity references per one item. The value of the entity reference is an entity ID in a specific namespace. The entityReference field can be used to link an Episode to a SeriesMaster.
**Example**
```
GTMV0000645117
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the tag ID. |
| `entityType` | required | | Entity type that this reference points to (example: SeriesMaster). |
| `namespace` | optional | | Namespace where the ID is unique. |
| `isPrimary` | optional | | Only required when type=entityCollection. isPrimary=true creates a new entityCollection. |
### tagReference
**Optional | Unlimited** Reference to a tag. There can be many tag references per one item. The value of the tag reference is a tag ID in a specific namespace. The tagReference field can be used to create a TagAssociation. If an optional attribute type is provided, also the referred tag will be created if it does not exist. The attribute will be only effective if the ingesting partner has the parameter createTags set to true.
**Example**
```
GN164S651XQJ19N
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the tag ID. |
| `namespace` | optional | | Namespace where the ID is unique. |
| `type` | optional | | Type of the tag to create. Allowed values are ProviderEditorial, ProviderPlacement. |
### brand
**Required | Max 1** Drives the brand logo selection. Brand of the video asset. An example from traditional ADI VOD would be distributor=indemand and brand=NBC Universal. An example from an OTT provider would be distributor=Netflix and brand=NBC Universal. This will be saved as a Merlin ProgramMediaAssociation.companies entry with role=Provider. Also supports "merlin:" instead of Brand name.
**Example**
```
nbcentertainment
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### episodeNumber
**Preferred | Max 1** Episode number for episode entity metadata.
**Example**
```
1
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### seasonNumber
**Preferred | Max 1** Season number for episode season metadata.
**Example**
```
2
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `seedTVSeason` | optional | false | Will create a TV Season object if set to true. |
### externalAssetId
**Required | Max 1** Id to link to the appropriate in-app page. This id will be used for deeplink generation.
**Example**
```
id123
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### externalEntityId
**Required | Max 1 (for non-native playback)** Id to link to the appropriate in-app page. This id will be used for deeplink generation.
**Example**
```
id123
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### externalSeriesId
**Preferred | Max 1** Id to link to the appropriate in-app page. This id will be used for deeplink generation.
**Example**
```
id123
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### creditAssociation
**Optional | Unlimited** Used to create persons (both people and characters) within Merlin and relate those persons to a program through a new credit. For credit types of 'Actor' a partReference field is also required to link the actor-person to the character-person.
**Example**
```
NBC_ID_MM
NBC_ID_SHREK
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of credit. |
| `partName` | optional | | Part played. |
| `rank` | optional | | Integer rank. |
| `cameo` | optional | | true/false. |
### personReference
**Optional | Unlimited** Reference to a person. Use as element in creditAssociation, as standalone field will be deprecated.
**Example**
```
PERSON_ID
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the tag ID. |
| `type` | required* | | Required if personReference is NOT embedded within creditAssociation. |
| `namespace` | optional | | Namespace where the ID is unique. |
| `partName` | optional | | Name of the part played. |
| `rank` | optional | | Integer rank. |
| `cameo` | optional | | true/false. |
### partReference
**Optional | Unlimited** Reference to a part. Use as element in creditAssociation, as standalone field will be deprecated.
**Example**
```
NBC_ID_MM
NBC_ID_SHREK
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the tag ID. |
| `type` | optional | | Type of the part. |
| `namespace` | optional | | Namespace where the ID is unique. |
### companyReference
**Optional | Unlimited** Reference to a company.
**Example**
```
ProviderCompanyName
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the company ID. |
| `namespace` | optional | | Namespace where the ID is unique. |
| `role` | required | | The relationship with this company. Valid values: Provider, Distributor. |
### liveWindowEnd
**Only if live | Max 1** End date of live window asset. The date must be absolute; it must have timezone set or Z (example: 2017-10-13T09:00Z).
**Example**
```
2022-03T03:45:00Z
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### visibilityDate
**Only if live | Max 1** Date when livod content will surface. The date must be absolute; it must have timezone set or Z (example: 2017-10-13T09:00Z).
**Example**
```
2022-03T03:45:00Z
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### displayStartDate
**Only if live | Max 1** Start date to be displayed livod content. The date must be absolute; it must have timezone set or Z (example: 2017-10-13T09:00Z).
**Example**
```
2022-03T03:45:00Z
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### availabilityStatus
**Only if live | Max 1** Status of content. Values: Upcoming, Live, Concluded, ConcludedWithReplay, Delayed, Cancelled, Replay (VOD).
**Example**
```
Live
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### airingType
**Only if live | Max 1** Airing type from listing. Valid values are New, Live, Repeat, Taped, and null value. Required for SportingEvent, Live Programming and TV Series.
**Example**
```
New
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### subjectToCoppa
**Optional | Max 1** Deprecated. Use gmrss:restriction instead. A boolean that indicates whether COPPA - Children's Online Privacy Protection Act - rules should be obeyed. This impacts the amount of data that should be sent to the DAI platform during playback for Ad selection. When this boolean is true, it basically means that the intended audience for the program is children, therefore additional COPPA privacy rules should be enforced. Possible value could be "true" or "false".
**Example**
```
false
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### ivod
**Optional | Max 1** Whether this gmrss represents an IVOD asset or not.
**Example**
```
true
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### listingStartTime
**Only if IVOD | Max 1** The listingStartTime that this IVOD GMRSS is associated to.
**Example**
```
2021-04-20T00:00:00Z
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### stationReference
**Only if IVOD | Max 1** A reference to a station using provider and provider's native id.
**Example**
```
19145
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the station ID. |
### eventTournamentReference
**Optional | Max 1** Reference to an eventTournament. This will create the eventAssociation between the event and the eventTournament if eventReference is also provided.
**Example**
```
5145191819992904293
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the event tournament ID. |
| `namespace` | optional | | Namespace where the ID is unique. |
### sportsConferenceReference
**Optional | Max 1** Reference to a sportsConference. This will create the eventAssociation between the event and the sportsConference if eventReference is also provided. If sportsConference doesn't exist or there is no eventReference in the gmrss, it will soft fail.
**Example**
```
5145191819992904290
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the sports conference ID. |
| `namespace` | optional | | Namespace where the ID is unique. |
### timeSlice
**Optional | Unlimited** Create a time slice with the provided interval with start and end offsets in milliseconds from the beginning of the asset. For livod time slices, absolute time instead of offset must be provided.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `start` | required* | | Required if absoluteStartTime is not provided; start in milliseconds. |
| `end` | required* | | Required if absoluteEndTime is not provided; end in milliseconds. |
| `absoluteStartTime` | required* | | Required if start and end are not provided; milliseconds format. |
| `absoluteEndTime` | optional | | Absolute end time in milliseconds. |
| `type` | required | | Type of time slice. |
| `title` | optional | | Title of the time slice. |
| `description` | optional | | Description of the time slice. |
### timeMarker
**Optional | Unlimited** Create a time marker with the provided offset in milliseconds from the beginning of the asset.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `offset` | required | | Offset in milliseconds from the beginning of the file. |
| `type` | required | | Type of marker. |
| `title` | optional | | Title of the marker. |
### offerId
**Required | Max 1** This uniquely identifies the offer in the provider's Id space. It is used to support updates to existing Offers (and avoid dupes).
**Example**
```
OFFER1234
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### offerType
**Required | Max 1** SingleMovieBundle - Used for Movies or Episodes with a single "Feature" asset. Extras may optionally be included. Bundle - Used for collections of multiple assets. Extras may optionally be included.
**Example**
```
SingleMovieBundle
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### price
**Required | Max 1** Price in pennies (or smallest units of currency).
**Example**
```
999
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### currencyCode
**Required | Max 1** Basic unit of currency.
**Example**
```
USD
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### purchaseCategory
**Required | Max 1** Indicates the type of transaction, permanent buy vs rental.
**Example**
```
Buy
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### mediaAssociations
**Required | Max 1** Contains a list of media associated with the offer. See gmrss:mediaAssociation and mediaAssociation table.
**Example**
```
FEATURE
761022
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### mediaAssociation
**Required | Unlimited** Media associated with the offer, contained within gmrss:mediaAssociations tag. See mediaAssociation table.
**Example**
```
FEATURE
761022
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### videoQuality
**Required | Max 1** Defaults to same value as asset, required if different prices are required for lower quality variants.
**Example**
```
HD
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### preOrder
**Optional | Max 1** True if offer supports pre-order period before it goes live. Defaults to false.
**Example**
```
true
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### external
**Optional | Max 1** Boolean that denotes whether the offer is internal or external. Default if field is not present is false (internal).
**Example**
```
true
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### goLiveDate
**Optional | Max 1** Date format. The timestamp after which an Offer should no longer be presented to customers as a "pre-order". Not required at pre-order creation, can be sent later as an update.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### lowestPrice
**Optional | Max 1** Lowest price of the offer in pennies. May not be set if price is set.
**Example**
```
999
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### labelPolicy
**Optional | Unlimited** Reference to a labelPolicyAssociations.
**Example**
```
kids14+
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | optional | | Provider of the id and id namespace. |
### videoSource
**Optional | Unlimited** Contains gmrss:sourcePart element(s).
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### sourcePart
**Optional | Unlimited** Contains media:content element(s) that can be used to describe the source video components. See Content table for details. It also contains gmrss:breakpoint objects.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `number` | required | | Defines the order for this part within the overall playlist. Must be unique across all source parts. |
| `type` | required | | Defines what type of element this part is (PROGRAM, CERT, WARN, IDENT, RECAP, BUMPER, COMM, PROMO, SPONSOR). |
| `elementClass` | required | | Defines the class for this part (PRE, MID, POST, PART). |
| `checksum` | required | | Defines the checksum for this video file. |
### breakpoint
**Optional | Unlimited** Defines where an ad-break should be placed within a given part. The offset is from the start of the part the breakpoint is embedded into. For breaks happening before the start of a part, use 0; for breaks happening at the end of the part use offset >= part.duration.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `offset` | required | | Where to place an ad-break, offset from the beginning of the part (value is in seconds). |
### media:status
**Required | Max 1** Specifies the status of a media object – whether it's still active or it has been blocked/deleted.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `state` | required | | Values are "inactive", "active", "deleted". |
| `reason` | optional | | Values: add, update, fileUpdate, programOnly. |
| `force` | optional | false | Boolean indicating whether this item should be force processed. |
### media:group
**Required | Max 1** Contains media:content element(s). See media:content and Content table below for details.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### media:content
**Required | Unlimited** Allows grouping of elements that are effectively the same content, yet different representations. See content table. Contained within media:group tag.
**Example**
```
...
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `url` | required* | | Required when type!=APP or externalAssetIds are not supplied; direct URL to the media object. |
| `gmrss:checksum` | optional | | MD5 checksum of the manifest file. |
| `type` | required | | Standard MIME type of the object. |
| `gmrss:videoQuality` | required | | SD/HD/UHD. |
| `gmrss:colorDepth` | optional | | The video color type. |
| `duration` | required | | Number of seconds the media object plays. |
| `framerate` | optional | | Number of frames per second for the media object. |
| `bitrate` | optional | | Kilobits per second rate of media. |
| `lang` | deprecated | | Use languageDetails instead. |
| `gmrss:expression` | optional | full | Values are full or nonstop. Determines if the object is a sample, the full version, or a continuous stream. |
| `gmrss:videoQualityVariant` | optional | | String describing the video quality variant used. |
| `startOfEssence` | optional | 0 | The point in the file where the actual content begins. |
| `startOfMedia` | optional | 0 | The point in the file where the interested content begins. |
| `endOfMedia` | optional | | The point in the file where the interested content ends. |
### media:rating
**Preferred | Unlimited** This allows the permissible audience to be declared. If this element is not included, it assumes that no restrictions are necessary (suitable for all ages). Schemes must be preconfigured in Merlin.
**Example**
```
5
N/A
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `scheme` | required | | Example: urn:mpaa. |
| `subRatings` | optional | | Comma separated list of subRatings. |
### media:thumbnail
**Optional | Unlimited** Images for the video or Program the video represents. Note that any size is permissible, but sizes should align with X1 supported sizes otherwise invalid sized images may be ignored. The image URL must be internet accessible so that the X1 image resizing service, Myriad, can retrieve it and store it to the Comcast CDN.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `url` | required | | URL of the image, should be reachable on general internet. |
| `width` | required | | Width of the image. |
| `height` | required | | Height of the image. |
| `format` | required | | Format of the image, only jpeg is supported. |
| `type` | required | | Type designation of the image, such as 'Poster Art'. |
| `provider` | optional | THIRD_PARTY | Defines the feed provider type of the Image in the Merlin ingest system. |
| `external` | optional | false | If false, Myriad will download the image once a month and store it locally for resizing. |
| `useUrlHash` | optional | false | Used to tell imageManagementWebService to hash the url when true. |
### media:keywords
**Optional | Max 1** Relevant keywords/tags describing the media.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### media:copyright
**Optional | Max 1** Copyright line for video asset.
**Example**
```
2012 A&E Television Networks
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### nativeId
**Required | Max 1** Used to create or update station associated with the current item. NativeIds must be limited to 6 digits. Namespace will be ignored.
**Example**
```
99940
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the id and id namespace. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### stationReference
**Required | Max 1** A reference to a station using provider and provider's native id. Namespace will be ignored.
**Example**
```
9999340
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the station ID. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### languageDetails
**Preferred | Max 1** Language details for the provided station.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `primaryBroadcast` | optional | | Describes the station language. |
| `broadcast` | optional | | Comma-separated list of broadcast languages. |
| `edited` | optional | | Comma-separated list of language edits. |
### locator
**Required | Unlimited** Information required to produce a Firebolt "TuneIntent" when a customer expresses the desire to play a particular linear stream. See Locator table below.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### channelLineupReference
**Required | Max 1** A reference to a ChannelLineup using provider and provider's native id.
**Example**
```
Xumo National
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `provider` | required | | Provider of the channelLineup. |
| `namespace` | optional | | Namespace where the id is unique. Used if multiple ID spaces exist within the same provider to guarantee uniqueness. |
### callSign
**Required | Max 1** On screen identifier for this channel.
**Example**
```
XFOOD
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### number
**Required | Max 1** Channel number.
**Example**
```
9999340
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### provider
**Required | Max 1** The provider of the listing.
**Example**
```
XUMO
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### accessibility
**Required | Max 1** All subtitle and audio track information available for the listing program. See Accessibility table below.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### colorDepth
**Optional | Max 1** Inherited from station if not provided. Valid values are SDR and HDR.
**Example**
```
SDR
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### videoQuality
**Required | Max 1** Describes video stream quality.
**Example**
```
HD
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### locatorType
**Required | Max 1** The type of the locator. For fireboltLocator use FireboltTune. For streamLocator use LinearStream.
**Example**
```
FireboltTune
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### fireboltEntityId
**Required | Max 1 (if locatorType is FireboltTune)** The unique entity identifier for the TuneIntent.
**Example**
```
*9999340*
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### fireboltChannelType
**Required | Max 1** The channel type of the TuneIntent. Valid values are streaming or overTheAir.
**Example**
```
streaming
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### fireboltAppContentData
**Optional | Max 1** Additional app content data for TuneIntent.
**Example**
```
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### locatorPath
**Required | Max 1 (if locatorType is LinearStream)** Path to the stream object.
**Example**
```
{proto}://d2esudvxtgwpgo.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/appName/{ads.appName}/xumo_channelId/{xumo_channelId}.{fmt}
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### streamTitle
**Required | Max 1 (if locatorType is LinearStream)** Title of stream object.
**Example**
```
Xumo Free Movie
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### streamStatus
**Required | Max 1 (if locatorType is LinearStream)** Status of stream object.
**Example**
```
Production
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### playerConfig
**Optional | Unlimited** Type of playerConfig. Values such as externalEntityId, externalChannelType, appContentData, etc. will be preferred over other similar locator fields in locator.
**Example**
```
com.xumo.play.ipa
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### accessibleName
**Optional | Max 1** A station name that satisfies the need of screen readers. Some station names are not human-readable, so this field will contain the human-readable station name.
**Example**
```
ESPN
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### offers
**Optional | Unlimited** List of single-asset TVOD options available to allow consumption of this content.
**Example**
```
start=2024-09-24T07:00:00+0000; end=2037-11-18T21:00:00+0000;
start=2024-09-24T07:00:00+0000; end=2037-11-18T21:00:00+0000;
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### bundle
**Required | Max 1** Bundles do not include Mezz files, rather they reference other separately published assets. It is not necessary for all assets in the bundle to exist at time of bundle publish - assets which arrive later are automatically added to the bundle.
**Example**
```
296654
296658
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of bundle. |
---
## Content fields
### metadataFile
**Optional | Unlimited**
Optional references to additional metadata files required to process the source content.
**Example**
```
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | metadataFile type |
| `url` | required | | URL to the file |
### audioTrack
**Required | Unlimited**
Describes a single audio track. Audio track metadata attributes are modeled after HTML5. See AudioTrack object for additional elements.
**Example**
```
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `lang` | required | | Follows ISO-639-1 (2 or 5 character) |
| `codec` | optional | | Audio codec |
| `audioCodec` | required* | | Required within sourcePart - either use this or codec |
| `dvs` | optional | false | Indicates Descriptive Video Service track |
| `audioType` | required | | Stereo, Mono, Surround, Description |
| `index` | required | | Integer, display order of audio track |
| `type` | optional | | main/translation |
| `original` | optional | false | Indicates if audio track is original |
| `container` | required* | | Required within sourcePart |
| `transport` | required* | | Required within sourcePart |
| `url` | required* | | Required within sourcePart whenever the audio is provided as a sidecar file |
| `startOfEssence` | optional | 0 | The point in the file where the actual content begins |
| `startOfMedia` | optional | 0 | The point in the file where the interested content begins |
| `endOfMedia` | optional | startOfEssence + content.duration | The point in the file where the interested content ends |
### audioTrack
**Required | Max 1**
Describes a single audio track. Audio track metadata attributes are modeled after HTML5.
**Example**
```
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `lang` | required | | Follows ISO-639-1 (2 or 5 character) |
| `codec` | optional | | Audio codec |
| `dvs` | optional | false | Indicates Descriptive Video Service track |
| `audioType` | required | | Stereo, Mono, Surround, Description |
| `index` | required | | Integer, display order of audio track |
| `type` | optional | | main/translation |
| `original` | optional | false | Indicates if audio track is original |
### trackAssignment
**Optional* | Unlimited**
*Required only on sourceParts Defines the audioTrack layout for a source audio file.
**Example**
```
LR
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `number` | required | | Integer value describing the track number. Must be unique within the sourcePart |
### subtitle
**Preferred | Unlimited**
Represents a single subtitle or cc track. Values are cc, forcedNarrative, or subtitle.
**Example**
```
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `lang` | required | | Subtitle language |
| `role` | required | | Subtitle role, e.g. forcedNarrative or cc |
| `codec` | required* | | Subtitle codec (within sourcePart) |
| `url` | required* | | URL to subtitle file (within sourcePart) |
### videoCodec
**Optional | Max 1**
String describing the video codec used for the video encoding. Required when type!=APP.
**Example**
```
H264
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### videoQualityVariant
**Optional | Max 1**
String describing the video quality variant used.
**Example**
```
HDR
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### audioCodec
**Optional | Max 1**
String describing the audio codec used for the audio encoding. Required when type!=APP.
**Example**
```
H264
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### transport
**Optional | Max 1**
String describing transport used for the video encoding. Required when type!=APP.
**Example**
```
HLS
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### protectionMethod
**Optional | Unlimited**
String describing the protection method used for the video encoding.
**Example**
```
PLAYREADY
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### protectionKey
**Optional | Max 1**
String describing the protection method used for the video encoding.
**Example**
```
US-EDC-VOD-1-CENC:PCK_1611852294372.3757_01
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### container
**Optional | Max 1**
Required when type!=APP.
**Example**
```
ISOBMFF
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### protectionScheme
**Optional | Max 1**
String describing the protection key/scheme used for the video encoding.
**Example**
```
CENC
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### protectionSystem
**Optional | Max 1**
String describing the protection system used for the video encoding.
**Example**
```
CKS
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### appStartMode
**Optional | Max 1**
String describing start mode for application content.
**Example**
```
video
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### appMetadata
**Optional | Max 1**
Json blob describing additional metadata for application content.
**Example**
```
{"appaction": "details", "appargs": {"query":{"page": "details", "type": "series", "id": "3ZoBZ52QHb4x"}}}
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### optimizedFor
**Optional | Unlimited**
What this specific media/content is optimized for.
**Example**
```
STREAMING
DOWNLOAD
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### adCompatibility
**Optional | Max 1**
String for the ad compatibility encoding profile.
**Example**
```
STREAMING
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### adInstructions
**Optional | Unlimited**
Value for the specified adInstruction.
**Example**
```
break
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `key` | required | | The name of the adInstruction parameter |
### targetPlatforms
**Optional | Unlimited**
String describing the target platforms for the content.
**Example**
```
Android
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### publicationStatus
**Optional | Max 1**
Indicates the current content publication step of the asset rendition. Required when type=MEZZ.
**Example**
```
TRANSCODE
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### packageType
**Optional | Max 1**
Indicates the target asset url DRM. Required when type=MEZZ.
**Example**
```
CMAFNotSecure
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### watermarkEndDate
**Optional | Max 1**
ISO 8601 timestamp describing watermark end date.
**Example**
```
2023-06-30T12:00:00Z
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### adminTag
**Optional | Unlimited**
List of adminTags that is used by a2g.
**Example**
```
a2g-ignore
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### categoryPath
**Optional | Unlimited**
List of category paths to be added.
**Example**
```
Dummy Prefix/Dummy Advertise/Suffix
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### originalHeight
**Optional | Max 1**
This will be used to optimize the Vertical Video playback.
**Example**
```
1024
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### originalWidth
**Optional | Max 1**
This will be used to optimize the Vertical Video playback.
**Example**
```
768
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### watermark
**Optional | Unlimited**
Used to provide an imperceptible digital overlay blended over the videoplane without impact to video quality.
**Example**
```
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `territories` | required | | List of territories i.e. GB,IT,DE |
| `platformWatermark` | required | | true or false. Indicates whether or not the content should be enhanced with a platform watermark. |
| `invisibleSessionWatermark` | required | | true or false. Indicates whether or not each playback session is subject to an invisible watermark. |
| `visibleSessionWatermark` | required | | true or false. Indicates whether or not each playback session is subject to a visible watermark. |
| `rhythm` | optional | | String describing how often visible watermark needs to displayed, i.e. every 10 minutes = PT10M. |
| `longevity` | optional | | String describing how long visible watermark should stay on. |
| `copyrightSourceId` | optional | | The fingerprint Id of the source passed to FMTS. |
---
## Distribution rights fields
### valid
**Required | Unlimited**
Specifies the time window during which the contentRights object is applicable.
**Example**
```
start=2022-01-01T00:00Z;end=2035-12-31T00:00Z;scheme=W3C-DTF
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `downloadable` | optional | | Determines media availability for download. |
### contentCatalog
**Required | Max 1**
The specific app catalog, if an app provider delivers separate customized catalogs for different products. If not provided, contentProviderName is used.
**Example**
```
Netflix
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### contentCatalogs
**Optional | Max 1**
Contains a list of specific app catalogs, if an app provider delivers separate customized catalogs for different products. If not provided, contentProviderName is used. This field applies only to Locator Distribution Rights.
**Example**
```
FAST Native
XUMO
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### contentClass
**Required | Max 1**
This is expressed in industry standard terms such as SVOD, TVOD, AVOD, etc. With windows for each.
**Example**
```
SVOD
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### contentTier
**Required | Max 1**
The provider-specific term for different tiering rules dictating subscription requirements to consume content.
**Example**
```
Basic
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### playRegions
**Required | Max 1**
Contains a list of viable play regions for this content.
**Example**
```
IE
GB-NIR
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### playRegion
**Required | Unlimited**
Specifies the region where the content can be played. Embedded within gmrss:playRegions.
**Example**
```
GB-NIR
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of region (e.g., ISODIVISION, ISOSUBDIVISION). |
### downloadable
**Optional | Max 1**
Determines media availability for download. Defaults to false if not provided.
**Example**
```
false
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### streamable
**Optional | Max 1**
Determines media availability for streaming. Defaults to true if not provided.
**Example**
```
true
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### restriction
**Optional | Unlimited**
Restrictions which constrain this piece of content. Field privacyIdentifier is required when type="REST:PRIVACY".
**Example**
```
inclusive
subjectToCoppa
```
**Attributes**
| Attribute | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of restriction. Types include "REST:MANUFACTURER", "REST:CUSGROUP", "REST:RIGHTSTERR", "REST:PLAYTERR", "REST:QUALITY", "REST:DEVICE", "REST:CONN", "REST:AREA", "REST:CLIENTCAPABILITY", "REST:PLATFORMCAPABILITY", "REST:PRIVACY". |
---
## Content rights fields (legacy)
### restriction (legacy)
**Required | Unlimited**
Space separated list of restrictions, can be used for country or platformCapability restrictions in the gmrss. Types include REST:RIGHTSTERR, DEVICE and PLATFORMCAPABILITY.
**Example**
```
......
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| `type` | required | | Type of restriction. Types include "REST:RIGHTSTERR", "DEVICE", "PLATFORMCAPABILITY". |
### segment (legacy)
**Required | Max 1**
No description provided.
**Example**
```
SKYSHOWTIMEbase_d2c
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### proposition (legacy)
**Required | Max 1**
No description provided.
**Example**
```
PL......
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### windowType (legacy)
**Required | Max 1**
No description provided.
**Example**
```
ARCHIVE
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### windowMode (legacy)
**Required | Max 1**
No description provided.
**Example**
```
SVOD
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### valid (legacy)
**Required | Max 1**
No description provided.
**Example**
```
start=2022-01-01T00:00Z;end=2035-12-31T00:00Z;scheme=W3C-DTF
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### downloadable (legacy)
**Optional | Max 1**
Defaults to false if not provided.
**Example**
```
true
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |
### streamable (legacy)
**Optional | Max 1**
Defaults to true if not provided.
**Example**
```
false
```
**Attributes**
| Attributes | Use | Default value | Description |
| --- | --- | --- | --- |
| | | | |