---
title: "Create an asset track"
method: POST
path: "/video/v1/assets/{ASSET_ID}/tracks"
tags: ["Assets"]
---

# Create an asset track

`POST /video/v1/assets/{ASSET_ID}/tracks`

Adds an asset track (for example, subtitles, or an alternate audio track) to an asset. Assets must be in the `ready` state before tracks can be added.

## Path parameters

- `ASSET_ID` string, required

## Request body

- CreateTrackRequest
  - `url` string, required — The URL of the file that Mux should download and use. * For `audio` tracks, the URL is the location of the audio file for Mux to download, for example an M4A, WAV, or MP3 file. Mux supports most audio file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/minimize-processing-time). * For `text` tracks, the URL is the location of subtitle/captions file. Mux supports [SubRip Text (SRT)](https://en.wikipedia.org/wiki/SubRip) and [Web Video Text Tracks](https://www.w3.org/TR/webvtt1/) formats for ingesting Subtitles and Closed Captions.
  - `type` 'text' | 'audio', required
  - `text_type` 'subtitles'
  - `language_code` string, required — The language code of this track. The value must be a valid BCP 47 specification compliant value. For example, en for English or en-US for the US version of English.
  - `name` string — The name of the track containing a human-readable description. This value must be unique within each group of `text` or `audio` track types. The HLS manifest will associate the `text` or `audio` track with this value. For example, set the value to "English" for subtitles text track with `language_code` as en-US. If this parameter is not included, Mux will auto-populate a value based on the `language_code` value.
  - `closed_captions` boolean — Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH).
  - `passthrough` string — Arbitrary user-supplied metadata set for the track either when creating the asset or track.

## Response `201`

Created

- CreateTrackResponse
  - `data` Track, required
    - `id` string — Unique identifier for the Track
    - `type` 'video' | 'audio' | 'text' — The type of track
    - `duration` number, double — 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.
    - `max_width` integer — The maximum width in pixels available for the track. Only set for the `video` type track.
    - `max_height` integer — The maximum height in pixels available for the track. Only set for the `video` type track.
    - `max_frame_rate` number, double — 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.
    - `max_channels` integer — The maximum number of audio channels the track supports. Only set for the `audio` type track.
    - `max_channel_layout` string — Only set for the `audio` type track.
    - `text_type` 'subtitles' — This parameter is only set for `text` type tracks.
    - `text_source` '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.
    - `language_code` string — The language code value represents [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value, or 'auto'. 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. During automatic language detection for generated subtitles, this value will be set to `auto` until the language is determined.
    - `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.
    - `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`.
    - `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.
    - `status` 'preparing' | 'ready' | 'errored' | 'deleted' — The status of the track. This parameter is only set for `text` type 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.
    - `auto_language_confidence` number, double — The confidence value (0-1) of the determined language. This value only is available when automatic language detection is utilized in generated subtitles.

---

[API](https://skmtc.net/muxinc/apis/mux-api.md) · [All operations](https://skmtc.net/muxinc/apis/mux-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muxinc/mux-api/revisions/34a65dce0f31/schema)
