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
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,h264When 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
}
]
}