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.

Supported Formats

  • 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.
  • m4a: Extracts audio-only output as AAC in an MPEG-4 container. See Audio-Only Output.
  • mp3: Extracts audio-only output as MP3. See Audio-Only Output.
  • wav: Extracts audio-only output as uncompressed WAV. See Audio-Only Output.

Beta Formats

  • hls: Outputs an adaptive HLS stream as an .m3u8 manifest.
  • dash: Outputs an adaptive DASH stream as an .mpd manifest.
  • vtt: Returns a WebVTT file — either a spritesheet metadata file or a subtitle/caption sidecar, depending on parameters present.

Formats

MP4 (fm=mp4)

Outputs an MP4 file. The most widely supported video format, compatible with most browsers and devices.

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

JSON (fm=json)

Outputs the video metadata as JSON. See the example below:

// 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
    }
  ]
}

Spritesheet (fm=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.

HLS — Beta (fm=hls)

Beta Feature

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

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 — Beta (fm=dash)

Beta Feature

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

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 — Beta (fm=vtt)

Beta Feature

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

The behavior of fm=vtt depends on whether any video-spritesheet-* parameters are present:

  • With a video-spritesheet-* parameter (e.g. fm=vtt&video-spritesheet-interval=auto): Returns a spritesheet metadata file — a WebVTT file whose cues contain Media Fragment URLs (#xywh=) pointing to the spritesheet image with pixel coordinates for each frame thumbnail. See Spritesheets for details.
  • Without any video-spritesheet-* parameter: 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.

Audio-Only Output

Imgix can extract just the audio track from a video source and deliver it as a standalone audio file. No video encoding is performed — only the audio stream is processed and returned.

  • fm=m4a — AAC audio in an MPEG-4 container. Best compatibility across browsers and devices. Recommended for most use cases.
  • fm=mp3 — MP3 audio. Universally compatible but uses lossy compression. Suitable for music and podcast delivery.
  • fm=wav — Uncompressed PCM audio in a WAV container. Lossless but produces large files. Suitable for professional audio workflows or when source fidelity must be preserved.
https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=m4a

The following audio parameters control encoding quality and apply to all three formats:

https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=mp3&video-audio-bitrate=128&video-audio-channels=2

The source must contain at least one audio track. If no audio stream is present, Imgix returns an HTTP 424 response. Audio processing parameters such as video-volume, video-audio-denoise, and video-audio-norm are compatible with audio-only output.