Eluvio O API NAV Navigation

Eluvio O API v1.0.0

Automated media ingest engine for the Eluvio Content Fabric.

Eluvio "O" is an open source node.js application driven by configuration and workflow specification stored in Content Fabric objects.

It is primarily used for media ingest and provisioning workflows.

Configuration URLs:

Authentication

  • HTTP Authentication, scheme: key API key tied to a user address

Job Management

Submit workflow jobs and monitor status.

Each workflow is identified by the 'workflow_id' (for example 'create_master', 'create_mez'). When submitting a new job you simply supply the 'worklow_id' to execute and the definition of the job (JSON), which is specific to each workflow. Optionally submit a job reference ID (if not specified, one will be created for the job). The job reference ID is used to retrieve execution status.

Submit Job

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/queue_job/:workflow_id \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/queue_job/:workflow_id HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/queue_job/:workflow_id',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "queue_id": "string",
  "job_parameters": {},
  "job_reference": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/queue_job/:workflow_id',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/queue_job/:workflow_id',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/queue_job/:workflow_id', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/queue_job/:workflow_id");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/queue_job/:workflow_id", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/queue_job/:workflow_id', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /queue_job/:workflow_id

Queue the execution of a workflow job

Body parameter

{
  "queue_id": "string",
  "job_parameters": {},
  "job_reference": "string"
}

Parameters

Name In Type Required Description
body body GenericJobSpec false Job spec

Example responses

200 Response

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Responses

Status Meaning Description Schema
200 OK job reference JobSubmissionResult

Job Status

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/job_status \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/job_status HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/job_status',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "job_reference": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/job_status',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/job_status',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/job_status', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/job_status");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/job_status", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/job_status', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /job_status

Poll for job execution status

Body parameter

{
  "job_reference": "string"
}

Parameters

Name In Type Required Description
body body JobStatus false Job reference

Example responses

200 Response

{
  "job_id": "j_1676069348573_add_captions_0x008ce485e6d792baec3dfe777fbf89d72761f7b30d4741ef6a62e3e3df6a7ed3",
  "status": "complete",
  "status_code": 100,
  "status_details": {
    "steps": {
      "add_captions_file": {
        "start_time": "2023-02-10T22:49:20.346Z",
        "end_time": "2023-02-10T22:49:34.288Z",
        "status_code": 100,
        "retries": 0,
        "outputs": {
          "caption_key": "captions-french-parisian-convertedvtt",
          "mezzanine_object_version_hash": "hq__8TJ9jmTgwQJhLv9zc5d7d1237uthvuwMh1gsYoLgAhpJ3sGxWrPMz1EjFfSAT6fNAwdrjTQydQ"
        }
      },
      "convert_to_vtt": {
        "start_time": "2023-02-10T22:49:19.073Z",
        "end_time": "2023-02-10T22:49:20.255Z",
        "status_code": 100,
        "retries": 0,
        "outputs": {
          "anomalies": [],
          "force_offset": true,
          "force_framerate": true,
          "offset_sec": 0,
          "file_path": "/tmp/french_parisian_converted.vtt"
        }
      },
      "download_captions_file_from_fabric": {
        "start_time": "2023-02-10T22:49:15.247Z",
        "end_time": "2023-02-10T22:49:18.935Z",
        "status_code": 100,
        "retries": 0,
        "outputs": {
          "target_files_path": [
            "/tmp/french_parisian.itt"
          ]
        }
      },
      "report_status": {
        "start_time": "2023-02-10T22:49:45.488Z",
        "end_time": "2023-02-10T22:49:51.566Z",
        "status_code": 100,
        "retries": 0,
        "outputs": {
          "result": "{\"message\":\"success\"}",
          "text": "{\n  \"message\":\"Adding French (Parisian) captions to a great movie\",\n  \"ip_title_id\":\"1232125\",\n  \"type\":\"feature\",\n  \"job_id\":\"j_1676069348573_add_captions_0x008ce485e6d792baec3dfe777fbf89d72761f7b30d4741ef6a62e3e3df6a7ed3\",\n  \"mezzanine_object_id\":\"iq__4Wu3FcZGjMBE345ux2Jn8x5r2mpA\",\n  \"production_master_object_id\":\"iq__343bzafn6789k9MDYim6QaxnFQej\",\n  \"status\":\"complete\"\n}",
          "blocks": null
        }
      },
      "test_if_retrieval_needed": {
        "start_time": "2023-02-10T22:49:13.973Z",
        "end_time": "2023-02-10T22:49:14.799Z",
        "status_code": 99,
        "retries": 0,
        "outputs": {
          "result": false
        }
      },
      "update_kit_status": {
        "start_time": "2023-02-10T22:49:35.440Z",
        "end_time": "2023-02-10T22:49:44.364Z",
        "status_code": 100,
        "retries": 0,
        "outputs": {
          "production_master_version_hash": "hq__8iSBNHSWwafE21VvZy3456jccM8pjPvE7rB8iAkcNBXVRfqKBSAcuMVF2YqPn2reDr6s7RUwkT"
        }
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Workflow status including specifics for each 'step' Inline
404 Not Found none None

Response Schema

Media Ingest

Workflow components for media ingest.

Media ingest typically consists of the creation of the 'production master' object, which specifies media sources (files) and the playable 'variants' (combinations of media tracks to play - video, audio, subtitles), and creation of the 'playable mezzanine', the content objects that will provide all playable formats (DASH, HLS, etc.)
Media source files can be uploaded to the content fabric 'production master' object or specified as "S3" URLs (in which case the source files will not be copied into the content fabric - will just be used for the creation of the mezzanines). When using regular files uploaded to the contenet fabric, the 'production master' content object must be created and the files must be uploaded prior to invoking the workflow, and the files.

Quick reference on files upload: https://hub.doc.eluv.io/basics/files/

Create Mezzanine

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/queue_job/create_mezz \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/queue_job/create_mezz HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/queue_job/create_mezz',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "queue_id": "string",
  "job_parameters": {
    "ip_title_id": "MERDUAL2",
    "title": "Meridian",
    "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
    "asset_type": "primary",
    "title_type": "feature",
    "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
    "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
    "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
    "variant": {
      "dual_audio": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English (stereo)",
            "language": "en",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 1
              }
            ],
            "type": "audio"
          },
          "french_stereo": {
            "default_for_media_type": false,
            "label": "French (stereo)",
            "language": "fr",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 2
              }
            ],
            "type": "audio"
          },
          "video": {
            "default_for_media_type": true,
            "label": "video",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 0
              }
            ],
            "type": "video"
          }
        }
      }
    },
    "config_url": "https://demov3.net955210.contentfabric.io/config",
    "slug": "meridian",
    "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
    "info": {
      "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
      "runtime": 12,
      "production_companies": [
        "Virgin Soil Pictures"
      ],
      "country": "United States",
      "language": "English",
      "talent": {
        "cast": [
          {
            "name": "Kevin Kilner",
            "character_name": "Mac"
          },
          {
            "name": "Reid Scott",
            "character_name": "Jake"
          }
        ],
        "directed_by": [
          "Curtis Clark"
        ],
        "screenplay_by": [
          "Justin Haythe"
        ],
        "story_by": [
          "Curtis Clark",
          "James Harmon Brown"
        ],
        "produced_by": [
          "Malcolm Duncan"
        ],
        "music_by": [
          "Alex Kovacs"
        ],
        "edited_by": [
          "David Sconyers"
        ]
      }
    },
    "slack_web_hook": "https://hooks.slack.com/services/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"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/queue_job/create_mezz',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/queue_job/create_mezz',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/queue_job/create_mezz', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/queue_job/create_mezz");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/queue_job/create_mezz", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/queue_job/create_mezz', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /queue_job/create_mezz

Create and set up a 'playable mezzanine' object from media sources. This workflow can create either one single 'playable mezzanine' content object, or separate 'production master' and 'playable mezzanine' objects.

Prerequisites:

  • if media sources are files uploaded to the content fabric, create a content object first and upload the media file(s) first, then specify the object ID in the job parameters
  • if media sources are stored in AWS S3 or compatible storage, the job will create the 'production master'

Body parameter

{
  "queue_id": "string",
  "job_parameters": {
    "ip_title_id": "MERDUAL2",
    "title": "Meridian",
    "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
    "asset_type": "primary",
    "title_type": "feature",
    "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
    "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
    "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
    "variant": {
      "dual_audio": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English (stereo)",
            "language": "en",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 1
              }
            ],
            "type": "audio"
          },
          "french_stereo": {
            "default_for_media_type": false,
            "label": "French (stereo)",
            "language": "fr",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 2
              }
            ],
            "type": "audio"
          },
          "video": {
            "default_for_media_type": true,
            "label": "video",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 0
              }
            ],
            "type": "video"
          }
        }
      }
    },
    "config_url": "https://demov3.net955210.contentfabric.io/config",
    "slug": "meridian",
    "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
    "info": {
      "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
      "runtime": 12,
      "production_companies": [
        "Virgin Soil Pictures"
      ],
      "country": "United States",
      "language": "English",
      "talent": {
        "cast": [
          {
            "name": "Kevin Kilner",
            "character_name": "Mac"
          },
          {
            "name": "Reid Scott",
            "character_name": "Jake"
          }
        ],
        "directed_by": [
          "Curtis Clark"
        ],
        "screenplay_by": [
          "Justin Haythe"
        ],
        "story_by": [
          "Curtis Clark",
          "James Harmon Brown"
        ],
        "produced_by": [
          "Malcolm Duncan"
        ],
        "music_by": [
          "Alex Kovacs"
        ],
        "edited_by": [
          "David Sconyers"
        ]
      }
    },
    "slack_web_hook": "https://hooks.slack.com/services/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"
  }
}

Parameters

Name In Type Required Description
body body CreateMez false Mezzanine spec

Example responses

200 Response

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Responses

Status Meaning Description Schema
200 OK job submission result JobSubmissionResult

Create Master

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/queue_job/create_master \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/queue_job/create_master HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/queue_job/create_master',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "create_master",
    "parameters": {
      "sources": [
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_video_with_dual_en_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_dual_fr_ca_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_dual_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_la_en_pt_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sample_title_la_video_with_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a"
      ],
      "masters_library": "ilib6xxBeDlh9yNZqKHpwXtmej8kS9i",
      "variants": {
        "north_america": {
          "streams": {
            "english_5_1": {
              "default_for_media_type": true,
              "label": "English(5.1)",
              "language": "en",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 4
                }
              ]
            },
            "english_stereo": {
              "default_for_media_type": true,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2CHANNELS_1STEREO",
              "sources": [
                {
                  "channel_index": 1,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                },
                {
                  "channel_index": 0,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "french_canadian_5_1": {
              "default_for_media_type": false,
              "label": "French (Canadian)(5.1)",
              "language": "fr-ca",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 5
                }
              ]
            },
            "french_canadian_stereo": {
              "default_for_media_type": false,
              "label": "French (Canadian)(Stereo)",
              "language": "fr-ca",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "spanish_latin_am_5_1": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(5.1)",
              "language": "es-419",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        },
        "latin_america": {
          "streams": {
            "english_stereo": {
              "default_for_media_type": false,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 1
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "portuguese_brazil_stereo": {
              "default_for_media_type": true,
              "label": "Portuguese (Brazil)(Stereo)",
              "language": "pt-br",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 3
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        }
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/queue_job/create_master',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/queue_job/create_master',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/queue_job/create_master', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/queue_job/create_master");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/queue_job/create_master", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/queue_job/create_master', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /queue_job/create_master

Create and set up a 'production master' object

Body parameter

{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "create_master",
    "parameters": {
      "sources": [
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_video_with_dual_en_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_dual_fr_ca_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_dual_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_la_en_pt_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sample_title_la_video_with_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a"
      ],
      "masters_library": "ilib6xxBeDlh9yNZqKHpwXtmej8kS9i",
      "variants": {
        "north_america": {
          "streams": {
            "english_5_1": {
              "default_for_media_type": true,
              "label": "English(5.1)",
              "language": "en",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 4
                }
              ]
            },
            "english_stereo": {
              "default_for_media_type": true,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2CHANNELS_1STEREO",
              "sources": [
                {
                  "channel_index": 1,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                },
                {
                  "channel_index": 0,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "french_canadian_5_1": {
              "default_for_media_type": false,
              "label": "French (Canadian)(5.1)",
              "language": "fr-ca",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 5
                }
              ]
            },
            "french_canadian_stereo": {
              "default_for_media_type": false,
              "label": "French (Canadian)(Stereo)",
              "language": "fr-ca",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "spanish_latin_am_5_1": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(5.1)",
              "language": "es-419",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        },
        "latin_america": {
          "streams": {
            "english_stereo": {
              "default_for_media_type": false,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 1
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "portuguese_brazil_stereo": {
              "default_for_media_type": true,
              "label": "Portuguese (Brazil)(Stereo)",
              "language": "pt-br",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 3
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        }
      }
    }
  }
}

Parameters

Name In Type Required Description
body body CreateMaster false Production master spec

Example responses

200 Response

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Responses

Status Meaning Description Schema
200 OK job reference JobSubmissionResult

Create Mezzanine From Master

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "queue_id": "string",
  "job_parameters": {
    "ip_title_id": "MERDUAL2",
    "title": "Meridian",
    "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
    "asset_type": "primary",
    "title_type": "feature",
    "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
    "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
    "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
    "variant": {
      "dual_audio": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English (stereo)",
            "language": "en",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 1
              }
            ],
            "type": "audio"
          },
          "french_stereo": {
            "default_for_media_type": false,
            "label": "French (stereo)",
            "language": "fr",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 2
              }
            ],
            "type": "audio"
          },
          "video": {
            "default_for_media_type": true,
            "label": "video",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 0
              }
            ],
            "type": "video"
          }
        }
      }
    },
    "config_url": "https://demov3.net955210.contentfabric.io/config",
    "slug": "meridian",
    "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
    "info": {
      "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
      "runtime": 12,
      "production_companies": [
        "Virgin Soil Pictures"
      ],
      "country": "United States",
      "language": "English",
      "talent": {
        "cast": [
          {
            "name": "Kevin Kilner",
            "character_name": "Mac"
          },
          {
            "name": "Reid Scott",
            "character_name": "Jake"
          }
        ],
        "directed_by": [
          "Curtis Clark"
        ],
        "screenplay_by": [
          "Justin Haythe"
        ],
        "story_by": [
          "Curtis Clark",
          "James Harmon Brown"
        ],
        "produced_by": [
          "Malcolm Duncan"
        ],
        "music_by": [
          "Alex Kovacs"
        ],
        "edited_by": [
          "David Sconyers"
        ]
      }
    },
    "slack_web_hook": "https://hooks.slack.com/services/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"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/queue_job/create_mezz_from_master', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /queue_job/create_mezz_from_master

Create and set up a 'playable mezzanine' object based on a previously created 'production master'

Body parameter

{
  "queue_id": "string",
  "job_parameters": {
    "ip_title_id": "MERDUAL2",
    "title": "Meridian",
    "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
    "asset_type": "primary",
    "title_type": "feature",
    "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
    "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
    "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
    "variant": {
      "dual_audio": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English (stereo)",
            "language": "en",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 1
              }
            ],
            "type": "audio"
          },
          "french_stereo": {
            "default_for_media_type": false,
            "label": "French (stereo)",
            "language": "fr",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 2
              }
            ],
            "type": "audio"
          },
          "video": {
            "default_for_media_type": true,
            "label": "video",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 0
              }
            ],
            "type": "video"
          }
        }
      }
    },
    "config_url": "https://demov3.net955210.contentfabric.io/config",
    "slug": "meridian",
    "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
    "info": {
      "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
      "runtime": 12,
      "production_companies": [
        "Virgin Soil Pictures"
      ],
      "country": "United States",
      "language": "English",
      "talent": {
        "cast": [
          {
            "name": "Kevin Kilner",
            "character_name": "Mac"
          },
          {
            "name": "Reid Scott",
            "character_name": "Jake"
          }
        ],
        "directed_by": [
          "Curtis Clark"
        ],
        "screenplay_by": [
          "Justin Haythe"
        ],
        "story_by": [
          "Curtis Clark",
          "James Harmon Brown"
        ],
        "produced_by": [
          "Malcolm Duncan"
        ],
        "music_by": [
          "Alex Kovacs"
        ],
        "edited_by": [
          "David Sconyers"
        ]
      }
    },
    "slack_web_hook": "https://hooks.slack.com/services/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"
  }
}

Parameters

Name In Type Required Description
body body CreateMez false Mezzanine spec

Example responses

200 Response

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Responses

Status Meaning Description Schema
200 OK job submission result JobSubmissionResult

Add Subtitle

Code samples

# You can also use wget
curl -X POST https://dev.o.svc.eluv.io/queue_job/add_subtitle \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://dev.o.svc.eluv.io/queue_job/add_subtitle HTTP/1.1
Host: dev.o.svc.eluv.io
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://dev.o.svc.eluv.io/queue_job/add_subtitle',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "add_caption",
    "parameters": {
      "source": "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_en_us.vtt?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
      "mezzanine_object_id": "iq__9jBeDlh9yNZqKHpwXtmej8kSi6",
      "label": "French (Canadian)(forced)",
      "language": "fr-ca",
      "forced": true,
      "offset_sec": -3600,
      "dropframe": true,
      "north_america": {
        "streams": {
          "english_5_1": {
            "default_for_media_type": true,
            "label": "English(5.1)",
            "language": "en",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 4
              }
            ]
          },
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2CHANNELS_1STEREO",
            "sources": [
              {
                "channel_index": 1,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              },
              {
                "channel_index": 0,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "french_canadian_5_1": {
            "default_for_media_type": false,
            "label": "French (Canadian)(5.1)",
            "language": "fr-ca",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 5
              }
            ]
          },
          "french_canadian_stereo": {
            "default_for_media_type": false,
            "label": "French (Canadian)(Stereo)",
            "language": "fr-ca",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "spanish_latin_am_5_1": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(5.1)",
            "language": "es-419",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      },
      "latin_america": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": false,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 1
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "portuguese_brazil_stereo": {
            "default_for_media_type": true,
            "label": "Portuguese (Brazil)(Stereo)",
            "language": "pt-br",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 3
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://dev.o.svc.eluv.io/queue_job/add_subtitle',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://dev.o.svc.eluv.io/queue_job/add_subtitle',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://dev.o.svc.eluv.io/queue_job/add_subtitle', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://dev.o.svc.eluv.io/queue_job/add_subtitle");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://dev.o.svc.eluv.io/queue_job/add_subtitle", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://dev.o.svc.eluv.io/queue_job/add_subtitle', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /queue_job/add_subtitle

Add a subtitle to a 'production master' and 'playable mezzanine'

Body parameter

{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "add_caption",
    "parameters": {
      "source": "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_en_us.vtt?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
      "mezzanine_object_id": "iq__9jBeDlh9yNZqKHpwXtmej8kSi6",
      "label": "French (Canadian)(forced)",
      "language": "fr-ca",
      "forced": true,
      "offset_sec": -3600,
      "dropframe": true,
      "north_america": {
        "streams": {
          "english_5_1": {
            "default_for_media_type": true,
            "label": "English(5.1)",
            "language": "en",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 4
              }
            ]
          },
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2CHANNELS_1STEREO",
            "sources": [
              {
                "channel_index": 1,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              },
              {
                "channel_index": 0,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "french_canadian_5_1": {
            "default_for_media_type": false,
            "label": "French (Canadian)(5.1)",
            "language": "fr-ca",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 5
              }
            ]
          },
          "french_canadian_stereo": {
            "default_for_media_type": false,
            "label": "French (Canadian)(Stereo)",
            "language": "fr-ca",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "spanish_latin_am_5_1": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(5.1)",
            "language": "es-419",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      },
      "latin_america": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": false,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 1
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "portuguese_brazil_stereo": {
            "default_for_media_type": true,
            "label": "Portuguese (Brazil)(Stereo)",
            "language": "pt-br",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 3
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      }
    }
  }
}

Parameters

Name In Type Required Description
body body AddSubtitle false Subtitle spec

Example responses

200 Response

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Responses

Status Meaning Description Schema
200 OK job reference JobSubmissionResult

Schemas

CreateMez

{
  "queue_id": "string",
  "job_parameters": {
    "ip_title_id": "MERDUAL2",
    "title": "Meridian",
    "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
    "asset_type": "primary",
    "title_type": "feature",
    "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
    "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
    "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
    "variant": {
      "dual_audio": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English (stereo)",
            "language": "en",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 1
              }
            ],
            "type": "audio"
          },
          "french_stereo": {
            "default_for_media_type": false,
            "label": "French (stereo)",
            "language": "fr",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 2
              }
            ],
            "type": "audio"
          },
          "video": {
            "default_for_media_type": true,
            "label": "video",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "Meridian-1080p-multilanguage.mp4",
                "stream_index": 0
              }
            ],
            "type": "video"
          }
        }
      }
    },
    "config_url": "https://demov3.net955210.contentfabric.io/config",
    "slug": "meridian",
    "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
    "info": {
      "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
      "runtime": 12,
      "production_companies": [
        "Virgin Soil Pictures"
      ],
      "country": "United States",
      "language": "English",
      "talent": {
        "cast": [
          {
            "name": "Kevin Kilner",
            "character_name": "Mac"
          },
          {
            "name": "Reid Scott",
            "character_name": "Jake"
          }
        ],
        "directed_by": [
          "Curtis Clark"
        ],
        "screenplay_by": [
          "Justin Haythe"
        ],
        "story_by": [
          "Curtis Clark",
          "James Harmon Brown"
        ],
        "produced_by": [
          "Malcolm Duncan"
        ],
        "music_by": [
          "Alex Kovacs"
        ],
        "edited_by": [
          "David Sconyers"
        ]
      }
    },
    "slack_web_hook": "https://hooks.slack.com/services/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"
  }
}

Properties

Name Type Required Description
queue_id string true workflow execution queue identifier
job_parameters CreateMezJobParameters true none

CreateMezJobParameters

{
  "ip_title_id": "MERDUAL2",
  "title": "Meridian",
  "masters_type": "iq__21EzEFzCNiZztrraysaHMVnTF3vp",
  "asset_type": "primary",
  "title_type": "feature",
  "mezzanines_lib": "ilib3t4Cf8pdxftVcc4Si35yZxPgN33",
  "mezzanines_type": "iq__3uQrMgQae71yBMsdpuQQL6NeQVjq",
  "source_object_id": "iq__3QmafNQfXAFd7uxBFSAQb78PFJkA",
  "variant": {
    "dual_audio": {
      "streams": {
        "english_stereo": {
          "default_for_media_type": true,
          "label": "English (stereo)",
          "language": "en",
          "mapping_info": "",
          "sources": [
            {
              "files_api_path": "Meridian-1080p-multilanguage.mp4",
              "stream_index": 1
            }
          ],
          "type": "audio"
        },
        "french_stereo": {
          "default_for_media_type": false,
          "label": "French (stereo)",
          "language": "fr",
          "mapping_info": "",
          "sources": [
            {
              "files_api_path": "Meridian-1080p-multilanguage.mp4",
              "stream_index": 2
            }
          ],
          "type": "audio"
        },
        "video": {
          "default_for_media_type": true,
          "label": "video",
          "language": "",
          "mapping_info": "",
          "sources": [
            {
              "files_api_path": "Meridian-1080p-multilanguage.mp4",
              "stream_index": 0
            }
          ],
          "type": "video"
        }
      }
    }
  },
  "config_url": "https://demov3.net955210.contentfabric.io/config",
  "slug": "meridian",
  "admin_group": "0x586626b981046af729502454b2c866f4d366e0e1",
  "info": {
    "synopsis": "Meridian is a 2016 film noir thriller film directed by Curtis Clark and written by Clark and James Harmon Brown. The film stars Kevin Kilner, Reid Scott, and Elyse Levesque, and focuses on detectives investigating the disappearances of three men in 1940s Los Angeles. It was released on Netflix and Xiph.org in September 2016.",
    "runtime": 12,
    "production_companies": [
      "Virgin Soil Pictures"
    ],
    "country": "United States",
    "language": "English",
    "talent": {
      "cast": [
        {
          "name": "Kevin Kilner",
          "character_name": "Mac"
        },
        {
          "name": "Reid Scott",
          "character_name": "Jake"
        }
      ],
      "directed_by": [
        "Curtis Clark"
      ],
      "screenplay_by": [
        "Justin Haythe"
      ],
      "story_by": [
        "Curtis Clark",
        "James Harmon Brown"
      ],
      "produced_by": [
        "Malcolm Duncan"
      ],
      "music_by": [
        "Alex Kovacs"
      ],
      "edited_by": [
        "David Sconyers"
      ]
    }
  },
  "slack_web_hook": "https://hooks.slack.com/services/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"
}

Properties

Name Type Required Description
source_object_id string true the ID of the object in which the source files were uploaded
variant object false the variant definition. Must be formatted as {variant_name: variant_definition_structure
mezzanines_lib string false the ID of the library in which to find exesiting mezzanine or create one
mezzanines_type string true the content type to use when creating a new mezzanine object
playout_formats array false the list of playout format to be supported by the default offering
drm_optional boolean false Indicates if set to true that clear formats are allowed in the default offering
abr_profile object false Forces the definition of the ABR ladder instead of using a dyamically generated one
config_url string false the config URL to use for the workflow - to be used if the goal is to run the workflow on a specific node or on a different environment
private_key password false if provided the key will be used for the fabric access instead of using the fabric user of the engine
asset_type string false indicates whether the asset is primary or is a component to be added to a primary asset (like a clip or a trailer)
title_type string false indicates whether the title is an feature, episode or other relevant type
title string false the title for the asset
display_title string false If provided, indicates how the title should be display
ip_title_id string false A unique ID for that asset - typically a catalogue idea of some sort
slug string false a URL safe version of the title or ip-title-id also meant to be unique
info object false a data structure with metadata about the asset (synopsis, cast, runtime, copyrights, ...)
admin_group string false If provided, admin rights will be granted for the generated mezzanine to the specified group
masters_type string false If the source object was not created using a ABR master compatible content type, a content type should be provided to convert the source object into a master object
slack_web_hook string false If provided an notification will be sent on a slack channel upon workflow completion

JobSubmissionResult

{
  "queue_id": "low_priority",
  "job_reference": "job_1676685930525",
  "queued": true
}

Properties

None

GenericJobSpec

{
  "queue_id": "string",
  "job_parameters": {},
  "job_reference": "string"
}

Properties

Name Type Required Description
queue_id string true none
job_parameters object true none
job_reference string false none

JobStatus

{
  "job_reference": "string"
}

Properties

Name Type Required Description
job_reference string true none

CreateMaster

{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "create_master",
    "parameters": {
      "sources": [
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_video_with_dual_en_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_dual_fr_ca_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_dual_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_la_en_pt_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
        "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sample_title_la_video_with_es_419_audio.mov?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a"
      ],
      "masters_library": "ilib6xxBeDlh9yNZqKHpwXtmej8kS9i",
      "variants": {
        "north_america": {
          "streams": {
            "english_5_1": {
              "default_for_media_type": true,
              "label": "English(5.1)",
              "language": "en",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 4
                }
              ]
            },
            "english_stereo": {
              "default_for_media_type": true,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2CHANNELS_1STEREO",
              "sources": [
                {
                  "channel_index": 1,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                },
                {
                  "channel_index": 0,
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "french_canadian_5_1": {
              "default_for_media_type": false,
              "label": "French (Canadian)(5.1)",
              "language": "fr-ca",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 5
                }
              ]
            },
            "french_canadian_stereo": {
              "default_for_media_type": false,
              "label": "French (Canadian)(Stereo)",
              "language": "fr-ca",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "spanish_latin_am_5_1": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(5.1)",
              "language": "es-419",
              "mapping_info": "6MONO_1SURROUND",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 4
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 5
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 3
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 6
                },
                {
                  "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                  "stream_index": 7
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        },
        "latin_america": {
          "streams": {
            "english_stereo": {
              "default_for_media_type": false,
              "label": "English(Stereo)",
              "language": "en",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 0
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 1
                }
              ]
            },
            "spanish_latin_am_stereo": {
              "default_for_media_type": false,
              "label": "Spanish (Latin Am)(Stereo)",
              "language": "es-419",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 1
                },
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 2
                }
              ]
            },
            "portuguese_brazil_stereo": {
              "default_for_media_type": true,
              "label": "Portuguese (Brazil)(Stereo)",
              "language": "pt-br",
              "mapping_info": "2MONO_1STEREO",
              "sources": [
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 2
                },
                {
                  "files_api_path": "sampletitle_la_en_pt_audio.mov",
                  "stream_index": 3
                }
              ]
            },
            "video": {
              "default_for_media_type": false,
              "label": "",
              "language": "",
              "mapping_info": "",
              "sources": [
                {
                  "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                  "stream_index": 0
                }
              ]
            }
          }
        }
      }
    }
  }
}

Properties

None

AddSubtitle

{
  "queue_id": "low_priority",
  "job_reference": "optional client generated job reference",
  "job_description": {
    "workflow_object_id": "add_caption",
    "parameters": {
      "source": "https://s3.us-west-2.amazonaws.com/library_prod/mezzanines/na/sampletitle_na_en_us.vtt?X-Amz-Credential=AKIAV0213%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230213T201928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=1a63c4053d2aa01a",
      "mezzanine_object_id": "iq__9jBeDlh9yNZqKHpwXtmej8kSi6",
      "label": "French (Canadian)(forced)",
      "language": "fr-ca",
      "forced": true,
      "offset_sec": -3600,
      "dropframe": true,
      "north_america": {
        "streams": {
          "english_5_1": {
            "default_for_media_type": true,
            "label": "English(5.1)",
            "language": "en",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 4
              }
            ]
          },
          "english_stereo": {
            "default_for_media_type": true,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2CHANNELS_1STEREO",
            "sources": [
              {
                "channel_index": 1,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              },
              {
                "channel_index": 0,
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "french_canadian_5_1": {
            "default_for_media_type": false,
            "label": "French (Canadian)(5.1)",
            "language": "fr-ca",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 5
              }
            ]
          },
          "french_canadian_stereo": {
            "default_for_media_type": false,
            "label": "French (Canadian)(Stereo)",
            "language": "fr-ca",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_dual_fr_ca_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "spanish_latin_am_5_1": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(5.1)",
            "language": "es-419",
            "mapping_info": "6MONO_1SURROUND",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 4
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 5
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 3
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 6
              },
              {
                "files_api_path": "sampletitle_na_dual_es_419_audio.mov",
                "stream_index": 7
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sampletitle_na_video_with_dual_en_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      },
      "latin_america": {
        "streams": {
          "english_stereo": {
            "default_for_media_type": false,
            "label": "English(Stereo)",
            "language": "en",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 0
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 1
              }
            ]
          },
          "spanish_latin_am_stereo": {
            "default_for_media_type": false,
            "label": "Spanish (Latin Am)(Stereo)",
            "language": "es-419",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 1
              },
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 2
              }
            ]
          },
          "portuguese_brazil_stereo": {
            "default_for_media_type": true,
            "label": "Portuguese (Brazil)(Stereo)",
            "language": "pt-br",
            "mapping_info": "2MONO_1STEREO",
            "sources": [
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 2
              },
              {
                "files_api_path": "sampletitle_la_en_pt_audio.mov",
                "stream_index": 3
              }
            ]
          },
          "video": {
            "default_for_media_type": false,
            "label": "",
            "language": "",
            "mapping_info": "",
            "sources": [
              {
                "files_api_path": "sample_title_la_video_with_es_419_audio.mov",
                "stream_index": 0
              }
            ]
          }
        }
      }
    }
  }
}

Properties

None