Skip to Content

Assets

An asset refers to a piece of media content that is stored or is being live streamed through the Mux system. An asset always has a duration and one or more tracks (audio, video, and text data).

The media content of an asset cannot be updated once created, however an asset can be used to create another asset, and can be modified within that process.

id
string

Unique identifier for the Asset. Max 255 characters.

created_at
string

Time the Asset was created, defined as a Unix timestamp (seconds since epoch).

status
string
Possible values: "preparing""ready""errored"

The status of the asset.

duration
number

The duration of the asset in seconds (max duration for a single asset is 12 hours).

max_stored_resolutionDeprecated
string
Possible values: "Audio only""SD""HD""FHD""UHD"

This field is deprecated. Please use resolution_tier instead. The maximum resolution that has been stored for the asset. The asset may be delivered at lower resolutions depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored.

resolution_tier
string
Possible values: "audio-only""720p""1080p""1440p""2160p"

The resolution tier that the asset was ingested at, affecting billing for ingest & storage. This field also represents the highest resolution tier that the content can be delivered at, however the actual resolution may be lower depending on the device, bandwidth, and exact resolution of the uploaded asset.

max_resolution_tier
string
Possible values: "1080p""1440p""2160p"

Max resolution tier can be used to control the maximum resolution_tier your asset is encoded, stored, and streamed at. If not set, this defaults to 1080p.

encoding_tierDeprecated
string
Possible values: "smart""baseline""premium"

This field is deprecated. Please use video_quality instead. The encoding tier informs the cost, quality, and available platform features for the asset. The default encoding tier for an account can be set in the Mux Dashboard. See the video quality guide for more details.

video_quality
string
Possible values: "basic""plus""premium"

The video quality controls the cost, quality, and available platform features for the asset. The default video quality for an account can be set in the Mux Dashboard. This field replaces the deprecated encoding_tier value. See the video quality guide for more details.

max_stored_frame_rate
number

The maximum frame rate that has been stored for the asset. The asset may be delivered at lower frame rates depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored. This field may return -1 if the frame rate of the input cannot be reliably determined.

aspect_ratio
string

The aspect ratio of the asset in the form of width:height, for example 16:9.

playback_ids
array

An array of Playback ID objects. Use these to create HLS playback URLs. See Play your videos for more details.

playback_ids[].id
string

Unique identifier for the PlaybackID

playback_ids[].policy
string
Possible values: "public""signed""drm"
  • public playback IDs are accessible by constructing an HLS URL like https://stream.mux.com/${PLAYBACK_ID}

  • signed playback IDs should be used with tokens https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}. See Secure video playback for details about creating tokens.

  • drm playback IDs are protected with DRM technologies. See DRM documentation for more details.

playback_ids[].drm_configuration_id
string

The DRM configuration used by this playback ID. Must only be set when policy is set to drm.

tracks
array

The individual media tracks that make up an asset.

tracks[].id
string

Unique identifier for the Track

tracks[].type
string
Possible values: "video""audio""text"

The type of track

tracks[].duration
number

The duration in seconds of the track media. This parameter is not set for text type tracks. This field is optional and may not be set. The top level duration field of an asset will always be set.

tracks[].max_width
integer

The maximum width in pixels available for the track. Only set for the video type track.

tracks[].max_height
integer

The maximum height in pixels available for the track. Only set for the video type track.

tracks[].max_frame_rate
number

The maximum frame rate available for the track. Only set for the video type track. This field may return -1 if the frame rate of the input cannot be reliably determined.

tracks[].max_channels
integer

The maximum number of audio channels the track supports. Only set for the audio type track.

tracks[].max_channel_layoutDeprecated
string

Only set for the audio type track.

tracks[].text_type
string
Possible values: "subtitles"

This parameter is only set for text type tracks.

tracks[].text_source
string
Possible values: "uploaded""embedded""generated_live""generated_live_final""generated_vod"

The source of the text contained in a Track of type text. Valid text_source values are listed below.

  • uploaded: Tracks uploaded to Mux as caption or subtitle files using the Create Asset Track API.
  • embedded: Tracks extracted from an embedded stream of CEA-608 closed captions.
  • generated_vod: Tracks generated by automatic speech recognition on an on-demand asset.
  • generated_live: Tracks generated by automatic speech recognition on a live stream configured with generated_subtitles. If an Asset has both generated_live and generated_live_final tracks that are ready, then only the generated_live_final track will be included during playback.
  • generated_live_final: Tracks generated by automatic speech recognition on a live stream using generated_subtitles. The accuracy, timing, and formatting of these subtitles is improved compared to the corresponding generated_live tracks. However, generated_live_final tracks will not be available in ready status until the live stream ends. If an Asset has both generated_live and generated_live_final tracks that are ready, then only the generated_live_final track will be included during playback.
tracks[].language_code
string

The language code value represents BCP 47 specification compliant value. For example, en for English or en-US for the US version of English. This parameter is only set for text and audio track types.

tracks[].name
string

The name of the track containing a human-readable description. The HLS manifest will associate a subtitle text or audio track with this value. For example, the value should be "English" for a subtitle text track for the language_code value of en-US. This parameter is only set for text and audio track types.

tracks[].closed_captions
boolean

Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This parameter is only set tracks where type is text and text_type is subtitles.

tracks[].passthrough
string

Arbitrary user-supplied metadata set for the track either when creating the asset or track. This parameter is only set for text type tracks. Max 255 characters.

tracks[].status
string
Possible values: "preparing""ready""errored""deleted"

The status of the track. This parameter is only set for text type tracks.

tracks[].primary
boolean

For an audio track, indicates that this is the primary audio track, ingested from the main input for this asset. The primary audio track cannot be deleted.

errors
object

Object that describes any errors that happened when processing this asset.

errors.type
string

The type of error that occurred for this asset.

errors.messages
array

Error messages with more details.

upload_id
string

Unique identifier for the Direct Upload. This is an optional parameter added when the asset is created from a direct upload.

is_live
boolean

Indicates whether the live stream that created this asset is currently active and not in idle state. This is an optional parameter added when the asset is created from a live stream.

passthrough
string

You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as title or external_id , you can use the meta object instead. Max: 255 characters.

live_stream_id
string

Unique identifier for the live stream. This is an optional parameter added when the asset is created from a live stream.

master
object

An object containing the current status of Master Access and the link to the Master MP4 file when ready. This object does not exist if master_access is set to none and when the temporary URL expires.

master.status
string
Possible values: "ready""preparing""errored"
master.url
string

The temporary URL to the master version of the video, as an MP4 file. This URL will expire after 24 hours.

master_access
string (default: none)
Possible values: "temporary""none"
mp4_supportDeprecated
string (default: none)
Possible values: "none""capped-1080p""audio-only""audio-only,capped-1080p""standard" (Deprecated)
source_asset_id
string

Asset Identifier of the video used as the source for creating the clip.

normalize_audio
boolean (default: false)

Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.

static_renditions
object

An object containing the current status of any static renditions (mp4s). The object does not exist if no static renditions have been requested. See Download your videos for more information.

static_renditions.status
string (default: disabled)
Possible values: "ready""preparing""disabled""errored"

Indicates the status of downloadable MP4 versions of this asset. This field is only valid when mp4_support is enabled

static_renditions.files
array

Array of file objects.

static_renditions.files[].name
string
Possible values: "low.mp4""medium.mp4""high.mp4""highest.mp4""audio.m4a""capped-1080p.mp4"

Name of the static rendition file

static_renditions.files[].ext
string
Possible values: "mp4""m4a"

Extension of the static rendition file

static_renditions.files[].height
integer

The height of the static rendition's file in pixels

static_renditions.files[].width
integer

The width of the static rendition's file in pixels

static_renditions.files[].bitrate
integer

The bitrate in bits per second

static_renditions.files[].filesize
string

The file size in bytes

static_renditions.files[].type
string
Possible values: "standard"

Indicates the static rendition type of this specific MP4 version of this asset. This field is only valid for static_renditions, not for mp4_support.

static_renditions.files[].status
string
Possible values: "ready""preparing""skipped""errored"

Indicates the status of this specific MP4 version of this asset. This field is only valid for static_renditions, not for mp4_support.

  • ready indicates the MP4 has been generated and is ready for download
  • preparing indicates the asset has not been ingested or the static rendition is still being generated after an asset is ready
  • skipped indicates the static rendition will not be generated because the requested resolution conflicts with the asset attributes after the asset has been ingested
  • errored indicates the static rendition cannot be generated. For example, an asset could not be ingested
static_renditions.files[].resolution_tier
string
Possible values: "2160p""1440p""1080p""720p"

Indicates the resolution tier of this specific MP4 version of this asset. This field is only valid for static_renditions, not for mp4_support.

static_renditions.files[].resolution
string
Possible values: "highest""audio-only"

Indicates the resolution of this specific MP4 version of this asset. This field is only valid for static_renditions, not for mp4_support.

static_renditions.files[].id
string

The ID of this static rendition, used in managing this static rendition. This field is only valid for static_renditions, not for mp4_support.

static_renditions.files[].passthrough
string

Arbitrary user-supplied metadata set for the static rendition. Max 255 characters.

recording_times
array

An array of individual live stream recording sessions. A recording session is created on each encoder connection during the live stream. Additionally any time slate media is inserted during brief interruptions in the live stream media or times when the live streaming software disconnects, a recording session representing the slate media will be added with a "slate" type.

recording_times[].started_at
string

The time at which the recording for the live stream started. The time value is Unix epoch time represented in ISO 8601 format.

recording_times[].duration
number

The duration of the live stream recorded. The time value is in seconds.

recording_times[].type
string
Possible values: "content""slate"

The type of media represented by the recording session, either content for normal stream content or slate for slate media inserted during stream interruptions.

non_standard_input_reasons
object

An object containing one or more reasons the input file is non-standard. See the guide on minimizing processing time for more information on what a standard input is defined as. This object only exists on on-demand assets that have non-standard inputs, so if missing you can assume the input qualifies as standard.

non_standard_input_reasons.video_codec
string

The video codec used on the input file. For example, the input file encoded with hevc video codec is non-standard and the value of this parameter is hevc.

non_standard_input_reasons.audio_codec
string

The audio codec used on the input file. Non-AAC audio codecs are non-standard.

non_standard_input_reasons.video_gop_size
string
Possible values: "high"

The video key frame Interval (also called as Group of Picture or GOP) of the input file is high. This parameter is present when the gop is greater than 20 seconds.

non_standard_input_reasons.video_frame_rate
string

The video frame rate of the input file. Video with average frames per second (fps) less than 5 or greater than 120 is non-standard. A -1 frame rate value indicates Mux could not determine the frame rate of the video track.

non_standard_input_reasons.video_resolution
string

The video resolution of the input file. Video resolution higher than 2048 pixels on any one dimension (height or width) is considered non-standard, The resolution value is presented as width x height in pixels.

non_standard_input_reasons.video_bitrate
string
Possible values: "high"

The video bitrate of the input file is high. This parameter is present when the average bitrate of any key frame interval (also known as Group of Pictures or GOP) is higher than what's considered standard which typically is 16 Mbps.

non_standard_input_reasons.pixel_aspect_ratio
string

The video pixel aspect ratio of the input file.

non_standard_input_reasons.video_edit_list
string
Possible values: "non-standard"

Video Edit List reason indicates that the input file's video track contains a complex Edit Decision List.

non_standard_input_reasons.audio_edit_list
string
Possible values: "non-standard"

Audio Edit List reason indicates that the input file's audio track contains a complex Edit Decision List.

non_standard_input_reasons.unexpected_media_file_parameters
string
Possible values: "non-standard"

A catch-all reason when the input file in created with non-standard encoding parameters.

non_standard_input_reasons.unsupported_pixel_format
string

The video pixel format, as a string, returned by libav. Considered non-standard if not one of yuv420p or yuvj420p.

test
boolean

True means this live stream is a test asset. A test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs.

ingest_type
string
Possible values: "on_demand_url""on_demand_direct_upload""on_demand_clip""live_rtmp""live_srt"

The type of ingest used to create the asset.

meta
object
meta.title
string

The video title. Max 512 code points.

meta.creator_id
string

This is an identifier you provide to keep track of the creator of the video. Max 128 code points.

meta.external_id
string

This is an identifier you provide to link the video to your own data. Max 128 code points.