Video Format

fm

Initiates the Imgix Video feature and allows you to specify the video format. Most Imgix Video parameters require fm=mp4, fm=hls, or fm=dash.

The following formats are supported:

  • mp4: Outputs an MP4 file. The most widely supported video format, compatible with most browsers and devices.
  • json: Outputs the video metadata as JSON.
  • spritesheet: Returns the spritesheet image grid directly — a single image containing frame thumbnails arranged in a grid. Typically requested automatically by the video player after parsing the VTT file. When the spritesheet exceeds 16,384 pixels in either dimension, Imgix paginates it across multiple images; the VTT file references each page automatically.

Beta Formats

Beta Feature

This feature is currently in beta. To request access, please contact your account manager or email support@imgix.com.

HLS (fm=hls)

Outputs an adaptive HLS stream as an .m3u8 manifest. Imgix automatically generates a standard adaptive bitrate ladder from 360p up to 4K, capped by the source resolution. Existing audio tracks and subtitle streams are bundled into the manifest automatically. Use the video-renditions parameter to override the default bitrate ladder, and video-codecs to include multiple codec variants in the same manifest.

DASH (fm=dash)

Outputs an adaptive DASH stream as an .mpd manifest. Imgix automatically generates a standard adaptive bitrate ladder from 360p up to 4K, capped by the source resolution. Existing audio tracks and subtitle streams are bundled into the manifest automatically. Use the video-renditions parameter to override the default bitrate ladder, and video-codecs to include multiple codec variants in the same manifest.

VTT (fm=vtt)

Returns the video’s subtitle or caption track as a WebVTT sidecar file, bypassing video encoding entirely. If the source has no embedded subtitles, pair with video-generate-subtitles=true to generate an AI-transcribed track.

Multi-Codec Streaming

For fm=hls and fm=dash, the video-codecs parameter generates a manifest that includes multiple codec variants — such as AV1, H.265, and H.264 — for the same content. This allows modern players to select more efficient codecs while maintaining backwards compatibility for older devices. Supported values are av1, h265, and h264.

https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=hls&video-codecs=av1,h265,h264

When used alongside video-renditions, Imgix generates a variant for every combination of codec and rendition. For example, video-codecs=av1,h265 combined with video-renditions=1080:6m,720:3m produces four total variants in the master manifest: AV1 at 1080p, H.265 at 1080p, AV1 at 720p, and H.265 at 720p.

HLS Video Player

The player below demonstrates fm=hls adaptive streaming using Imgix’s native ix-player. See the Creating a User-Friendly Video Player tutorial for a step-by-step guide to building your own.

The video-thumbnail modifies the accepted value list. Check the video-thumbnail documentation for more information.

JSON Metadata

See the example below for when fm is set to json:

// https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=json
{
  "streams": [
    {
      "index": 0,
      "codec_name": "h264",
      "height": 2160,
      "color_space": "bt709",
      "codec_type": "video",
      "bit_rate": "13259156",
      "duration": "22.080000",
      "width": 4096
    }
  ]
}