IMF: The Interoperable Master Format
IMF is a component-based mastering and delivery format used for streaming and international distribution. Unlike a flat master, it stores reusable picture, audio, and subtitle elements, then assembles each version from a playlist.
The problem IMF solves
A flat deliverable is one continuous render per version. Domestic, airline, language, music-rights, SDR, and HDR variants therefore duplicate nearly identical picture.
IMF stores the essence once as track files. Each version is a playlist referencing the required segments. A changed version can therefore contain only its replacement segments and a new playlist. IMF is a versioning format.
Structure
The unit of delivery is an IMP: Interoperable Master Package. ST 2067-2 §7.2 defines it as one IMF Packing List plus all the assets it references. A Delivery is the ASSETMAP-mapped file set carrying one or more IMPs. "IMF package" is loose usage that will be understood, but IMP is the term the specifications and the QC reports use.
An IMP is a set of files with defined roles:
| Component | Role |
|---|---|
| Track Files | The essence itself as separate picture, audio, and subtitle MXF files |
| CPL (Composition Playlist) | Describes one version: the track files, order, and timing |
| PKL (Packing List) | Inventory of the files in this delivery, with hashes for integrity |
| ASSETMAP | Maps asset identifiers to file paths on the delivered medium |
| OPL (Output Profile List) | Optional. Describes how to derive a specific output from a CPL |
| Sidecar assets | Optional non-essence files carried with the package (ST 2067-9): scripts, QC reports, artwork |
A Supplemental Package contains replacement segments and a new CPL while referencing unchanged track files from the original package.
A CPL resembles an EDL: it references external essence by identifier and timecode instead of baking one continuous render.
Validating a package
Photon is Netflix's open-source IMF validator. It checks the ASSETMAP, PKL, CPL, App #2E constraints, and MXF header metadata against the declared essence descriptors.
Photon does not decode pixels or verify PKL hashes. It may also warn rather than fail on unsupported namespaces. Use it for structural validation, then verify hashes and watch the picture separately.
DaVinci Resolve Studio exposes Photon validation directly. Run the full local validator before using Netflix's reduced delivery-interface check.1
Application #2E
IMF is a framework with applications that constrain it to a usable profile. App #2E is the one that matters for streaming delivery. Per ST 2067-21, it uses image essence coded as a JPEG 2000 codestream and audio as linear PCM, with track files conforming to SMPTE ST 379-1 and ST 422, and picture essence described by a CDCI descriptor (for Y′C′BC′R) or an RGBA descriptor (for R′G′B′).
JPEG 2000 is intra-frame and frame-addressable, so a version can change at any frame without temporal dependencies. ST 2067-21:2023 added HTJ2K (high-throughput JPEG 2000), which encodes and decodes far faster than the original block coder at the same quality.
Other applications include App #4 for archival cinema mastering, App #5 for ACES essence, and RDD 59-1 for ProRes essence under RDD 45.
Netflix requires IMF App #2E conforming to SMPTE ST 2067-21:2016, :2020, or :2023. Immersive-audio packages must also conform to ST 2067-201:2019 (IAB) Level 0.2
Production requirements
IMF authoring is usually handled by a mastering facility or specialist vendor. The production must supply material from which that vendor can build the package:
- Supply textless elements. Every title, caption, and dub card that may vary by territory needs a clean background with handles.
- Plan versions during post. Organize known alternate cuts and elements during the DI. Adding them later means reopening the master.
- Enforce naming and versioning. Confirm every supplemental CPL references the intended segment versions.
- Get the complete specification before the DI. "IMF" alone is insufficient. Confirm the application, audio configuration, HDR variant, and whether supplemental packages are expected.
-
Netflix/photon on GitHub, Apache-2.0. ↩
-
Netflix Partner Help Center: Interoperable Master Format (IMF): Overview and Post Production Branded Delivery Specifications. Netflix's delivery specifications are versioned and change over time. Confirm current requirements before delivery. ↩