Amazon Elastic Transcoder
Developer Guide (API Version 2012-09-25)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

Create Job

Description

To create a job, send a POST request to the /2012-09-25/jobs resource.

Note

You can configure Elastic Transcoder to notify you when the status of a job changes, including when Elastic Transcoder starts and finishes processing a job, and when Elastic Transcoder encounters a warning or error condition. For more information, see Create Pipeline.

Requests

Syntax

POST /2012-09-25/jobs HTTP/1.1
Content-Type: application/json; charset=UTF-8
Accept: */*
Host: elastictranscoder.Elastic Transcoder endpoint.amazonaws.com:443
x-amz-date: 20130114T174952Z
Authorization: AWS4-HMAC-SHA256 
               Credential=AccessKeyID/request-date/Elastic Transcoder endpoint/ets/aws4_request,
               SignedHeaders=host;x-amz-date;x-amz-target,
               Signature=calculated-signature
Content-Length: number of characters in the JSON string
{
   "Input":{
      "Key":"name of the file to transcode",
      "FrameRate":"auto|10|15|23.97|24|25|29.97|30|50|60",
      "Resolution":"auto",
      "AspectRatio":"auto|1:1|4:3|3:2|16:9",
      "Interlaced":"auto|true|false",
      "Container":"auto|3gp|aac|asf|avi|divx|flv|m4a|mkv|mov|mp3|mp4|
         mpeg|mpeg-ps|mpeg-ts|mxf|ogg|vob|wav|webm"
   },
   "OutputKeyPrefix":"prefix for file names in Amazon S3 bucket",
   "Outputs":[
      {
         "Key":"name of the transcoded file",
         "ThumbnailPattern":""|"pattern",
         "Rotate":"auto|0|90|180|270",
         "PresetId":"preset to use for the job",
         "SegmentDuration":"[1,60]",
         "Watermarks":[
            {
               "InputKey":"name of the .png or .jpg file",
               "PresetWatermarkId":"value of Video:Watermarks:Id in preset"
            },
            {...}
         ],
         "AlbumArt":[
            {
               "AlbumArtMerge":"Replace|Prepend|Append|Fallback",
               "AlbumArtArtwork":"can be empty, but not null":[
                  {
                     "AlbumArtInputKey":"name of the file to use as album 
                        art",
                     "AlbumArtMaxWidth":"maximum width of output album art
                        in pixels",
                     "AlbumArtMaxHeight":"maximum height of output album
                        art in pixels",
                     "AlbumArtSizingPolicy":"Fit|Fill|Stretch|Keep|
                        ShrinkToFit|ShrinkToFill",
                     "AlbumArtPaddingPolicy":"Pad|NoPad",
                     "AlbumArtFormat":"jpg|png"
                  },
                  {...}
               ]
            },
            {...}
         ],
         "Composition":[
            {
               "TimeSpan":
                  {
                     "StartTime":"starting place of the clip, in
                        HH:mm:ss.SSS or sssss.SSS",
                     "Duration":"duration of the clip, in HH:mm:ss.SSS
                        or sssss.SSS"
                  }
            }
         ]
      },
      {...}
   ],
   "Playlists":[
      {
         "Format":"HLSv3",
         "Name":"name, no / character allowed", 
         "OutputKeys":[
            "Outputs:Key to include in this playlist",
            ...
         ]
      },
      {...}
   ],
   "PipelineId":"pipeline to use for transcoding"
}

Request Parameters

This operation does not use request parameters.

Request Headers

This operation uses only request headers that are common to all operations. For information about common request headers, see HTTP Header Contents.

Request Body

The JSON string in the request body contains the following objects.

Input

Information about the file that you're transcoding.

Input:Key

The name of the file that you want to transcode. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, cooking/lasagna.mpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

Input:FrameRate (Optional)

The frame rate of the input file. If you want Elastic Transcoder to automatically detect the frame rate of the input file, specify auto. If you want to specify the frame rate for the input file, enter one of the following values:

10, 15, 23.97, 24, 25, 29.97, 30, 50, 60

The default value is auto.

Input:Resolution (Optional)

The resolution, in pixels, for the input file. This value must be auto, which causes Elastic Transcoder to automatically detect the resolution of the input file.

Input:AspectRatio (Optional)

The aspect ratio of the input file. If you want Elastic Transcoder to automatically detect the aspect ratio of the input file, specify auto. If you want to specify the aspect ratio for the output file, enter one of the following values:

1:1, 4:3, 3:2, 16:9

The default value is auto.

Input:Interlaced (Optional)

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

The default value is auto.

Input:Container (Optional)

The container type for the input file. If you want Elastic Transcoder to automatically detect the container type of the input file, specify auto. If you want to specify the container type for the input file, enter one of the following values:

3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, mpeg-ts, mxf, ogg, vob, wav, webm

OutputKeyPrefix

The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates, including output files, thumbnails, and playlists. If you specify a value, it must contain a / somewhere after the first character, which simplifies Amazon S3 file management.

Outputs

Information about the output files. You can create a maximum of 30 outputs per job. If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job.

Note

In early versions of Elastic Transcoder you could create just one output per job, so the object name was Output. The Output syntax still works, but we recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request.
Outputs:Key

The name that you want Elastic Transcoder to assign to the transcoded file and, for MPEG-TS files, the name of the playlist. Elastic Transcoder saves the file or files in the Amazon S3 bucket specified by the OutputBucket object in the pipeline that you specify in PipelineId.

If OutputBucket already contains a file that has the specified name, the output fails. In the Create Job response, the value of Outputs:Status for that output will be Error, as will the final value of Status for the job. However, other outputs in the same job may succeed.

The format for file names depends on whether the container type is ts:

  • Container type is not MPEG-TS: The name of the output file is a concatenation of OutputKeyPrefix and Key.

  • Container type is MPEG-TS: Elastic Transcoder uses the value of Key to name both the playlist for the output and the .ts files:

    • Playlist: The file name is a concatenation of OutputKeyPrefix and Key plus the file name extension .m3u8:

      OutputKeyPrefixKey.m3u8

      Note

      Elastic Transcoder automatically appends .m3u8 to the file name. If you include m3u8 in Key, it will appear twice in the file name.

    • Segment (.ts) files: File names are a concatenation of OutputKeyPrefix and Key, plus a five-digit sequential counter beginning with 00000, and the file name extension .ts:

      OutputKeyPrefixKey00000.ts

OutputKeyPrefix groups all of the files for a job together in your Amazon S3 bucket. If you want to group the files for each output within a job, you can include a prefix in the value of Key, for example:

OutputKeyPrefixiPhone/Key00000.ts

OutputKeyPrefixKindleFireHD/Key00000.ts

Outputs:ThumbnailPattern (Optional)

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify "".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    Important

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object, for example, as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in PresetId. Elastic Transcoder also appends the applicable file name extension.

As with Outputs:Key, you can include a prefix in ThumbnailPattern that groups the applicable files together, for example, all of the thumbnails for one video in one format, or all of the thumbnails with the corresponding output file.

Outputs:Rotate (Optional)

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Valid values include:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

Outputs:PresetId

The value of the Id object for the preset that you want to use for this job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding. To use a preset that you created, specify the preset ID that Elastic Transcoder returned in the response when you created the preset.

Note

If you created any presets before AAC profiles were added, Elastic Transcoder will use the AAC-LC profile for those presets .

For a list of system presets, see System Presets (You can also get these IDs using List Presets.)

Outputs:SegmentDuration (MPEG-TS Outputs Only)

If you specify a preset in PresetId for which the value of Container is ts (MPEG-TS), SegmentDuration is the maximum duration of each .ts file in seconds. The range of valid values is 1 to 60 seconds. If the duration of the file is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of:

total length/SegmentDuration

Elastic Transcoder creates an output-specific playlist for each output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in Playlists:OutputKeys.

Outputs:Watermarks (Video Only)

Information about the watermarks that you want Elastic Transcoder to add to the video or artwork during transcoding. You can specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you specify in Outputs:PresetId for the current output.

Watermarks are added to the output file in the sequence in which you list them in the job output—the first watermark in the list is added to the output file first, the second watermark in the list is added next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark that you list in Outputs:Watermarks will cover the first one, the third one will cover the second, and the fourth one will cover the third.

For more information about watermarks, see Watermarks.

Outputs:Watermarks:InputKey (Video Only)

The name of the .png or .jpg file that you want to use for the watermark. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, logos/128x64.png, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

Outputs:Watermarks:PresetWatermarkId (Video Only)

The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the file during transcoding. The settings are in the preset specified by Outputs:PresetId for the current output. In that preset, the value of Watermarks:Id tells Elastic Transcoder which settings to use.

Outputs:AlbumArt (MP3/MP4 Only)

The album art to be associated with the output file, if any.

To remove artwork or leave the artwork empty, you can either set Artwork to null, or set the Merge Policy to "Replace" and use an empty Artwork array.

To pass through existing artwork unchanged, set the Merge Policy to "Prepend", "Append", or "Fallback", and use an empty Artwork array.

Note

Album Art is only available for containers of type mp3 or mp4.
Outputs:AlbumArt:MergePolicy (MP3/MP4 Only)

A policy that determines how Elastic Transcoder will handle the existence of multiple album artwork files.

  • Replace: The specified album art will replace any existing album art.

  • Prepend: The specified album art will be placed in front of any existing album art.

  • Append: The specified album art will be placed after any existing album art.

  • Fallback: If the input file contains artwork, Elastic Transcoder will use that artwork for the output. If the input does not contain artwork, Elastic Transcoder will use the specified album art file.

Outputs:AlbumArt:Artwork (MP3/MP4 Only)

The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20.

Outputs:AlbumArt:Artwork:InputKey (MP3/MP4 Only)

The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, cooking/pie.jpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

Outputs:AlbumArt:Artwork:MaxWidth (MP3/MP4 Only)

The maximum width of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.

Outputs:AlbumArt:Artwork:MaxHeight (MP3/MP4 Only)

The maximum height of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.

Outputs:AlbumArt:Artwork:SizingPolicy (MP3/MP4 Only)

A value that controls scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.

  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.

  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.

  • ShrinkToFill: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

The following table shows possible effects of SizingPolicy settings on the output album art:

SizingPolicy

Output Album Art May Be Scaled Up

Output Album Art May Be Padded When Padding Policy Is "Pad"

Output Album Art May Have a Different Pixel Aspect Ratio than Input Album Art

Output Album Art May Be Cropped

Fit

Yes

Yes

 

 

Fill

Yes

 

 

Yes

Stretch

Yes

 

Yes

 

Keep

Yes

Yes

 

Yes

ShrinkToFit

 

Yes

 

 

ShrinkToFill

 

Yes

 

Yes

Outputs:AlbumArt:Artwork:PaddingPolicy (MP3/MP4 Only)

When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars to the top and bottom and/or left and right sides of the output album art to make the total size of the output art match the values that you specified for MaxWidth and MaxHeight. For more information, see the table at AlbumArt:Art:SizingPolicy.

Outputs:AlbumArt:Artwork:AlbumArtFormat (MP3/MP4 Only)

The format of album art, if any. Valid formats are jpg and png.

Outputs:Composition

Using Composition you can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file.

Currently, you can only specify settings for a single clip per output file. The Composition object cannot be null. All jobs in a playlist must have the same clip settings.

Outputs:Composition:TimeSpan

Settings that determine when a clip begins and how long it lasts.

Outputs:Composition:TimeSpan:StartTime

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

Outputs:Composition:TimeSpan:Duration

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file , Elastic Transcoder transcodes the file and returns a warning message.

Playlists (MPEG-TS Outputs Only)

If you specify a preset in PresetId for which the value of Container is ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

We recommend that you create only one master playlist. The maximum number of master playlists in a job is 30.

Playlists:Format

This value must currently be HLSv3.

Playlists:Name

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. The name cannot include a / character. If you create more than one master playlist (not recommended), the values of all Name objects must be unique.

Note

Elastic Transcoder automatically appends .m3u8 to the file name. If you include .m3u8 in Name, it will appear twice in the file name.

Playlists:OutputKeys

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object. If you include more than one output in a playlist, the value of SegmentDuration for all of the outputs must be the same.

PipelineId

The value of the Id object for the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to transcode and the bucket into which Elastic Transcoder puts the transcoded files.

Responses

Syntax

Status: 201 Created
x-amzn-RequestId: c321ec43-378e-11e2-8e4c-4d5b971203e9
Content-Type: application/json
Content-Length: number of characters in the response
Date: Mon, 14 Jan 2013 06:01:47 GMT

{
   "Job":{
      "Id":"Id that Elastic Transcoder assigns to the job",
      "Input":{
         "Key":"name of the file to transcode",
         "FrameRate":"auto|10|15|23.97|24|25|29.97|30|50|60",
         "Resolution":"auto|width in pixelsxheight in pixels",
         "AspectRatio":"auto|1:1|4:3|3:2|16:9",
         "Interlaced":"auto|true|false",
         "Container":"auto|3gp|aac|asf|avi|divx|flv|m4a|mkv|mov|mp3|mp4|
            mpeg|mpeg-ps|mpeg-ts|mxf|ogg|vob|wav|webm"
      },
      "OutputKeyPrefix":"prefix for file names in Amazon S3 bucket",
      "Outputs":[
         {
            "Id":"sequential counter",
            "Key":"name of the transcoded file",
            "ThumbnailPattern":""|"pattern",
            "Rotate":"auto|0|90|180|270",
            "PresetId":"preset to use for the job",
            "SegmentDuration":"[1,60]",
            "Watermarks":[
               {
                  "InputKey":"name of the .png or .jpg file",
                  "PresetWatermarkId":"value of Video:Watermarks:Id in preset"
               },
               {...}
            ],
            "AlbumArt":[
               {
                  "AlbumArtMerge":"Replace|Prepend|Append|Fallback",
                  "AlbumArtArtwork":"can be empty, but not null":[
                     {
                        "AlbumArtInputKey":"name of the file to use as album
                           art",
                        "AlbumArtMaxWidth":"maximum width of output album art
                           in pixels",
                        "AlbumArtMaxHeight":"maximum height of output album
                           art in pixels",
                        "AlbumArtSizingPolicy":"Fit|Fill|Stretch|Keep|
                           ShrinkToFit|ShrinkToFill",
                        "AlbumArtPaddingPolicy":"Pad|NoPad",
                        "AlbumArtFormat":"jpg|png"
                     },
                     {...}
                  ]
               },
               {...}
            ],
            "Composition":[
               {
                  "TimeSpan":
                     {
                        "StartTime":"starting place of the clip, in 
                           HH:mm:ss.SSS or sssss.SSS",
                        "Duration":"duration of the clip, in HH:mm:ss.SSS
                           or sssss.SSS"
                     }
               }
            ],   
            "Duration":"duration in seconds",
            "Width":"width in pixels",
            "Height":"height in pixels",
            "Status":"Submitted|Progressing|Complete|Canceled|Error",
            "StatusDetail":"additional information about job status"
         },
         {...}
      ],
      "Playlists":[
         {
            "Format":"HLSv3",
            "Name":"name, no / character allowed",
            "OutputKeys":[
               "Outputs:Key to include in this playlist",
               ...
            ]
         },
         {...}
      ],
      "PipelineId":"pipeline to add the job to",
      "Status":"Submitted|Progressing|Complete|Canceled|Error"
   }
}

Response Headers

This operation uses only response headers that are common to most responses. For information about common response headers, see HTTP Responses.

Response Body

When you create a job, Elastic Transcoder returns the values that you specified in the request. For more information, see Request Body.

In addition, Elastic Transcoder returns the following values.

Id

The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

Input

Information about the file that Elastic Transcoder transcoded. These are values that you specified when you created the job.

Outputs

Information about the output files. You can create a maximum of 30 outputs per job. If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job. The Outputs:Id object identifies the position of an output in the sequence.

Note

In early versions of Elastic Transcoder you could create just one output per job, so the object name was Output. The Output syntax still works, but we recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request.
Outputs:Id

A sequential counter, starting with 1, that identifies an output among the outputs from the current job. In the Output syntax, this value is always 1.

Outputs:Duration

Duration of the output file, in seconds.

Outputs:Width

Width of the output file, in pixels.

Outputs:Height

Height of the output file, in pixels.

Outputs:Status

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.

  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.

  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.

  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.

The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

Outputs:StatusDetail

Information that further explains Outputs:Status.

Status

If you specified more than one output for the job, the status of the entire job. When Elastic Transcoder starts processing a job, the value of Job:Status changes to Progressing and doesn't change until Elastic Transcoder has finished processing all outputs. When processing is complete, Job:Status changes either to Complete or, if any of the outputs failed, to Error.

If you specified only one output for the job, Job:Status is the same as Outputs:Status.

The value of Job:Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

Errors

For information about Elastic Transcoder exceptions and error messages, see Handling Errors in Elastic Transcoder.

Note

If a job fails with an Access Denied error, we recommend that you run the Test Role API action to determine what is causing the error. For more information, see Test Role.

Examples

The following example request creates a job that has two outputs.

Sample Request

POST /2012-09-25/jobs HTTP/1.1
Content-Type: application/json; charset=UTF-8
Accept: */*
Host: elastictranscoder.Elastic Transcoder endpoint.amazonaws.com:443
x-amz-date: 20130114T174952Z
Authorization: AWS4-HMAC-SHA256 
               Credential=AccessKeyID/request-date/Elastic Transcoder endpoint/ets/aws4_request,
               SignedHeaders=host;x-amz-date;x-amz-target,
               Signature=calculated-signature
Content-Length: number of characters in the JSON string
{
   "Input":{
      "Key":"recipes/lasagna.mp4",
      "FrameRate":"auto",
      "Resolution":"auto",
      "AspectRatio":"auto",
      "Interlaced":"auto",
      "Container":"mp4"
   },
   "OutputKeyPrefix":"recipes/",
   "Outputs":[
      {
         "Key":"mp4/lasagna-kindlefirehd.mp4",
         "ThumbnailPattern":"mp4/thumbnails/lasagna-{count}",
         "Rotate":"0",
         "PresetId":"1351620000000-100080",
         "Watermarks":[
            {
               "InputKey":"logo/128x64.png",
               "PresetWatermarkId":"company logo 128x64"
            }
         ]
      },
      {
         "Key":"iphone/lasagna-1024k",
         "ThumbnailPattern":"iphone/th1024k/lasagna-{count}",
         "Rotate":"0",
         "PresetId":"1351620000000-987654",
         "SegmentDuration":"5"
      },
      {
         "Key":"iphone/lasagna-512k",
         "ThumbnailPattern":"iphone/th512k/lasagna-{count}",
         "Rotate":"0",
         "PresetId":"1351620000000-456789",
         "SegmentDuration":"5"
      }
   ],
   "Playlists": [
      {
         "Format": "HLSv3",
         "Name": "playlist-iPhone-lasagna.m3u8",
         "OutputKeys": [
            "iphone/lasagna-1024k",
            "iphone/lasagna-512k"
         ]
      }
   ],
   "PipelineId":"1111111111111-abcde1"
}

Sample Response

Status: 201 Created
x-amzn-RequestId: c321ec43-378e-11e2-8e4c-4d5b971203e9
Content-Type: application/json
Content-Length: number of characters in the response
Date: Mon, 14 Jan 2013 06:01:47 GMT

{
   "Job":{
      "Id":"3333333333333-abcde3",
      "Input":{
         "Key":"cooking/lasagna.mp4",
         "FrameRate":"auto",
         "Resolution":"auto",
         "AspectRatio":"auto",
         "Interlaced":"auto",
         "Container":"mp4"
      },
      "Outputs":[
         {
            "Id":"1",
            "Key":"mp4/lasagna-kindlefirehd.mp4",
            "ThumbnailPattern":"mp4/thumbnails/lasagna-{count}",
            "Rotate":"0",
            "PresetId":"1351620000000-100080",
            "Watermarks":[
               {
                  "InputKey":"logo/128x64.png",
                  "PresetWatermarkId":"company logo 128x64"
               }
            ],
            "Duration":"1003",
            "Width":"1280",
            "Height":"720",
            "Status":"Progressing",
            "StatusDetail":""
         },
         {
            "Id":"2",
            "Key":"iphone/lasagna-1024k",
            "ThumbnailPattern":"iphone/th1024k/lasagna-{count}",
            "Rotate":"0",
            "PresetId":"1351620000000-987654",
            "SegmentDuration":"5",
            "Duration":"1003",
            "Width":"1136",
            "Height":"640",
            "Status":"Progressing",
            "StatusDetail":""
         },
         {
            "Id":"3",
            "Key":"iphone/lasagna-512k",
            "ThumbnailPattern":"iphone/th512k/lasagna-{count}",
            "Rotate":"0",
            "PresetId":"1351620000000-456789",
            "SegmentDuration":"5",
            "Duration":"1003",
            "Width":"1136",
            "Height":"640",
            "Status":"Complete",
            "StatusDetail":""
         }
      ],
      "Playlists":[
         {
            "Format":"HLSv3",
            "Name":"playlist-iPhone-lasagna.m3u8",
            "OutputKeys": [
               "iphone/lasagna-1024k",
               "iphone/lasagna-512k"
            ]
         }
      ],
      "PipelineId":"1111111111111-abcde1",
      "Status":"Progressing"
   }
}