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.
Formats
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.
Beta Formats
hls: Outputs an adaptive HLS stream as an.m3u8manifest.dash: Outputs an adaptive DASH stream as an.mpdmanifest.vtt: Returns a WebVTT file — either a spritesheet metadata file or a subtitle/caption sidecar, depending on parameters present.
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
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
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
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 withvideo-generate-subtitles=trueto 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.