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.

Skip to translations

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 MUX 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.

Note: Important, do not click and drag the folder, but select the actual files themselves and drop them into the landing zone at the top of the UI.

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 package.


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 "File to deliver" drop-down menu and click "CHOOSE A CPL". The fly-out panel on the right will reveal the CPL(s) listed in your package.


In the example below, we have one CPL in our IMP to choose from and it reveals the essence filenames, as well as the audio language and configuration. This provides an opportunity to check the contents of your IMP one more time before the files begin transferring.


The AV MUX Source Request in the UI will now reflect the tracks to be delivered. Select the Source Request and click "deliver" to launch the Aspera transfer.


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 the specific Source Requests.  In this example below, corrections need to be delivered to a rejected Audio 5.1 Source Request and Video Source Request. Please note, the Audio 2.0 request is not rejected and thus does not need to be delivered.


Similar to before, select the Source Requests, launch the Source Delivery UI, then click and drag the entire contents of your supplemental package into the UI drop-zone. In the image below, the supplemental package contains only the new, fixed 5.1 MXF essence, video patch MXF essence, and a new set of XML files.

mceclip9.pngSimilar to fulfilling a new Backlot request (AV Muxed), you will need to select a CPL for the upload. However, if fulfilling multiple redelivery requests as we are in this case, you will need to choose a CPL for each of the requests.

In the image below, the CPL fly-out panel confirms that we are only delivering a new video track and a new 5.1 track. Although the 2.0 is shown in the panel, because it does not list an essence, it means there are no new 2.0 MXF essence tracks in this IMF package.



When you are ready, select the Source Requests and click the deliver button.




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. 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.

3. 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 (España)

Español (Latinoamérica)













Change Log:


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