Welcome to the Netflix Partner Help Center. Have a question or need help with an issue? Send us a ticket and we'll help you to a resolution.


Backlot Delivery Instructions for IMF


Currently, if you are delivering a ProRes asset, you define the language of the primary video from a drop-down field within the UI. With IMF, the language is defined inside your IMF package (IMP) – within the XML and the MXF metadata.

Thus, it becomes essential prior to creating your IMP, that you have correctly identified the language code.

1. Prepping your Complete IMF package

To start, prior to creating your complete IMP, you should check the OPEN Backlot Source Request and confirm the language of your IMP.

NOTE: At this time, we do not accept secondary assets within the IMP. This includes additional audio dubs and Timed Text assets. You will still continue to deliver those materials as secondary assets to their own Source Requests.

Navigate to the Source Request Details page by clicking the "i" icon that appears when hovering over a request in your Backlot: Manage Requests Dashboard.

In the image below, you can see that the LANGUAGE defined on the Source Request is indicated by an asterisk and states “Original Language.” Therefore, we need to review the ORIGINAL LANGUAGE (OL) metadata field to determine the correct language to use in our IMP, in this case English (en).


Note: The language letter code must be an exact match. For example, if the Language code of the Source Request is "English (en)", the language tag in your IMP must be "en."

Rules for determining the Language of your IMP:

If AV (Muxed) “Language” = *, then resolve to “Original Language” value (image above)

  • Original Language is metadata defined by the Content Partner
  • IMF language mismatch will block delivery

2. Uploading a Complete IMF to a new Backlot request

When you are ready to deliver your IMP, hover over the corresponding “AV (Muxed)” Source Request to view additional options, then click "Deliver" to launch the Source Delivery UI.


Once in the Source Delivery UI, the Source Request will be listed. From this point, simply click and drag the contents of your IMP into the drop zone.
In the example below, you can see the contents of our full IMP - a video essence, two audio essence files defined by the .mxf extension, and the XML files that make up our IMF p1.pngackage.


Once the files are placed in the drop zone, our Photon validation checks will run. If there are any errors, they will be presented to you here, otherwise, when the Asset Map, Packing List (PKL), and Composition Playlist (CPL) are confirmed, you can click "Continue" to proceed.


Next, select the "Select a CPL to deliver" drop-down menu and click "Choose A CPL".


The “AV (Muxed)” Source Request in the UI will now display as “IMP” and reflect the tracks that will be delivered. Note that in this example each track is denoted as “New” meaning that there has never been a previously processed version in the package.



Select the Source Request with its checkbox and click "Deliver" to launch the Aspera transfer. Upon Delivery, every track referenced in the CPL will be inspected at the same time, and if any essence or track fails inspection, the entire IMP delivery will be rejected.


Note: At this time we do not accept secondary assets within the IMP. This includes foreign dubbed audio and timed text assets. You will still continue to deliver those items as secondary assets to their own Requests in Backlot. 

When you navigate back to the Backlot: Manage Requests dashboard, you'll notice the single AV (Muxed) request has split into multiple requests. This split is determined by which essence tracks are included in the CPL. If your CPL contains video, 5.1, and 2.0, the request will be broken down into three separate requests - a Video request, an Audio (5.1) request, and an Audio (2.0) request.
If you would like to confirm that your IMP is processing or verify the status of the inspections, you may do so by reviewing the Source Request Details page of each of the three (video, 5.1, and 2.0) requests. The audio requests will remain open with a "Waiting for Primary" status until the video has processed successfully. 



Supplemental IMPs can be used to fulfill Redelivery Requests where maybe just a few frames or a shot in the video essence needs correction or perhaps an audio error is flagged, but the video is approved. For these examples, you would make the necessary changes to your complete IMF package and generate a supplemental package.

The supplemental package will contain only those frames and/or audio files that were corrected as well as a new set of instructions that refer back to the primary IMP delivered at an earlier date. Upon delivery to Netflix, we will use the unique identification codes (UUIDs) in the primary and supplemental packages to pair up the new video and/or audio with the IMF that was previously delivered.

1. Prepping your Supplemental IMF package

Before creating your supplemental, it's important that you ensure you are building off of the most recent successful IMF delivery to Netflix to generate the supplemental package. This means if there are multiple supplemental packages, you will need to use the most recent supplemental delivery as the base for your next package. The following outlines how multiple supplementals should be handled:

  1. Complete IMP (CPL 1) delivered to Netflix 
  2. Supplemental 1 (CPL 2) built off of CPL 1
  3. Supplemental 2 (CPL 3) built off of CPL 2

Note: The above workflow assumes all packages have ingested successfully into Backlot. If CPL 2 failed to ingest into Backlot, you would need to revert back to CPL 1 to create a supplemental that includes fixes from both CPL 2 AND 3.

If you would like to verify which CPL to use, you should review the Source Request Details page of your last successful upload. The CPL ID is the first string of numbers up to the underscore in the filename.


The ID above should be an exact match with the ID listed underneath the <CompositionPlaylist> tag in your CPL, as shown in the XML snippet below.


2. Uploading a Supplemental IMF package to Backlot Redelivery Requests

Note: If you are using a supplemental IMP to deliver a non-branded, branded, or textless version, the first upload will be made against a new, single AV (Muxed) request. For details on the steps involved, please reference the 'Uploading a Complete IMF package to a new Backlot Request' section above.

To deliver a supplemental package to fulfill a Redelivery Request, simply select any valid Source Requests that are acceptable for IMP delivery - Video, Audio 5.1, Audio 2.0, or Audio (Dolby Atmos). In the example below, a correction is only needed to be delivered to the rejected Audio 2.0 Source Request.


Select a Source Request and launch the Delivery UI. When the Delivery UI loads in a new browser tab, there will be a single IMP Source Request entry to deliver against. Upon selection of the CPL, Backlot will validate the new track/s against what already exists in the package.

Click and drag the entire contents of the supplemental package into the UI drop-zone. In the image below, the supplemental package contains only the new, fixed 2.0 MXF essence and a new set of XML files.

You will need to select a CPL for the upload. The single CPL selection will reference and apply to any valid Source Requests in the package.

When a CPL is chosen, Backlot validates and displays the statuses of each track that is in the package. In this example you can see that the Audio 2.0 track is in a “modified” state, meaning that it is a different version than the track that currently exists in the package. The Video and 5.1 tracks are in an “unmodified” state, meaning that the tracks that already exist in the package will remain the same.

The available Track Statuses are:

  • New: track has never had a previously processed version
  • Modified: track is different than the previously processed version
  • Unmodified: track is identical to the previously processed version
  • Error: track failed validation with 1+ errors
    • See the following section, IMF Validations, for information on errors.

When you are ready, select the IMP Source Request and click the deliver button. At this point, every track referenced in the CPL will be inspected at the same time, and if any essence or track fails inspection the entire IMP delivery will be rejected.




Backlot will run IMF validations once a CPL is selected. These validations can trigger errors prior to delivery to ensure that the proper files are being delivered. There are several errors that you may encounter, all with clear explanations that lead to a resolution, but here are two examples.

The validation below prevents the delivery of a CPL with a modified track if its source request is not expecting delivery.

The validation below prevents the delivery of a CPL that is missing a previously processed track.



All IMF deliveries, regardless of whether it is a primary or a supplemental, will run through three stages of inspections - Photon, Inspection as a Service, then Automated QC.

1. Photon 

Photon is an Open Source Software for SMPTE IMF package validation developed by Netflix. Unlike the command line version available on GitHub, or the version that is built into some IMF authoring tools, the version that is integrated with the Backlot Delivery UI reviews the XMLs alone to verify SMPTE App#2e compliance. The MXF tracks are reviewed in the two subsequent inspection stages.

If your package fails at this stage you will not be able to start the upload.

2. Backlot IMF Validations

2. IMF Validation
Once a CPL is selected, Backlot will perform a series of validations against it to ensure it can be delivered to its corresponding source request(s). These validations provide a fail-fast approach that can detect and prevent IMF packaging and delivery issues before they happen.

 3. Inspection as a Service (IaaS)

IaaS is a set of inspections used to verify that an asset meets the Netflix technical requirements. Some examples of what an IMF MXF could fail for are channel mapping or too much audio silence detected.

A failure at this stage will leave the Source Request in an "Open" state so partners can troubleshoot and redeliver without requiring any intervention from Netflix. Some of the errors that are flagged in IaaS are warnings that can be overridden, while others are blockers that will require users to fix and re-upload.

4. Automated QC

Once the package has passed all IaaS inspections, it will run through Netflix-developed automated QC checks. These inspections are reviewing files for issues such as corruption or audio drop outs. For IMF, the MXF header metadata is compared against the encoding parameters outlined in the CPL. For example, if the Essence Descriptor List of the CPL contains color metadata that is not included in the MXF header metadata, it will fail at this stage. The most common Automated QC failure for IMF is IMF_CPL_ERROR.

Automated QC failures leave the requests in a failed state which means a Netflix Representative will need to re-open the request before the partner can attempt redelivery.

If you have any further questions, please SUBMIT A REQUEST.



Additional Resources




Español (Latinoamérica)




Change Log:


The sections for Complete and Supplemental IMF have been updated for the delivery workflow update on April 24, 2023. Added a section for new Backlot IMF Validations.


Additional Resources section added.


Removed Dolby Atmos as an unsupported secondary asset within the IMP. 


Was this article helpful?
35 out of 38 found this helpful