Mux

Mux is a video infrastructure platform that gives developers an end-to-end API for ingesting, encoding, storing, delivering, and analyzing video. The platform spans Mux Video (on-demand and live streaming), Mux Data (quality-of-experience analytics), Mux Robots (AI workflows for captions, chapters, summarization, and moderation), and Mux Player (drop-in playback components). Mux exposes a unified REST API at api.mux.com plus delivery hosts at stream.mux.com, image.mux.com, and stats.mux.com, backed by official SDKs in Node, Python, Ruby, PHP, Go, and Elixir, a CLI, and player integrations across web, iOS, Android, Roku, and major HTML5 players.

8 APIs 14 Features
Video InfrastructureVideo StreamingLive StreamingVideo AnalyticsVideo AIEncoding

APIs

Mux Video API

The Mux Video API manages the lifecycle of on-demand video, including Assets, Direct Uploads, Playback IDs, URL Signing Keys, Playback Restrictions, DRM Configurations, Transcri...

Mux Live Streaming API

Mux Live Streaming creates managed RTMP and SRT ingest endpoints (rtmp://global-live.mux.com:5222/app) with reusable stream keys, simulcast targets for restreaming to YouTube, T...

Mux Data API

The Mux Data API exposes video quality-of-experience analytics including Video Views, Errors, Filters, Dimensions, Exports, Metrics, Monitoring, Real-Time data, Incidents, and A...

Mux Stream Delivery API

The Mux Stream Delivery API serves HLS and DASH playback manifests, captions, transcripts, and redundant media segments from stream.mux.com keyed on Playback IDs. It honors sign...

Mux Image API

The Mux Image API generates on-the-fly thumbnails (JPG, PNG, WebP), animated GIFs, and VTT storyboard sprites for any asset playback ID via image.mux.com. URL parameters control...

Mux Robots AI API

Mux Robots is an asynchronous job API for running AI workflows against video assets. Robots include Ask Questions (Q&A over a video), Edit Captions, Find Key Moments, Generate C...

Mux System API

The Mux System API manages account-wide resources such as Signing Keys used to mint short-lived JWTs for signed playback URLs, thumbnails, and storyboards, plus utility endpoint...

Mux Webhooks

Mux Webhooks deliver signed HTTP callbacks for asset, upload, live stream, and robots job lifecycle events (video.asset.created, video.asset.ready, video.live_stream.active, vid...

Collections

Mux API

POSTMAN

Mux API

OPEN

Arazzo Workflows

Mux Account Delivery Usage Audit

Confirm the active environment with whoami, then list per-asset delivery usage for a timeframe to audit billed delivery.

ARAZZO

Mux AI Summarize Asset

Create an asset, wait until ready, queue an AI summarize job against it, then poll the job until it completes.

ARAZZO

Mux Manage Data Annotation

Create a Mux Data annotation marking a deploy or event, read it back, update its note, then list annotations to confirm.

ARAZZO

Mux Add Caption Track to Asset

Create an asset, wait until ready, attach a text caption track, then poll the track until it is ready.

ARAZZO

Mux Add Playback ID to Asset

Create an asset, wait until it is ready, then attach a new playback ID and confirm it resolves.

ARAZZO

Mux Asset Library Drilldown

List assets in the environment, then read the first asset's full detail and its input info.

ARAZZO

Mux Generate Downloadable Static Rendition

Create an asset, wait until ready, request a static MP4 rendition, then poll until the rendition is ready for download.

ARAZZO

Mux Asset Tag and Cleanup

Create an asset, wait until ready, attach title and external-id metadata, then delete it to demonstrate full lifecycle management.

ARAZZO

Mux Create Asset From URL

Ingest a video from a hosted URL, poll the new asset until ready, and confirm the input details Mux processed.

ARAZZO

Mux Dimension Exploration

List the available Mux Data dimensions, then enumerate the distinct values of a chosen dimension over a timeframe.

ARAZZO

Mux Direct Upload to Ready Asset

Create a direct upload URL, poll the upload until Mux creates an asset, then poll the asset until it is ready to play.

ARAZZO

Mux Errors Impact Analysis

List the playback errors in a timeframe, then read the overall playback-failure rate so errors can be weighed against total traffic.

ARAZZO

Mux Incident Drilldown

List open Mux Data incidents, read the first incident in detail, and pull the incidents related to it.

ARAZZO

Mux Add Playback ID to Live Stream

Create a live stream, add a second playback ID with a chosen policy, and confirm the playback ID resolves.

ARAZZO

Mux Live Stream Generated Subtitles

Create a live stream, enable automated speech-recognition subtitles for it, then read it back to confirm the subtitle config.

ARAZZO

Mux Live Stream Lifecycle Control

Create a live stream, disable it, re-enable it, and signal it complete to walk the operational lifecycle.

ARAZZO

Mux Live Stream With Simulcast Target

Create a live stream, read it back, add an RTMP simulcast target, and confirm the target is registered.

ARAZZO

Mux Metric Breakdown Analysis

Read a metric's overall value for a timeframe, then break it down by a dimension to see which segments drive it.

ARAZZO

Mux Metric Timeseries Trend

Read a metric's overall value for a timeframe, then pull its timeseries to see how the metric trended over time.

ARAZZO

Mux Monitoring Metric Breakdown

List the available monitoring dimensions, then break a chosen monitoring metric down by a dimension at a timestamp.

ARAZZO

Mux Configure Playback Restriction

Create a playback restriction, tighten its referrer and user-agent rules, then read it back to confirm the policy.

ARAZZO

Mux Real-Time Metric Breakdown

List the available real-time metrics and dimensions, then break a chosen real-time metric down by a dimension right now.

ARAZZO

Mux Rotate Live Stream Key

Create a live stream, reset its stream key, and read it back to confirm the new key is in place.

ARAZZO

Mux Rotate System Signing Key

Create a new system-level signing key for Mux Data SDK auth, read it back, list keys, then delete the previous key.

ARAZZO

Mux Rotate URL Signing Key

Create a new URL signing key, read it back, list all keys, then delete the previous key to complete a rotation.

ARAZZO

Mux Video View Drilldown

List recent video views in a timeframe, then fetch the full detail of the first matching view.

ARAZZO

Pricing Plans

Mux Com Plans Pricing

11 plans

PLANS

Rate Limits

Mux Com Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Video Encoding

Adaptive bitrate encoding with smart per-title settings and average playback-ready times under 2 seconds.

Direct Uploads

Resumable chunked PUT uploads via UpChunk that bypass the application server.

Live Streaming

Managed RTMP and SRT (with HEVC) ingest with 4-second standard latency and reduced-latency mode.

Simulcast Targets

Restream a single live broadcast to YouTube, Twitch, Facebook, and other RTMP destinations.

Mux Player

Drop-in HTML5 player available as React component, web component, and iframe embed.

Auto-Generated Captions

Real-time and on-demand caption generation across multiple languages with Transcription Vocabularies for domain terms.

Mux Data Analytics

Quality-of-experience analytics covering views, rebuffering, startup time, exits before video starts, and player errors.

Real-Time Metrics

Live concurrent viewer counts and stream health monitoring for live broadcasts.

Mux Robots AI

Asynchronous AI jobs for summarization, chaptering, key-moment detection, captions translation, content moderation, and video Q&A.

Signed Playback and DRM

JWT-signed playback URLs and Media-grade DRM (Widevine, FairPlay, PlayReady) at $100/month plus $0.003/play.

Playback Restrictions

Domain, geo, and user-agent restriction policies enforced at the manifest layer.

Thumbnails and Storyboards

On-the-fly JPG/PNG/WebP thumbnails, animated GIFs, and VTT storyboards via image.mux.com.

Webhooks

HMAC-SHA256 signed webhook events covering asset, upload, live stream, and robots job lifecycle.

Self-Serve Free Tier

100K free monthly delivery minutes and up to 10 stored videos with no credit card required.

Use Cases

User-Generated Content Platforms

Power video upload, transcoding, and playback for social, community, and creator apps.

AI Video Generation Platforms

Host and deliver outputs from generative video models with analytics on viewer behavior.

Live Events and Broadcast

Ingest concerts, sports, gaming streams, and conferences via RTMP/SRT with simulcasting.

E-Commerce Video

Embed product, demo, and shoppable video into storefronts with low-latency live shopping.

Education and Training

Course platforms and LMS providers using on-demand and live with captions and chapters.

Enterprise Communications

Internal town halls, webinars, and corporate communications with DRM and access controls.

Media and Publishing

News organizations and publishers delivering editorial video with quality analytics.

Integrations

Next.js

First-party next-video package for adding video components to Next.js apps.

React

Mux Player and Mux Elements React components for embedding playback.

Astro

Astro framework integration documented in Mux guides.

WordPress

WordPress plugin for embedding Mux video in posts and pages.

Laravel

PHP SDK and Laravel guides for Mux Video integration.

Flutter

Flutter integration for playing Mux video in mobile apps.

Roku

roku-mux SDK for Mux Data analytics on the Roku platform.

Chromecast

chromecast-mux SDK for measuring playback on Google Cast receivers.

ExoPlayer

mux-stats-sdk-exoplayer for Mux Data analytics on Android.

AVPlayer

mux-stats-sdk-avplayer for iOS, tvOS, and visionOS analytics.

JWPlayer

Mux Data SDKs for JWPlayer on iOS and web.

THEOplayer

Mux Data SDKs for THEOplayer on iOS and Android.

Video.js

Mux Data analytics SDK for the Video.js HTML5 player.

Cloudflare

Use Mux delivery behind Cloudflare for edge caching and access controls.

Zapier

No-code workflow automation via Zapier connectors.

Solutions

Free Plan

100K monthly delivery minutes, up to 10 stored videos, on-demand only, no credit card.

Pay As You Go

Usage-based billing with $20 monthly credit, unlimited storage, on-demand and live, Robots access.

Launch (Pre-pay)

$20/month for $100 in monthly credits.

Scale (Pre-pay)

$500/month for $1,000 in monthly credits.

Enterprise

Volume discounts above $3k/month, account security, SLAs, 24/7 support, custom pricing.

Semantic Vocabularies

Mux Com Context

45 classes · 4 properties

JSON-LD

API Governance Rules

Mux API Rules

9 rules · 9 warnings

SPECTRAL

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Website
Website
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
🌐
Console
Console
📝
Signup
Signup
💰
Pricing
Pricing
📄
ChangeLog
ChangeLog
📰
Blog
Blog
🟢
StatusPage
StatusPage
💬
Support
Support
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
Security
Security
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
X-Twitter
X-Twitter
👥
YouTube
YouTube
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
CLI
CLI
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
Rules
Rules
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Mux API
  version: v1
items:
- info:
    name: Transcription Vocabularies
    type: folder
  items:
  - info:
      name: List Transcription Vocabularies
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/transcription-vocabularies
      params:
      - name: limit
        value: ''
        type: query
        description: Number of items to include in the response
      - name: page
        value: ''
        type: query
        description: Offset by this many pages, of the size of `limit`
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: List all Transcription Vocabularies.
  - info:
      name: Create a Transcription Vocabulary
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/transcription-vocabularies
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Create a new Transcription Vocabulary.
  - info:
      name: Retrieve a Transcription Vocabulary
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/transcription-vocabularies/:TRANSCRIPTION_VOCABULARY_ID
      params:
      - name: TRANSCRIPTION_VOCABULARY_ID
        value: ''
        type: path
        description: The ID of the Transcription Vocabulary.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves the details of a Transcription Vocabulary that has previously been created. Supply the unique Transcription
      Vocabulary ID and Mux will return the corresponding Transcription Vocabulary information. The same information is returned
      when creating a Transcription Vocabulary.
  - info:
      name: Update a Transcription Vocabulary
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/transcription-vocabularies/:TRANSCRIPTION_VOCABULARY_ID
      params:
      - name: TRANSCRIPTION_VOCABULARY_ID
        value: ''
        type: path
        description: The ID of the Transcription Vocabulary.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Updates the details of a previously-created Transcription Vocabulary. Updates to Transcription Vocabularies are
      allowed while associated live streams are active. However, updates will not be applied to those streams while they are
      active.
  - info:
      name: Delete a Transcription Vocabulary
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/transcription-vocabularies/:TRANSCRIPTION_VOCABULARY_ID
      params:
      - name: TRANSCRIPTION_VOCABULARY_ID
        value: ''
        type: path
        description: The ID of the Transcription Vocabulary.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a Transcription Vocabulary. The Transcription Vocabulary's ID will be disassociated from any live streams
      using it. Transcription Vocabularies can be deleted while associated live streams are active. However, the words and
      phrases in the deleted Transcription Vocabulary will remain attached to those streams while they are active.
- info:
    name: Assets
    type: folder
  items:
  - info:
      name: List Assets
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/assets
      params:
      - name: limit
        value: ''
        type: query
        description: Number of items to include in the response
      - name: page
        value: ''
        type: query
        description: Offset by this many pages, of the size of `limit`
      - name: cursor
        value: ''
        type: query
        description: This parameter is used to request pages beyond the first. You can find the cursor value in the `next_cursor`
          field of paginated responses.
      - name: live_stream_id
        value: ''
        type: query
        description: Filter response to return all the assets for this live stream only
      - name: upload_id
        value: ''
        type: query
        description: Filter response to return an asset created from this direct upload only
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: List all Mux assets.
  - info:
      name: Create an Asset
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/assets
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Create a new Mux Video asset.
  - info:
      name: Retrieve an Asset
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/assets/:ASSET_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves the details of an asset that has previously been created. Supply the unique asset ID that was returned
      from your previous request, and Mux will return the corresponding asset information. The same information is returned
      when creating an asset.
  - info:
      name: Update an Asset
      type: http
    http:
      method: PATCH
      url: https://api.mux.com/video/v1/assets/:ASSET_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Updates the details of an existing Asset with the provided Asset ID. This API currently only supports the `passthrough`
      and `meta` fields.
  - info:
      name: Delete an Asset
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/assets/:ASSET_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a video asset and all its data.
  - info:
      name: Retrieve Asset Input Info
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/input-info
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Returns a list of the input objects that were used to create the asset along with any settings that were applied
      to each input.
  - info:
      name: Create a Playback ID
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/playback-ids
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Creates a playback ID that can be used to stream the asset to a viewer.
  - info:
      name: Retrieve a Playback ID
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/playback-ids/:PLAYBACK_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: PLAYBACK_ID
        value: ''
        type: path
        description: The asset or live stream's playback ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves information about the specified playback ID.
  - info:
      name: Delete a Playback ID
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/playback-ids/:PLAYBACK_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: PLAYBACK_ID
        value: ''
        type: path
        description: The asset or live stream's playback ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a playback ID, rendering it nonfunctional for viewing an asset's video content. Please note that deleting
      the playback ID removes access to the underlying asset; a viewer who started playback before the playback ID was deleted
      may be able to watch the entire video for a limited duration.
  - info:
      name: Update MP4 Support
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/mp4-support
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'This method has been deprecated. Please see the [Static Rendition API](https://www.mux.com/docs/guides/enable-static-mp4-renditions#after-asset-creation).

      Allows you to add or remove mp4 support for assets that were created without it. The values supported are `capped-1080p`,
      `audio-only`, `audio-only,capped-1080p`, `standard`(deprecated),  and `none`. `none` means that an asset *does not*
      have mp4 support, so submitting a request with `mp4_support` set to `none` will delete the mp4 assets from '
  - info:
      name: Update Master Access
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/master-access
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'Allows you to add temporary access to the master (highest-quality) version of the asset in MP4 format. A URL will
      be created that can be used to download the master version for 24 hours. After 24 hours Master Access will revert to
      "none".

      This master version is not optimized for web and not meant to be streamed, only downloaded for purposes like archiving
      or editing the video offline.'
  - info:
      name: Create a Static Rendition for an Asset
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/static-renditions
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Creates a static rendition (i.e. MP4) for an asset
  - info:
      name: Delete a Single Static Rendition for an Asset
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/static-renditions/:STATIC_RENDITION_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: STATIC_RENDITION_ID
        value: ''
        type: path
        description: The static rendition ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a single static rendition for an asset
  - info:
      name: Create an Asset Track
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/tracks
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 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.
  - info:
      name: Update an Asset Track
      type: http
    http:
      method: PATCH
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/tracks/:TRACK_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: TRACK_ID
        value: ''
        type: path
        description: The ID of the track for an asset.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Updates the details of an existing Asset Track with the provided Asset ID and Track ID.
  - info:
      name: Delete an Asset Track
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/tracks/:TRACK_ID
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: TRACK_ID
        value: ''
        type: path
        description: The ID of the track for an asset.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Removes a text or additional audio track from an asset. Neither video nor the primary audio track can be removed.
  - info:
      name: Generate Track Subtitles
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/assets/:ASSET_ID/tracks/:TRACK_ID/generate-subtitles
      params:
      - name: ASSET_ID
        value: ''
        type: path
        description: The asset ID.
      - name: TRACK_ID
        value: ''
        type: path
        description: The ID of the track for an asset.
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Generates subtitles (captions) for a given audio track. [See docs for more information.](https://mux.com/docs/guides/add-autogenerated-captions-and-use-transcripts#retroactively-enable-auto-generated-captions)
- info:
    name: Live Streams
    type: folder
  items:
  - info:
      name: List Live Streams
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/live-streams
      params:
      - name: limit
        value: ''
        type: query
        description: Number of items to include in the response
      - name: page
        value: ''
        type: query
        description: Offset by this many pages, of the size of `limit`
      - name: stream_key
        value: ''
        type: query
        description: Filter response to return live stream for this stream key only
      - name: status
        value: ''
        type: query
        description: Filter response to return live streams with the specified status only
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Lists the live streams that currently exist in the current environment.
  - info:
      name: Create a Live Stream
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/live-streams
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Creates a new live stream. Once created, an encoder can connect to Mux via the specified stream key and begin streaming
      to an audience.
  - info:
      name: Retrieve a Live Stream
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves the details of a live stream that has previously been created. Supply the unique live stream ID that was
      returned from your previous request, and Mux will return the corresponding live stream information. The same information
      is returned when creating a live stream.
  - info:
      name: Update a Live Stream
      type: http
    http:
      method: PATCH
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Updates the parameters of a previously-created live stream. This currently supports a subset of variables. Supply
      the live stream ID and the updated parameters and Mux will return the corresponding live stream information. The information
      returned will be the same after update as for subsequent get live stream requests.
  - info:
      name: Delete a Live Stream
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a live stream from the current environment. If the live stream is currently active and being streamed to,
      ingest will be terminated and the encoder will be disconnected.
  - info:
      name: Create a Live Stream Playback ID
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/playback-ids
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Create a new playback ID for this live stream, through which a viewer can watch the streamed content of the live
      stream.
  - info:
      name: Retrieve a Live Stream Playback ID
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/playback-ids/:PLAYBACK_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      - name: PLAYBACK_ID
        value: ''
        type: path
        description: The asset or live stream's playback ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Fetches information about a live stream's playback ID, through which a viewer can watch the streamed content from
      this live stream.
  - info:
      name: Delete a Live Stream Playback ID
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/playback-ids/:PLAYBACK_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      - name: PLAYBACK_ID
        value: ''
        type: path
        description: The asset or live stream's playback ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes the playback ID for the live stream. This will not disable ingest (as the live stream still exists). New
      attempts to play back the live stream will fail immediately. However, current viewers will be able to continue watching
      the stream for some period of time.
  - info:
      name: Reset a Live Stream's Stream Key
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/reset-stream-key
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Reset a live stream key if you want to immediately stop the current stream key from working and create a new stream
      key that can be used for future broadcasts.
  - info:
      name: Signal a Live Stream Is Finished
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/complete
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: '(Optional) End the live stream recording immediately instead of waiting for the reconnect_window. `EXT-X-ENDLIST`
      tag is added to the HLS manifest which notifies the player that this live stream is over.


      Mux does not close the encoder connection immediately. Encoders are often configured to re-establish connections immediately
      which would result in a new recorded asset. For this reason, Mux waits for 60s before closing the connection with the
      encoder. This 60s timeframe is meant to give encoder'
  - info:
      name: Disable a Live Stream
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/disable
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'Disables a live stream, making it reject incoming RTMP streams until re-enabled. The API also ends the live stream
      recording immediately when active. Ending the live stream recording adds the `EXT-X-ENDLIST` tag to the HLS manifest
      which notifies the player that this live stream is over.


      Mux also closes the encoder connection immediately. Any attempt from the encoder to re-establish connection will fail
      till the live stream is re-enabled.

      '
  - info:
      name: Enable a Live Stream
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/enable
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Enables a live stream, allowing it to accept an incoming RTMP stream.
  - info:
      name: Update a Live Stream's Embedded Subtitles
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/embedded-subtitles
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'Configures a live stream to receive embedded closed captions.

      The resulting Asset''s subtitle text track will have `closed_captions: true` set.

      '
  - info:
      name: Update a Live Stream's Generated Subtitles
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/generated-subtitles
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'Updates a live stream''s automatic-speech-recognition-generated subtitle configuration.

      Automatic speech recognition subtitles can be removed by sending an empty array in the

      request payload.

      '
  - info:
      name: Create a Live Stream Simulcast Target
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/simulcast-targets
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Create a simulcast target for the parent live stream. Simulcast target can only be created when the parent live
      stream is in idle state. Only one simulcast target can be created at a time with this API.
  - info:
      name: Retrieve a Live Stream Simulcast Target
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/simulcast-targets/:SIMULCAST_TARGET_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      - name: SIMULCAST_TARGET_ID
        value: ''
        type: path
        description: The ID of the simulcast target.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves the details of the simulcast target created for the parent live stream. Supply the unique live stream
      ID and simulcast target ID that was returned in the response of create simulcast target request, and Mux will return
      the corresponding information.
  - info:
      name: Delete a Live Stream Simulcast Target
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/simulcast-targets/:SIMULCAST_TARGET_ID
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      - name: SIMULCAST_TARGET_ID
        value: ''
        type: path
        description: The ID of the simulcast target.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Delete the simulcast target using the simulcast target ID returned when creating the simulcast target. Simulcast
      Target can only be deleted when the parent live stream is in idle state.
  - info:
      name: Update Live Stream Static Renditions for New Assets
      type: http
    http:
      method: PUT
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/new-asset-settings/static-renditions
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Updates a live stream's static renditions settings for new assets. Further assets made via this live stream will
      create static renditions per the settings provided. You must provide all static renditions desired.
  - info:
      name: Delete a Live Stream's Static Renditions Setting for New Assets
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/live-streams/:LIVE_STREAM_ID/new-asset-settings/static-renditions
      params:
      - name: LIVE_STREAM_ID
        value: ''
        type: path
        description: The live stream ID
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Deletes a live stream's static renditions settings for new assets. Further assets made via this live stream will
      not create static renditions unless re-added.
- info:
    name: Playback ID
    type: folder
  items:
  - info:
      name: Retrieve an Asset or Live Stream ID
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/playback-ids/:PLAYBACK_ID
      params:
      - name: PLAYBACK_ID
        value: ''
        type: path
        description: The asset or live stream's playback ID.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Retrieves the Identifier of the Asset or Live Stream associated with the Playback ID.
- info:
    name: URL Signing Keys
    type: folder
  items:
  - info:
      name: List URL Signing Keys
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/signing-keys
      params:
      - name: limit
        value: ''
        type: query
        description: Number of items to include in the response
      - name: page
        value: ''
        type: query
        description: Offset by this many pages, of the size of `limit`
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'This route is now deprecated, please use the `Signing Keys` API. Returns a list of URL signing keys.


      Note: Any new access tokens authenticating this route will be required to have `System` level permissions.

      '
  - info:
      name: Create a URL Signing Key
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/signing-keys
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'This route is now deprecated, please use the `Signing Keys` API. Creates a new signing key pair. When creating
      a new signing key,

      the API will generate a 2048-bit RSA key-pair and return the private key and

      a generated key-id; the public key will be stored at Mux to validate signed

      tokens.


      Note: Any new access tokens authenticating this route will be required to have `System` level permissions.

      '
  - info:
      name: Retrieve a URL Signing Key
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/signing-keys/:SIGNING_KEY_ID
      params:
      - name: SIGNING_KEY_ID
        value: ''
        type: path
        description: The ID of the signing key.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'This route is now deprecated, please use the `Signing Keys` API. Retrieves the details of a URL signing key that
      has previously

      been created. Supply the unique signing key ID that was returned from your

      previous request, and Mux will return the corresponding signing key information.

      **The private key is not returned in this response.**


      Note: Any new access tokens authenticating this route will be required to have `System` level permissions.

      '
  - info:
      name: Delete a URL Signing Key
      type: http
    http:
      method: DELETE
      url: https://api.mux.com/video/v1/signing-keys/:SIGNING_KEY_ID
      params:
      - name: SIGNING_KEY_ID
        value: ''
        type: path
        description: The ID of the signing key.
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: 'This route is now deprecated, please use the `Signing Keys` API. Deletes an existing signing key. Use with caution,
      as this will

      invalidate any existing signatures and no URLs can be signed using the key

      again.


      Note: Any new access tokens authenticating this route will be required to have `System` level permissions.

      '
- info:
    name: Direct Uploads
    type: folder
  items:
  - info:
      name: List Direct Uploads
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/uploads
      params:
      - name: limit
        value: ''
        type: query
        description: Number of items to include in the response
      - name: page
        value: ''
        type: query
        description: Offset by this many pages, of the size of `limit`
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Lists direct uploads in the current environment.
  - info:
      name: Create a New Direct Upload URL
      type: http
    http:
      method: POST
      url: https://api.mux.com/video/v1/uploads
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Creates a new direct upload, through which video content can be uploaded for ingest to Mux.
  - info:
      name: Retrieve a Single Direct Upload's Info
      type: http
    http:
      method: GET
      url: https://api.mux.com/video/v1/uploads/:UPLOAD_ID
      params:
      - name: UPLOAD_ID
        value: abcd1234
        type: path
        description: ID of the Upload
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Fetches information about a single direct upload 

# --- truncated at 32 KB (117 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mux-com/refs/heads/main/apis.yml