---
title: "Create an Encoding Job"
method: POST
path: "/jobs"
tags: ["Jobs"]
---

# Create an Encoding Job

`POST /jobs`

'Encoding jobs are created by sending an HTTP POST request to https://app.zencoder.com/api/v2/jobs. The post body must include one thing: the URL of a video to process. It may also include output settings for the job, including an output destination, notification settings, and transcoding settings. You also must send a Zencoder API Key in a `Zencoder-Api-Key` header.'

## Headers

- `Content-Type` string, required
- `Zencoder-Api-Key` string, required

## Request body

- CreateJobFields — Hash of Zencoder job properties
  - `dynamic_profile_options` DynamicProfileOptions — 'hash of options for CAE (Context Aware Encoding) jobs. With CAE the number of outputs and parameters of such outputs may change dynamically for each input file. The dynamic_profile_options settings define the way renditions should be created. See [CAE Settings](/encoding-settings/general/cae-settings.html) for details. You must also set generate_dynamic_profile equal to true to use this feature.'
    - `min_renditions` integer — The minimum number of renditions to generate.
    - `max_renditions` integer — The maximum number of renditions to generate.
    - `min_resolution` object — Minimum resolution to be considered for the ladder.
      - `height` integer
      - `width` integer
    - `max_resolution` object — Maximum resolution to be considered for the ladder.
      - `height` integer
      - `width` integer
    - `max_frame_rate` number — Maximum frame rate that can be used.
    - `keyframe_rate` number — Keyframe rate. This value can be either 0.5 or 1. For SSAI enabled content, this value needs to be 1.
    - `fixed_frame_rate` boolean — Instructs generator to use same frame rate across all renditions. If false, H.264 baseline profile renditions at resolutions below 360p will be assigned halved frame rate.
    - `max_bitrate` integer — Maximum bitrate [kbps] that can be used.
    - `min_bitrate` integer — Minimum bitrate [kbps] that can be used.
    - `max_first_rendition_bitrate` integer — Maximum bitrate [kbps] that can be used for first rendition.
    - `min_granularity` integer — Minimum relative change in bitrate between renditions as a percentage.
    - `max_granularity` integer — Maximum relative change in bitrate between renditions as a percentage.
    - `video_codec` 'h264' | 'hevc' — Video codec to use.
    - `bitrate_cap_to_bitrate_ratio` number — Ratio of maximum bit rate to average bitrate to be used for VBR encoding.
    - `buffer_size_to_bitrate_ratio` number — Ratio of decoder buffer size to average bitrate to be used for VBR encoding.
    - `bitrate_cap_offset` integer — Constant added when computing maximum bitrate (KBPS).
    - `buffer_size_offset` integer — Constant added when computing VBV buffer size.
    - `quality_rate_tune` integer — Quality vs rate tuning parameter.
    - `select_baseline_profile_configuration` boolean — At least one rendition used in the profile will be baseline profile. Note that `select_baseline_profile_configuration`is `true` by default, and it requires *at least one rendition* to have a resolution at or below 512x288.
    - `select_distinct_configurations` boolean — If true, CAE will ensure that no two renditions use the same combination of: resolution, frame rate, and codec profile.
    - `video_configurations` object[] — 'An array of structures describing resolutions, frame rates and associated codec settings that should be preferentially or mandatorily generated as part of the CAE encoding. See the [CAE encoding guide](/encoding-settings/general/cae-settings.html#video_configurations) for details.'
  - `generate_dynamic_profile` boolean — 'With CAE the number of outputs and parameters of such outputs may change dynamically for each input file. To specify limits on the number of outputs to be generated as well as other profile constraints, CAE job request must also include dynamic_profile_options object. The outputs reserved for CAE use should not include resolution, bitrate, or codec-related parameters. Instead, they should include labels dynamic_profile_rendition. The number of outputs reserved for CAE use must match the number specified as max_renditions in dynamic_profile_options.'
  - `input` string, required — 'A valid URL to a media file (HTTP/HTTPS, FTP/FTPS, SFTP, Azure, GCS, CF or S3), with or without authentication'
  - `region` 'us' | 'europe' | 'asia' | 'sa' | 'australia' | 'us-virginia' | 'us-oregon' | 'us-n-california' | 'eu-dublin' | 'asia-singapore' | 'asia-tokyo' | 'sa-saopaulo' | 'australia-sydney' — 'The AWS region or Google Compute Engine instance (beta) where Zencoder should process the job'
  - `test` boolean — 'Enable test mode ("Integration Mode") for a job'
  - `private` boolean — Enable privacy mode for a job
  - `pass_through` string — Optional information to store alongside this job
  - `mock` boolean — Send a mocked job request
  - `grouping` string — A report grouping for this job
  - `aspera_transfer_policy` 'fair' | 'low' — How to allocate available bandwidth for Aspera file transfers
  - `transfer_minimum_rate` integer — A targeted rate in Kbps for data transfer minimums
  - `transfer_maximum_rate` integer — A targeted rate in Kbps for data transfer maximums
  - `expected_md5_checksum` string — The expected MD5 checksum of the input file. If the file's checksum does not match the provided checksum the job will fail.
  - `credentials` string — References saved credentials by a nickname
  - `notifications` union[] — Array of notification destination objects or strings - notifications defined here are for job-level events. A notification will be sent to the destination when selected event occurs. You can use a simple string with a url: &quot;http://log:pass@httpbin.org/post&quot;, or you can use an object. <br> Retry strategy: In the event of a failed request to send a notification, the default retry strategy is to retry 50 times with an exponential delay between attempts: <br> `max_retry_times = 50` <br> `delay_delta_s = 5` <br> `next_retry = now_s + retry_count * delay_delta_s`
    - union
      - Notification
        - `url` string — A valid HTTP or HTTPS URL to notify, optionally including HTTP Auth credential
        - `format` 'json' | 'xml' — A format and content type for notifications
        - `headers` object — By default, HTTP notifications are sent with an HTTP Content-Type, along with a User-Agent; if your application requires additional headers, they can be specified here
      - string — A URL or email address to send notifications to
  - `outputs` Output[] — Array of output specifications
    - `aac-lc` 'aac-lc' | 'he-aac' | 'he-aad-v2' — Force the use of a particular AAC profile, rather than letting Zencoder choose the best profile for the bitrate. The AAC audio codec has several profiles. * **AAC-LC** ("Low Complexity") is the most common AAC profile, and virtually every AAC decoder supports AAC-LC. AAC-LC allows mono and stereo, with sample rates from 8khz-96khz, and high bitrates (>300kbps). Use AAC-LC when encoding stereo content at 80kbps and above or mono content above 40kbps, or when you want to support devices that only play AAC-LC, like the Roku or old iPods. * **HE-AAC** ("High Efficiency") is a widely supported AAC profile that sounds better than AAC-LC at low bitrates by implementing Spectral Band Replication (SBR). HE-AAC supports mono and stereo content at sample rates of 16khz-48khz and bitrates ranging from 16kbps-128kbps. Most web and mobile decoders support HE-AAC, including Flash, HTML5 (wherever AAC is supported), iPhone, iPad, Android, etc. Use HE-AAC for stereo content below 80, or low bitrate mono content. * **HE-AAC v2** is optimized for even more aggressive compression than HE-AAC by adding Parametric Stereo (PS) to HE-AAC. This means that HE-AAC v2 is only suitable for stereo content; mono content can only use HE-AAC. HE-AAC v2 is supported by Flash, HTML5, and some mobile devices (Windows Phone 7, Android). Use HE-AAC v2 for stereo content below 40kbps or so, but not for iOS audio. (Newer iOS devices can play HE-AAC v2 content, but ignore the PS information, resulting in mono content.)
    - `access_control` object[] — 'The `public` option grants S3 READ access to all users for a given video or thumbnail. If you want more fine-grained control, use `access_control`. Using this setting will cause the `public` option to be ignored. This setting applies to both output video files and output thumbnails. By default, permissions set on an output file also apply to thumbnails. `access_control` takes an array of access control grants, which each have two settings: `grantee` and `permission`. An alternative to manual permissions would be to use a [bucket policy](http://awspolicygen.s3.amazonaws.com/policygen.html).'
      - `grantee` string — 'A grantee for S3 permissions: user by email address, user by CanonicalUser ID, or a AWS access group (http://acs.amazonaws.com/groups/global/AuthenticatedUsers or http://acs.amazonaws.com/groups/global/AllUsers). See the [S3 ACL docs](http://aws.amazon.com/documentation/s3/) for more detail. Used as a part of the `access_control` setting for fine-grained S3 permissions. **Valid Values:** A valid S3 grantee (email, ID, or URI)'
      - `permission` union — 'A permission to give to a S3 permission grantee. See the [S3 ACL docs](http://aws.amazon.com/documentation/s3/) for more detail. - `READ` - read access to a file. - `READ_ACP` - permission to read the Access Control Policy for the given file. - `WRITE_ACP` - permission to write the Access Control Policy for the given file. Equivalent to `FULL_CONTROL`, since a user with `WRITE_ACP` could change the ACP for a file. - `FULL_CONTROL` - grants `READ`, `READ_ACP`, and `WRITE_ACP` permissions to a file. Used as a part of the `access_control` setting for fine-grained S3 permissions.'
        - 'READ' | 'READ_ACP' | 'WRITE_ACP' | 'FULL_CONTROL'
        - string[]
    - `allow_skipped_sources` boolean — When generating the playlist, instead of failing the output if any of the referenced streams have been skipped (as part of the conditional outputs functionality), just leave them out of the playlist. To properly ignore skipped sources, the streams for the playlist must have a source defined. `allow_skipped_sources` is **not** compatible with SMIL output. SMIL will not recognize skipped sources.
    - `alpha_transparency` boolean — Enable alpha transparency on a video. Currently, only the VP6 video_codec supports alpha transparency. Behind the scenes, this setting tells the encoder to use the VP6A codec instead of VP6.
    - `alternate_audio` AlternateAudio — Provides a set of alternate audio streams for HLS playlists. Requires max_hls_protocol_version to be 4 or greater. This option will insert EXT-X-MEDIA tags into the playlist. If name is not set, then a name will be generated based on the given language. Valid Options for Alternate Audio Renditions <ul> <li>`language`: The ISO 639 code for the language of the audio track, like "en", "es", or "zh".</li> `name` (optional): The name of the alternate audio <li>`group`. If name is not set, this will default to the language `name`.</li> <li>`path` (optional): An optional path to the M3U8 playlist for this audio rendition. If the path is not set, this alternate audio stream describes the the audio contained in the source stream.</li> <li>`source` (optional): The label on a media output of the same job. This can be used to set the codec for renditions that use this audio stream.</li> </ul>
    - `aspect_mode` 'preserve' | 'stretch' | 'crop' | 'pad' — If the aspect ratio of the input does not match the requested output aspect ratio, what should the output resolution be? `aspect_mode` controls this decision. Note that **both the width and height may be modified.** As an example, assume that an input file is 1280×720 (widescreen 16:9), but the target output is 640×480 (standard 4:3). There are four basic approaches to this problem, and Zencoder supports them all. * `preserve`: By default, Zencoder will preserve the aspect ratio of the original file, so if you submit widescreen content and ask for standard resolution, the output file will fit keep the widescreen aspect ratio, and will fit within the output size. Presumably, the player will then add black bars to fill up the frame. In our example, the output file will be 640×360 (widescreen 16×9 that fits within the 640×480 target). * `stretch`: When the aspect mode is “stretch”, the output video will exactly match the requested width and height, even if it distorts the image. So in our example, the output will be 640×480, but will look vertically stretched. NB: this is not the same as the “upscale” option, above, which governs whether or not a smaller video will be enlarged to a larger frame size. * `crop`: This option tells Zencoder to “zoom in” to the video to match the output size, by cropping pixels from the top/bottom or left/right. So if the input is widescreen 1280×720, and the output target is standard 640×480, we will crop roughly 160 pixels from the left and from the right of the input file (creating a 4:3 movie), and then resize that down to 640×480. If you’re old enough to remember non-widescreen VHS (like us), this is the old “pan and scan” option. * `pad`: The pad option tells Zencoder to letterbox the video to match the output frame size exactly. Use this option if your target player doesn’t know how to pad a video; otherwise, you’re just wasting bits by including black bars in the actual file. Following our example, this option would take 1280×720 (16:9) content and convert it to 640×480 (4:3) by creating a 640×360 movie, and then placing 60 pixel black bars at the top and bottom of the movie. So the movie would be 640×480, with black bars at the top and bottom. Note that `aspect_mode` requires that both a width and a height are provided (or size); otherwise, if only one dimension is provided, we will calculate the other dimension proportionately. Note: the VP6 video_codec does not support the `pad` `aspect_mode`. If you ask for `pad` with VP6 video, we will use the default mode of `preserve`.
    - `aspera_transfer_policy` 'fair' | 'low' — Sets how Zencoder will use the available bandwidth of the encoding server when transferring files to your Aspera server. - `fair` splits bandwidth evenly between all running jobs on the encoding server. - `low` uses any available bandwidth on the encoding server, but will give priority to other jobs. Low is useful if you are concerned about overrunning your server with too much traffic. **Note:** The High option in Aspera is not supported in Zencoder. By default we will use as much bandwidth as possible, but will not prioritize access to bandwidth for one job over all others on an encoding server.
    - `audio_bitrate` integer — An output bitrate setting, in Kbps. With 2 channel output, this is the total audio bitrate, not the bitrate of each channel, so 128kbps stereo output is encoded at 64kbps per channel. Below 48kbps per channel, quality can start to suffer. Beware that if you manually set an `audio_sample_rate`, you need to choose a compatible `audio_bitrate`, or the encoding may fail. By default, we will auto-correct these failues and choose a valid bitrate/sample rate combination. Enable `strict_mode` to avoid this auto-correction. For AAC audio, a bitrate lower than 84 will set the AAC profile to `HE-AAC`.
    - `audio_codec` 'aac' | 'ac3' | 'amr' | 'eac3' | 'mp3' | 'pcm' | 'vorbis' | 'wma' — 'The output audio codec to use. Zencoder currently supports the following codecs: `h264` (default), `hevc`, `jp2`, `theora`, `vp6`, `vp8`, `vp9`, `mpeg4`, and `wmv`. By default, determined by the `format`, `profile`, or `audio_codec`. `h264` if none are provided. Compatibility: * `aac` is compatible with h264 video (mp4, m4f, 3gp, or flv format), mpeg4 video (mp4 or 3gp format), and vp6 (flv format) * `vorbis` is compatible vp8 video (webm format) and theora video (ogg format) * `wma` is compatible with wmv video and the wmv format * `mp3` is compatible with h264 video (mp4, 3gp, or flv format) and wmv video (wmv format). mp3, h264, and mp4 will not play back in Quicktime * `pcm` is compatible with h264 video and the mxf format.'
    - `audio_constant_bitrate` boolean — Enable constant bitrate (CBR) mode for audio, when possible. audio_sample_rate may be adjusted for compatibility. audio_bitrate setting must also be specified when using this option. *Compatible with AAC and MP3 audio codecs. Not compatible when used with the VP6 `video_codec`.) For MP3 audio, only certain bitrates are compatible with this option: 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.* Note: The AAC codec does not define a fixed CBR mode, so there are still small variations in bitrate over short time periods. Most software will still report these encodes as VBR.
    - `audio_language` 'af-ZA' | 'ar-AE' | 'ar-SA' | 'cy-GB' | 'da-DK' | 'de-CH' | 'de-DE' | 'en-AB' | 'en-AU' | 'en-GB' | 'en-IE' | 'en-IN' | 'en-NZ' | 'en-US' | 'en-WL' | 'en-ZA' | 'es-ES' | 'es-US' | 'fa-IR' | 'fr-CA' | 'fr-FR' | 'ga-IE' | 'gd-GB' | 'he-IL' | 'hi-IN' | 'id-ID' | 'it-IT' | 'ja-JP' | 'ko-KR' | 'ms-MY' | 'nl-NL' | 'pt-BR' | 'pt-PT' | 'ru-RU' | 'ta-IN' | 'te-IN' | 'th-TH' | 'tr-TR' | 'zh-CN' | 'zh-TW' — Set the audio language for the input audio track for auto-transcriptions. BCP-47 style language code, for instance “en-US”, “en-GB”. See [Auto Transcriptions](/encoding-settings/assets/encoding-settings-auto-captions.html)
    - `audio_quality` integer — The desired output audio quality, from 1 to 5. Automatically selects an `audio_bitrate` to achieve this quality. Quality 1 uses a low audio bitrate, which results in a low sound quality, but small files. Quality 5 results in a high audio bitrate for larger files but higher quality. We recommend using 3 for most purposes, or 4-5 when transparent sound quality is desired.
    - `base_url` string — A base S3, Cloud Files, GCS, FTP, FTPS, SFTP, Azure, or Aspera directory URL where Zencoder put the transcoded file, without a filename
    - `byte_range_segmenting` boolean — Configures HLS segmenting to produce a single output file rather than one file per segment. Requires `max_hls_protocol_version` or `hls_protocol_version` set to `4` or higher.
    - `cae_options` object — hash of options for CAE (Context Aware Encoding) jobs. With CAE the number of outputs and parameters of such outputs may change dynamically for each input file. The dynamic_profile_options settings define the way renditions should be created. See [CAE Settings](/encoding-settings/general/cae-settings.html) for details. You must also set 'type' equal to 'true' to use this feature.
      - `min_renditions` integer — The minimum number of renditions to generate.
      - `max_renditions` integer — The maximum number of renditions to generate.
      - `min_resolution` object — Minimum resolution to be considered for the ladder.
        - `height` integer
        - `width` integer
      - `max_resolution` object — Maximum resolution to be considered for the ladder.
        - `height` integer
        - `width` integer
      - `max_frame_rate` number — Maximum frame rate that can be used.
      - `keyframe_rate` number — Keyframe rate. This value can be either 0.5 or 1. For SSAI enabled content, this value needs to be 1.
      - `fixed_frame_rate` boolean — Instructs generator to use same frame rate across all renditions. If false, H.264 baseline profile renditions at resolutions below 360p will be assigned halved frame rate.
      - `max_bitrate` integer — Maximum bitrate [kbps] that can be used.
      - `min_bitrate` integer — Minimum bitrate [kbps] that can be used.
      - `max_first_rendition_bitrate` integer — Maximum bitrate [kbps] that can be used for first rendition.
      - `min_granularity` integer — Minimum relative change in bitrate between renditions as a percentage.
      - `max_granularity` integer — Maximum relative change in bitrate between renditions as a percentage.
      - `video_codec` 'h264' | 'hevc' — Video codec to use.
      - `bitrate_cap_to_bitrate_ratio` number — Ratio of maximum bit rate to average bitrate to be used for VBR encoding.
      - `buffer_size_to_bitrate_ratio` number — Ratio of decoder buffer size to average bitrate to be used for VBR encoding.
      - `bitrate_cap_offset` integer — Constant added when computing maximum bitrate (KBPS).
      - `buffer_size_offset` integer — Constant added when computing VBV buffer size.
      - `quality_rate_tune` integer — Quality vs rate tuning parameter.
      - `select_baseline_profile_configuration` boolean — At least one rendition used in the profile will be baseline profile. Note that `select_baseline_profile_configuration`is `true` by default, and it requires *at least one rendition* to have a resolution at or below 512x288.
      - `select_distinct_configurations` boolean — If true, CAE will ensure that no two renditions use the same combination of: resolution, frame rate, and codec profile.
      - `video_configurations` object[] — 'An array of structures describing resolutions, frame rates and associated codec settings that should be preferentially or mandatorily generated as part of the CAE encoding. See the [CAE encoding guide](/encoding-settings/general/cae-settings.html#video_configurations) for details.'
    - `caption_from_audio_transcription` boolean — Use audio transcription to generate captions when captions are not available in the source file. See [Auto Transcriptions](/encoding-settings/assets/encoding-settings-auto-captions.html)
    - `include_transcription_json` boolean — Whether a JSON version of the transcription should be included along with the captions. `caption_from_audio_transcription` must also be set to `true`.
    - `transcription_filename` string — Specify a filename for the JSON transcription file. If not included, a default name will be used. If included, it must have a value, or an error will be returned.
    - `caption_url` string — The URL to an SCC, DFXP, or SAMI caption file to include in the output. Zencoder supports captions for multiple output video formats: MP4/M4V files, with caption track in CEA-608 format HLS outputs (segmented outputs with H.264 video in TS format) **Note:** Captioning is not currently supported on transmuxed outputs.
    - `clip_length` string — Create a subclip of a particular length. This can either be a duration with a format of HH:MM:SS.S, or a decimal expressing the length of the clip in seconds. Can be combined with start_clip to create subclips in the middle of a video. If `start_clip` is not provided, the clip will start at the beginning of the video. Note that the actual clip length may not be perfectly exact, depending on the arrangement of keyframes within the video. Also note that clip_length is a duration and is not the timecode in the media file at which the subclip should end. Valid Values: A duration in the format of HH:MM:SS.S or a positive number representing a number of seconds Examples: * 00:00:10.0 * 01:31:08.3 * 60 * 12.5
    - `constant_bitrate` boolean — Constant bitrate (CBR) encoding is used by some streaming servers and decoders. CBR encoding looks significantly worse than variable bitrate (VBR) encoding at the same bitrate, so only use this setting if you absolutely must. This setting requires that you set a `video_bitrate`; you cannot use `quality` to autoselect a bitrate when using the `constant_bitrate` setting. Do not use constant_bitrate for HTTP-based delivery, or for downloaded video. Different `video_codecs` behave differently with the `constant_bitrate` setting.
    - `copy_audio` boolean — Specifying `copy_audio` will take the audio track from the input video file and transmux it into the resulting output file.
    - `copy_video` boolean — Specifying `copy_video` will take the video track from the input video file and transmux it into the resulting output file.
    - `credentials` string — References saved credentials by a nickname
    - `crf` integer — CRF is a bitrate-control setting, and sets a constant ratefactor. This is closely related to constant quantizer encoding, though CRF mode generally achieves better compression than constant Q encoding by reducing the quantizer quality on "less important" frames. Read more about crf. The Zencoder Quality setting determines an appropriate CRF for a given video. So if you set both Quality and CRF, the CRF setting will override Quality. Valid values are 0-51, with lower values being better quality. Generally speaking, you shouldn't have to go below 16; 16 is nearly lossless for most files. Around 24 usually looks pretty good. Around 35 looks pretty compressed.
    - `cue_points` CuePoint[] — Zencoder supports adding event and navigation cue points to VP6 Flash Video (FLV) files. Cue points are embedded in the FLV stream and FLV metadata packet when you encode the FLV file. There are two cue point types: "navigation" and "event". Navigation cue points can be used to let users seek to a specified part of a video file. Navigation cue points create a keyframe at the specified cue point location, so you can use code to move a video player’s playhead to that location. You can set particular points in an FLV file where you might want users to seek. For example, your video might have multiple chapters or segments, and you can control the video by embedding navigation cue points in the video file. Event cue points can be used to perform actions in a SWF video player that are triggered at specified points during FLV playback.
      - `type` 'navigation' | 'event' — A `cue_point` type: either `navigation` or `event`.
      - `time` number — The time for a `cue_point`, in seconds.
      - `name` number — A name for a `cue_point`.
      - `data` number — Data for a `cue_point`, as a hash of key/value pairs.
    - `decimate` integer — 'Divide the input frame rate by the specified number. This is useful if you know you want to cut frame rate in half, but you don’t know what the input frame rate is. Given an input frame rate of 20, if you set decimate to 2, you’ll get an output frame rate of 10. You can still set max_frame_rate if you want to ensure that a decimated frame rate does not exceed a certain value. The output video will have a frame_rate that is equal to the input frame rate divided by the decimate value. So if the input is 24 fps, and you set decimate to 4, the output would be 6 fps (24 / 4).'
    - `decoder_bitrate_cap` integer — The max bitrate fed to the decoder via a buffer. This setting is typically used only for streaming (HLS or broadcast video). Only use this setting if you understand its implications, as it can decrease video quality.
    - `decoder_buffer_size` integer — The size of the buffer fed to the decoder when using a bitrate_cap, expressed in kbps. The buffer_size divided by bitrate_cap represents the size of the buffer in seconds; so if you set bitrate_cap to 1000 and buffer_size to 1000, the buffer is effectively 1.0 second. If bitrate_cap is 500 and buffer_size is 1000, the buffer is 2.0 seconds. Only use this setting if you understand its implications, as it can decrease video quality. This should typically only be used for streaming (or for device playback).
    - `decryption_key` string — Set the decryption key to use for an encrypted input. **Valid Values:** A hexadecimal string of 16 octets (32 chars long, optional "0x" prefix)
    - `decryption_key_url` string — The URL of a decryption key file to use, with a key in binary form (16 bytes total). This is ignored if a decryption_key is specified. **Valid Values:** A URL to a file containing a 16-byte binary key
    - `decryption_method` 'none' | 'aes-128-cbc' | 'aes-128-ctr' | 'aes-256-cbc' | 'aes-256-ctr' — Set the decryption algorithm to use for decrypting.
    - `decryption_password` string — The password used in combination with the key to decrypt the input file.
    - `device_profile` 'mobile/advanced' | 'mobile/baseline' | 'v1/mobile/advanced' | 'v1/mobile/baseline' | 'v1/mobile/legacy' | 'v2/mobile/advanced' | 'v2/mobile/baseline' | 'v2/mobile/legacy' — 'A device profile to use for mobile device compatibility. See the [encoding guide](/encoding-settings/general/encoding-settings-general-output-settings.html#device_profile) for the details of the different profiles.'
    - `drm` DRM — Hash of DRM options
      - `method` 'cenc' | 'playready' — The Digital Rights Management (DRM) method used to protect content
      - `provider` string — The Digital Rights Management (DRM) provider used. Only required for PlayReady.
      - `key_id` string — '32 hexadecimal characters (with optional dashes for UUID formatting). Identifier of the key to use. This is specified with all bytes in standard (big-endian) order..Some DRM services return key IDs in little-endian order formatted as a GUID; to specify the key in that format see [key_guid]{/encoding-settings/content-protection/encoding-settings-drm.html#key_guid}.'
      - `key_guid` string — 32 hexadecimal characters (with optional dashes for UUID formatting). Identifier of the key to use, in GUID-formatted little-endian order. Some DRM services return key IDs using this formatting. If a `key_id` is not also specified, this will be converted to use as the `key_id`. For specifying the key ID in a standard big-endian binary or UUID format, see `key_id`
      - `user_key` string — 32 hexadecimal characters (with optional dashes for UUID formatting). The user key from the DRM provider.
      - `server_key` string — 32 hexadecimal characters (with optional dashes for UUID formatting). The server key from the DRM provider.
      - `media_id` string — 32 hexadecimal characters (with optional dashes for UUID formatting). Unique identifier for the media.
      - `content_id` string — 32 hexadecimal characters (with optional dashes for UUID formatting). Unique identifier for the content.
      - `content_key` string — 32 hexadecimal characters (with optional dashes for UUID formatting). Unique identifier for the content.
      - `schemas` Schema[] — When using Common Encryption to encrypt an output (or set of outputs), information about the DRM providers is specified as a schema including the schema type, and provider-specific infomration. This is generally only specified on playlist outputs for multi-bitrate encoding jobs, but may also be specified for a CENC-encoded output to ensure that output is playable on its own.
        - `type` 'widevine' | 'playready' | 'marlin' — Provider type for this DRM schema.
        - `license_acquisition_url` string — License acquisition URL for Playready CENC DRM schema.
    - `dynamic_profile_rendition` integer — The `dynamic_profile_rendition` setting specifies that this Output should use settings from the dynamically generated CAE profile, and specifically which rendition of the profile to use settings from. When `dynamic_profile_rendition` is set, there is no need to specify encoding settings such as resolution, bitrate, etc. (See the [CAE Guide](/encoding-guides/cae-guide.html) for the full list of settings that are automatically set by CAE.)
    - `encryption_iv` string — Set an initialization vector to use when encrypting, as a 16-octet hexadecimal string. On segmented outputs if this is not specified, the segments will be encrypted with incrementing IV values, starting at zero (consistent with HLS specifications). **Valid Values:** A hexadecimal string of 16 octets (32 chars long, optional "0x" prefix)
    - `encryption_key` string — Set a single encryption key to use rather than having Zencoder generate one. Passing an encryption key is not compatible with key rotation. Zencoder will generate and return the encryption keys if using key rotation. **Valid Values:** A hexadecimal string of 16 octets (32 chars long, optional "0x" prefix)
    - `encryption_key_rotation_period` integer — When Zencoder is generating encryption keys, use a different key for each set of segments, rotating to a new key after this many segments.
    - `encryption_key_url` string — Set a single encryption key to use rather than having Zencoder generate one. Specified as a URL to a file containing a 16-byte binary key. This will be included as the URL to the key file in HLS manifests and no encryption key files will be included with the output. If the encryption_key is not also specified, Zencoder will attempt to download this file and use it to encrypt the output. **Valid Values:** A URL to a file containing a 16-byte binary key
    - `encryption_key_url_prefix` string — When an `encryption_key_url` is not specified, prepend this to the encryption key filenames before including them in the manifest. Otherwise the keys are assumed to be accessible from the same path as the manifest file. If a question mark is used in the string the prefix it will be used as-is, otherwise a slash will be added to the end of the prefix (unless it already ends with a slash). **Valid Values:** A URL or relative path
    - `encryption_method` 'none' | 'aes-128-cbc' | 'aes-128-ctr' | 'aes-256-cbc' | 'aes-256-ctr' — Set the encryption method to use for encrypting. **Note:** for HLS outputs, only aes-128-cbc is supported.
    - `encryption_password` string — Sets a password to use for generating an initialization vector. Not supported for segmented outputs. Non-segmented outputs require either encryption_iv or encryption_password.
    - `filename` string — The filename of a finished file
    - `fixed_keyframe_interval` boolean — By default, a specified keyframe_interval only guarantees the max number of frames between two keyframes. The encoder may decide to place a keyframe before it is required by the `keyframe_interval`; for example, better compression might be achieved by putting a keyframe at a scene change. Setting this option to true prevents this variability. This option only applies when using the H.264, HEVC or VP6 `video_codec`.
    - `force_interlace_headers` boolean — Some decoders ask for interlaced content, but will play progressive content just fine. This setting will add "interlaced" headers to the metadata of progressive content, to make it look like it is actually interlaced. Note: Some media inspection tools won't be tricked by this, and will report this content as progressive despite the header information.) This option only applies when using the H.264 codec.
    - `forced_keyframe_interval` integer — Forces keyframes to be created at the specified frame interval (every N frames), while still allowing the encoder to place keyframes elsewhere, such as at scene cuts. As opposed to `fixed_keyframe_interval` which only puts keyframes at the specified interval. This option only applies when using the H.264 or HEVC `video_codec`.
    - `forced_keyframe_rate` number — Set the forced keyframe interval by specifying number of keyframes per second, taking frame rate into account. This option is ignored if `forced_keyframe_interval` is specified. This option only applies when using the H.264 or HEVC `video_codec`.
    - `forensic_watermark` 'A' | 'B' — To generate outputs with forensic watermarking in Zencoder, you need to specify 2 outputs per video, an output A and B so that segments from each output can be intermixed in different sequences to produce a range of different watermarked "videos" for playback (for example: AABABBABA, ABBBABABA, BABAABBAA, etc.).
    - `forensic_watermark_stub_mode` boolean — To be used for purposes of testing integrations that generate outputs with forensic watermarking in Zencoder. When set to true together with `forensic_watermark`, this flag causes visible watermarks to be created (to verify that forensic watermarking is being successfully added). Once testing is complete, you will need to run the job again, omitting the `forensic_watermark_stub_mode` flag or setting it to `false`, to get outputs without the visible watermarks.
    - `format` '3gp' | 'aac' | 'ac3' | 'ec3' | 'flv' | 'm4f' | 'mj2' | 'mkv' | 'mp3' | 'mp4' | 'mxf' | 'ogg' | 'ts' | 'webm' | 'wmv' — 'The output container format to use. By default, determined by the output filename and then video or audio codec. Otherwise: mp4 (for standard outputs); ts (for segmented outputs). Note that some containers have multiple valid file extensions. Typically, names like `f4v`, `ogv`, and `m4v` are used for audio/video files, and `f4a`, `m4a`, and `oga` are used for audio-only files, but this is not enforced. Similarly, `f4v` and `f4a` are often used for mp4 content designed to play in Flash Video, but this is just a convention. Compatibility: * mp4 is compatible with h264 (default), hevc, and mpeg4 video, and aac (default), mp3, ac3, and eac3 audio. Valid values and file extensions: mp4, m4a, m4v, f4v, f4a, m4b, m4r, f4b * m4f is compatible with h264 and hevc video and aac, ac3, and eac3 audio. * ogg is compatible with theora video and vorbis audio. Valid values and file extensions: ogg, oga, ogv, ogx * webm is compatible with vp8 (default) and vp9 video and vorbis audio. Valid values and file extensions: webm * 3gp is compatible with mpeg4 (default) and h264 video, and aac (default) and mp3 audio. Valid values and file extensions: 3gp, 3gp2, 3g2, 3gpp, 3gpp2. Note that the 3gp format can also use a mp4 file extension. * flv is compatible with vp6 (default) and h264 video, and aac (default) and mp3 audio. Valid values and file extensions: flv * ts is compatible with h264 video and aac (default), mp3 or ac3 audio. Valid values and file extensions: ts * mkv is compatible with h264 video and aac (default), mp3, ac3 or eac3 audio. Valid values and file extensions: mkv * wmv is compatible with wmv video and wma (default) or mp3 audio. Valid values and file extensions: wmv, wma * aac is compatible with aac audio and no video. Valid values and file extensions: aac * mp3 is compatible with mp3 audio and no video. Valid values and file extensions: mp3 * ac3 is compatible with ac3 audio and no video. Valid values and file extensions: ac3 * ec3 is compatible with eac3 audio and no video. Valid values and file extensions: ec3 * mj2 is compatible with jp2 video and aac audio. Valid values and file extensions: mj2, mjp2. * mxf is compatible with h264 video and pcm audio. Valid values and file extensions: mxf.
    - `format_preset` 'ts_broadcast' | 'ts_dvb' | 'ts_cablelabs' | 'as11_hd' — Format preset to allow compatibility with specific industry standards. Note that only 2 audio channels are supported. Standards: * `ts_broadcast` produces standard MPEG-TS broadcast compliant streams. * `ts_dvb` produces Digital Video Broadcasting (DVB) compliant streams. * `ts_cablelabs` produces CableLabs compliant MPEG-TS streams. * `as11_hd` is AVC-Intra 100 video, 4 or 16 channels of PCM audio in an MXF-OP1A container.
    - `frame_index_filename` string — Unless specified, the filename used for frame index generation will be **frame_index.tab**. This option requires that `generate_frame_index` is true.
    - `frame_rate` number — The output frame rate to use, as a decimal number (e.g. 15, or 24.98). We recommend that you do not use this setting – forcing a change to the video frame rate will result in a lower-quality video. If you want to prevent frame rates above a certain level, use `max_frame_rate` instead. Frame rates above 60 are not allowed for resolutions greater than HD (i.e. 1920x1080).
    - `generate_frame_index` boolean — 'Produces a tab-delimited file with three integer values: frame #, frame size (bytes) and last keyframe #. Each line is padded with spaces to a width of 42 columns. This option cannot be used unless the output contains a video stream. The default index filename **frame_index.tab** can be overridden with `frame_index_filename`.'
    - `generate_keyframe_manifest` boolean — Generates an HLS keyframe (I-frame) manifest which is required for fast-forward and reverse playback. The default keyframe manifest filename is the same as the playlist filename, but with '-iframe-index' added (so for a 'master.m3u8' playlist, the keyframe manifest would be 'master-iframe-index.m3u8'). The keyframe manifest filename can be overridden with `keyframe_manifest_filename`. Enabled by default if `max_hls_protocol_version` or `hls_protocol_version` is set `4` or greater.
    - `generate_md5_checksum` boolean — Generate an MD5 checksum of the output file
    - `headers` object — HTTP headers to send with your file when we upload it. This feature is currently supported when using S3, GCS and Cloud Files. Zencoder supports setting a limited subset of these headers: `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Type`, `Expires`, `x-amz-acl`, `x-amz-storage-class`, `x-amz-server-side-encryption`, `x-amz-meta-*`, `x-goog-acl` and `x-goog-meta-*`.
    - `height` integer — Video frame height. If no height is supplied, we will use the original width, or scale to size or width setting. **Values must be divisible by 4.** Note that width and height take precedence over size.
    - `hint` boolean — Turn on hinting of MP4 files for RTP/RTSP. The default `mtu_size` is 1450 bytes; use the `mtu_size` option to change this.
    - `keyframe_interval` integer — Set the maximum number of frames between each keyframe. By default, a keyframe will be created at least every 250 frames. Specifying a different keyframe interval will allow you to create more or less keyframes in your video. Keyframe interval should be specified as a positive integer. For example, a value of 100 will create a keyframe every 100 frames. A greater number of keyframes will increase the size of your output file, but will allow for more precise scrubbing in most players. Note that this is a maximum keyframe interval. Depending on scene transitions and other things, more keyframes may be used to ensure high quality encoding. For H.264 video, keyframes are IDR frames. `keyframe_interval` takes precidence over `keyframe_rate`.
    - `keyframe_manifest_filename` string — Unless specified, the filename used for the keyframe manifest is the same as the playlist filename, but with '-iframe-index' appended. For example, for the playlist 'master.m3u8', the keyframe manifest would be 'master-iframe-index.m3u8'. This option requires that `generate_keyframe_manifest` is `true`, or `hls_protocol_version` is `4` or greater.
    - `keyframe_rate` number — Set the number of keyframes per second. So a value of 0.5 would result in one keyframe every two seconds. A value of 3 would result in three keyframes per second. The default is to control keyframes via `keyframe_interval`, with a default value of 250. Depending on the video frame rate, this results in a keyframe every 8-11 seconds. A greater number of keyframes will increase the size of your output file, but will allow for more precise scrubbing in most players. keyframe_interval takes precidence over keyframe_rate.
    - `label` string — An optional label for this output - must be unique for the job
    - `lossless_video` boolean — Enables lossless video encoding if supported by the video codec. Currently only supported by Jpeg2000 (jp2). Cannot be used with `video_bitrate`.
    - `master_display` MasterDisplay — Hash of HDR10 output settings
      - `red` object — Hash of red color volumes for HDR10 output settings
        - `x` number — Color volume x setting for red (for HDR10 outputs)
        - `y` number — Color volume y setting for red (for HDR10 outputs)
      - `greeen` object — Hash of green color volumes for HDR10 output settings
        - `x` number — Color volume x setting for green (for HDR10 outputs)
        - `y` number — Color volume y setting for green (for HDR10 outputs)
      - `blue` object — Hash of blue color volumes for HDR10 output settings
        - `x` number — Color volume x setting for blue (for HDR10 outputs)
        - `y` number — Color volume y setting for blue (for HDR10 outputs)
      - `white_point` object — Hash of white point color volumes for HDR10 output settings
        - `x` number — Color volume x setting for white point (for HDR10 outputs)
        - `y` number — Color volume y setting for white point (for HDR10 outputs)
      - `luminence` object — Hash of luminance settings for HDR10 output settings
        - `min` number — Minimum luminance in nits or candelas per square meter (cd/m2) (for HDR10 outputs)
        - `max` number — Maximum luminance in nits or candelas per square meter (cd/m2) (for HDR10 outputs)
    - `max_aac_profile` 'aac-lc' | 'he-aac' | 'he-aad-v2' — The AAC audio codec has several profiles. By default, Zencoder will pick the right profile based on the bitrate and number of channels used: stereo content under 40kbps will use HE-AAC v2 if max-aac-profile is set to `he-aac-v2`; stereo content under 84kbps will use HE-AAC if max-aac-profile is set to `he-aac`; and AAC-LC will be used for higher bitrate content, or if max-aac-profile is set to `aac-lc`. `he-aac` is the default value, which means that by default, 0-84kbps will use HE-AAC and 85kbps and up will use AAC-LC. * **AAC-LC** ("Low Complexity") is the most common AAC profile, and virtually every AAC decoder supports AAC-LC. AAC-LC allows mono and stereo, with sample rates from 8khz-96khz, and high bitrates (>300kbps). Use AAC-LC when encoding stereo content at 80kbps and above or mono content above 40kbps, or when you want to support devices that only play AAC-LC, like the Roku or old iPods. * **HE-AAC** ("High Efficiency") is a widely supported AAC profile that sounds better than AAC-LC at low bitrates by implementing Spectral Band Replication (SBR). HE-AAC supports mono and stereo content at sample rates of 16khz-48khz and bitrates ranging from 16kbps-128kbps. Most web and mobile decoders support HE-AAC, including Flash, HTML5 (wherever AAC is supported), iPhone, iPad, Android, etc. Use HE-AAC for stereo content below 80, or low bitrate mono content. * **HE-AAC v2** is optimized for even more aggressive compression than HE-AAC by adding Parametric Stereo (PS) to HE-AAC. This means that HE-AAC v2 is only suitable for stereo content; mono content can only use HE-AAC. HE-AAC v2 is supported by Flash, HTML5, and some mobile devices (Windows Phone 7, Android). Use HE-AAC v2 for stereo content below 40kbps or so, but not for iOS audio. (Newer iOS devices can play HE-AAC v2 content, but ignore the PS information, resulting in mono content.)
    - `max_content_light_level` number — Maximum light level for the content as a whole nits or candelas per square meter (cd/m2) - integer values (for HDR10 outputs)
    - `max_frame_average_light_level` number — Maximum average light level for content frames nits or candelas per square meter (cd/m2) - integer values. Although values up to 10000 are allowed, values in the 100-200 range will generally produce the best results (for HDR10 outputs)
    - `max_frame_rate` number — 'Limits the output frame rate to a certain number. If the frame rate would otherwise exceed this number (e.g. the input frame rate is too high), this will reduce the frame rate to the max_frame_rate setting Example: if you set max_frame_rate to 29.97, and the input has a frame rate of 59.94, the output file will have a frame rate of 29.97. We recommend using this setting rather than setting an exact `frame_rate`, for two reasons: First, changing a `frame_rate` can result in a visual quality drop due to stuttering and jerky motion. Second, setting frame rate to a fixed number may actually increase the frame rate of the output video beyond the frame rate of the input, which would result in an unneeded increase in file size (or decrease in quality).'
    - `max_video_bitrate` integer — A maximum average bitrate for a movie. Overrides both the quality and video_bitrate settings to ensure that a bitrate doesn't exceed the provided number. max_video_bitrate is especially useful when encoding for mobile devices using the quality setting, which autoselects a bitrate. Mobile devices sometimes have fixed bitrate limits; for example, the iPhone 3GS has a bitrate limit of 1500 kbps. **Note**: This option does not apply to the VP6 codec. It will be ignored if used with VP6.
    - `mtu_size` integer — MTU size in bytes for MP4 hinting.
    - `one_pass` boolean — By default, we will use two-pass encoding whenever encoding to a target video_bitrate, and one_pass encoding when performing constant quality encoding (which doesn't benefit from a second pass). This option will force one_pass encoding when targeting a specific video_bitrate. We highly recommend not forcing one_pass encoding. The first pass in two-pass encoding is faster than the second pass, so going from two-pass encoding to one_pass encoding only results in a 25% encoding speedup, not 50% faster encoding. And two-pass encoding looks significantly better than one_pass encoding.
    - `package_filename` string — The filename of a packaged output
    - `package_format` 'zip' | 'tar' — Zip/packaging format to use for the output file(s)
    - `parallel_upload_limit` integer — The maximum number of simultaneous uploads to attempt - defaults: `30` for S3, `10` for other destinations
    - `playlist_format` 'dash' | 'mpd' | 'hls' | 'm3u' | 'm3u8' | 'ism' | 'mss' | 'highwinds' — Sets format for a playlist (rendition manifest) output.
    - `prepare_for_segmenting` union — 'If you plan to transmux an output to HLS, MSS, and/or DASH after encoding it with captions to MP4, set this option to true to include captions and keyframe timing for segmenting. This allows the segmented versions to include HLS-compatible captions despite transmuxing, and provides for segmenting at consistent time intervals. Specify the type of segmented output(s) that this output will later be transmuxed to create, so that Zencoder can prepare the captions and keyframes as necessary. **Note:** Captions can not currently be added to HLS outputs when transmuxing.'
      - string[]
      - 'hls' | 'mss' | 'dash'
    - `public` boolean — 'By default, files put into a S3 bucket are not publicly readable. Instead, we use the canned access policy of [bucket-owner-full-control](http://docs.amazonwebservices.com/AmazonS3/latest/index.html?RESTAccessPolicy.html). This is true even if the bucket itself is publicly readable - a S3 bucket policy is not automatically inherited by new files added to the bucket. Use the public API setting to flag a file output to S3 as being publicly readable. This is done by granting the READ permission to the AllUsers group. This setting applies to both output video files and output thumbnails. By default, permissions set on an output file also apply to thumbnails. Setting `access_control` will override this setting. An alternative to manual permissions would be to use a [bucket policy](http://awspolicygen.s3.amazonaws.com/policygen.html). [More information](http://docs.amazonwebservices.com/AmazonS3/latest/dev/) from the Amazon S3 docs.'
    - `quality` integer — 'The desired output video quality, from 1 to 5. Automatically selects a video_bitrate to achieve this quality. This automatically chooses a video bitrate that produces a video of the desired quality. This is useful, because one video may need a higher bitrate than another to achieve a target visual quality, due to the complexity of the content, the resolution, etc. Higher quality means higher bitrate and vice versa. Quality 1: Highly compressed. Mediocre visual quality, but small files. Quality 2: Acceptable quality. Quality 3: Good quality. Better than most web video. Quality 4: Great quality. Looks excellent. Quality 5: Nearly lossless. Large files. Not recommended unless you plan to encode this output again. As a rule of thumb, lowering quality by a level will reduce file size by about 40%. Higher quality encoding is also a bit slower than lower quality encoding. Remember that the output bitrate will vary from file to file when using the quality setting, depending on the type of video. Even at the same Quality setting, low-complexity video (like a screencast) will generally result in lower bitrates than high-complexity video (like a movie).'
    - `rrs` boolean — If you use Amazon S3's Reduced Redundancy Storage you can set this flag and Zencoder will pass the necessary headers to tell S3 to use RRS.
    - `sample_aspect_ratio` string — The sample (pixel) aspect ratio to be used for the output video. The size, width, height, and aspect_mode mode options all refer to the encoded pixel dimensions, not the display dimensions. Sets the aspect ratio to use for sample/pixels of the output video, specified as "8:9", "32:27", or any other ratio of two positive integers, each between 1 and 65535. Specifying any (valid) value for this setting changes the default 'aspect_mode' from 'preserve' to 'stretch', which means that by default you'll also need to specify a width/height for the encoded output. Note: It may be useful to use the 'upscale' option in conjunction with this option for predictable output resolutions. This option only applies when using the H.264 and HEVC codecs.
    - `secondary_url` string — A S3, Cloud Files, GCS, FTP, FTPS, SFTP, Aspera, Azure or HTTP URL where Zencoder will put the transcoded file
    - `segment_image_url` string — When creating audio-only segments, use the specified image file as a thumbnail for each segment. Must be a public URL.
    - `segment_seconds` number — Sets the maximum duration of each segment in a segmented output. Values less than 2.0 are only allowed when byte_range_segmenting is enabled. Because very short segments have been found to cause playback issues, the final segment may be longer than the specified value.
    - `segment_video_snapshots` boolean — When segmenting a video file into audio-only segments, take snapshots of the video as thumbnails for each segment. This option has no effect if segment_image_file is set.
    - `select_audio_language` string — Set the language for auto-transcription output. 3-letter ISO 639-2 language code. See [Auto Transcriptions](/encoding-settings/assets/encoding-settings-auto-captions.html)
    - `select_audio_service_type` 'main' | 'music_and_effects' | 'visually_impaired' | 'hearing_impaired' | 'dialogue' | 'commentary' | 'emergency' | 'voice_over' — 'main', 'music_and_effects', 'visually_impaired', 'hearing_impaired', 'dialogue', 'commentary', 'emergency', 'voice_over' See [Auto Transcriptions](/encoding-settings/assets/encoding-settings-auto-captions.html) *Note: Only Dolby audio codecs (ac-3 and eac-3) support including audio service type metadata. This is a feature of the codecs, not a limitation of Zencoder support. AAC audio cannot contain service type metadata.*
    - `size` string — The resolution of the output file, expressed as WxH, like 640×480 or 1280×720. Note that width and height take precedence over size. Aspect mode will be preserved by default, so if the input video is 16:9 and a 4:3 output resolution is requested, the output will maintain the 16:9 aspect ratio. This will result in the output dimensions not matching the requested size. Use `aspect_mode` to control this.
    - `skip` Skip — An object containing conditions for skipping the output **Note**: Due to the nature of video metadata and inconsistencies between video types some source files may have their dimensions read incorrectly during inspection, resulting in conditions being applied or ignored incorrectly.
      - `min_size` string — If the source's dimensions are smaller than the requested size, the output will be skipped. Dimensions are calculated by mutliplying the height and the width of the source and comparing to the product of provided dimensions.
      - `max_size` string — If the source's dimensions are larger than the requested size, the output will be skipped. Dimensions are calculated by mutliplying the height and the width of the source and comparing to the product of provided dimensions.
      - `min_duration` integer — If the source's duration is shorter than the requested duration, the output will be skipped. Duration must be provided in seconds. To skip an output if the source is shorter than 5 minutes, use `300`.
      - `max_duration` integer — If the source's duration is longer than the requested duration, the output will be skipped. Duration must be provided in seconds. To skip an output if the source is longer than 10 minutes, use `600`.
      - `min_audio_bitrate` integer — If the source's audio bitrate is less than the specified bitrate (in kbps), the output will be skipped. **Source files without an audio track or without a recognizable audio bitrate will ignore this setting.** (See [require_audio](/encoding-settings/general/encoding-settings-conditional-outputs.html#require-audio) for more options.) To skip an output if the source audio bitrate is less than 128 Kbps, use 128.
      - `max_audio_bitrate` integer — If the source's audio bitrate is greater than the specified bitrate (in kbps), the output will be skipped. '**Source files without an audio track or without a recognizable audio bitrate will ignore this setting.** (See [require_audio](encoding-settings/general/encoding-settings-conditional-outputs.html#require-audio) for more options.) To skip an output if the source audio bitrate is greater than 160 Kbps, use 160.'
      - `min_video_bitrate` integer — If the source's video bitrate is less than the specified bitrate (in kbps), the output will be skipped. '**Source files without a video track or without a recognizable video bitrate will ignore this setting.** (See [require_video](encoding-settings/general/encoding-settings-conditional-outputs.html#require-video) for more options.) To skip an output if the source video bitrate is less than 800 Kbps, use 800.'
      - `max_video_bitrate` integer — If the source's video bitrate is greater than the specified bitrate (in kbps), the output will be skipped. '**Source files without a video track or without a recognizable video bitrate will ignore this setting.** (See [require_video](encoding-settings/general/encoding-settings-conditional-outputs.html#require-video) for more options.) To skip an output if the source video bitrate is greater than 2000 Kbps, use 2000.'
      - `require_audio` boolean — To skip an output if the source does not have an audio track, set this option to true.
      - `require_video` boolean — To skip an output if the source does not have an video track, set this option to true.
    - `skip_audio` boolean — Do not output a audio track
    - `skip_captions` boolean — Don't add or pass through captions to the output file.
    - `skip_video` boolean — Do not output a video track
    - `smil-base-url` string — 'This will add the tag &lt;meta base="smil_base_url_value"/&gt; to the <head> section of an SMIL playlist. This example will output a playlist that looks like this: <pre><code>&lt;smil&gt; &lt;head&gt; &lt;meta base="rtmp://123.456.123.123/path/to/videos/"/&gt; &lt;/head&gt; &lt;body&gt; &lt;switch&gt; &lt;video src="mp4:test.mp4" system-bitrate="500000"/&gt; &lt;/switch&gt; &lt;/body&gt; &lt;/smil&gt;</code></pre> **Note:** only functions on an output of type playlist, with a format of highwinds.'
    - `source` string — References a label on another job and uses the video created by that output for processing instead of the input file. Using source in conjunction with a type of "transfer-only" allows transferring a single output video to a second url. Useful for sending a single video to multiple destinations.
    - `speed` integer — A target transcoding speed. Slower transcoding allows for more advanced file compression, while faster transcoding is possible by skipping some advanced compression features. Valid values are 1-5. Note: at the moment, *only H.264 output has five speed levels. For VP6 content, 1-2 are a slower mode, and 3-5 are a faster mode. Other video codecs do not support this setting at all.*
    - `start_clip` string — Create a subclip of the original video, starting at a particular time. This can either be a timecode with a format of HH:MM:SS.S, or a decimal expressing the number of seconds to start at. Note that the actual start time may not be perfectly exact, depending on the arrangement of keyframes within the video. Valid Values: A timecode (HH:MM:SS.S), or a positive number representing a number of seconds Examples: * 00:00:10.0 * 01:31:08.3 * 60 * 12.5
    - `streaming_delivery_format` string — Sets the format/protocol for an output that will be delivered using a specific streaming configuration, including necessary manifests, directory structures, or other packaging. For 'dash' outputs, this will also change the default segment_seconds to 2, enforce fixed keyframe intervals, include an MPD manifest, and create a directory structure with initialization and segment files.
    - `streaming_delivery_profile` string — Sets the profile of the streaming delivery format, ensuring options are selected for compatibility with the profile. Valid options depend on the selected streaming_delivery_format. For 'dash' outputs, the currently supported profiles are: <ul> <li>`live` - Will set the DASH profile to "urn:mpeg:dash:profile:isoff-live:2011" and use a single SegmentTemplate for each AdaptationSet. For DRM, it will use an 8-byte IV, and for PlayReady will use version 1.1, including a PSSH atom in the media.</li> <li>`hbbtv_1.5` - Will set the DASH profile to "urn:hbbtv:dash:profile:isoff-live:2012" and include required attributes for audio and video representations. For DRM, it will use a 16-byte IV, and for PlayReady will use version 1.0, excluding PSSH atoms.</li> <li>`on_demand` - Will set the DASH profile to "urn:mpeg:dash:profile:isoff-on-demand:2011" and encode media as single fragmented files for each stream rather than segmenting them. Otherwise the same as live profile.</li> </ul>
    - `streams` Stream[] — Provides a list of stream info to be reformatted as a playlist.
      - `path` string — String containing an absolute or relative path to a stream manifest file. *Note: Required for each stream for HLS, Microsoft Smooth Streaming, and Highwinds SMIL playlists.*
      - `bandwidth` integer — Specifies the bandwidth (kbps) of a playlist stream. Overrides bandwidth determined from a `source`. *Note: Required for each stream for HLS and Highwinds SMIL playlists, unless a `source` is provided.*
      - `resolution` string — Specifies the resolution of a playlist stream. Overrides resolution determined from a `source`. Valid Values: String containing width and height as: '800x600'
      - `codecs` string — Specifies the codecs used in a playlist stream. Overrides codecs determined from a `source`. String containing codecs in HTML5 format, such as: `mp4a.40.2`
      - `audio` string — Specifies an alternate audio track for the playlist. String containing the name of the audio GROUP-ID to use. This value must have been defined as an `alternate_audio` grouping. The codecs setting should reflect all `codecs` of the alternate audio group.
      - `source` string — References a label on a `media` output of the same job, to fill in the corresponding data in the playlist. For HLS, the bandwidth, codecs, and resolution values are inferred from the source by default. Any bandwidth, codecs, or resolution values specified for the same stream will override the inferred values. **`source` is not compatible with SMIL outputs.**
    - `strict` boolean — Enable strict mode. By default, we will try to correct encoding problems for you. This is called "compatible" mode. For example, if you set a video bitrate that is too low for our encoder, we will automatically correct and use the lowest possible bitrate. So if you ask for a bitrate of 150kbps, but the encoder can't do anything lower than 200kbps, we will automatically encode the video at 200kbps for you. If you enable "strict" mode, we will not correct encoding settings like these. Instead, we will fail the job, because we cannot meet your target spec.
    - `thumbnails` union — For every output, you can ask for one or more thumbnails. Each output can have its own sets of thumbnails with unique size, base_url, and access_control set. Multiple sets of thumbnails can be created for a single output by passing multiple thumbnail hashes within an array. If thumbnail options are passed in an array, a label must be set for set. Set S3 access_control using the same options as you use for output videos. Thumbnails are limited to 100 per-set. If more thumbnails would be generated given the options requested a warning will be added to the output and creation of thumbnails will stop when the limit is reached. **Note:** There is no such thing as a thumbnail-only job. Specifying an output with just thumbnails will also create a billable, full-length mp4 with our default transcoding settings and upload it to temporary storage.
      - Thumbnail[]
        - `label` string — A name for the thumbnail set. Required when requesting thumbnail sets in an array.
        - `format` 'png' | 'jpg' — The format of the thumbnail image.
        - `public` boolean — By default, files put into a S3 bucket are not publicly readable. Instead, we use the canned access policy of [bucket-owner-full-control](http://docs.amazonwebservices.com/AmazonS3/latest/index.html?RESTAccessPolicy.html). This is true even if the bucket itself is publicly readable - a S3 bucket policy is not automatically inherited by new files added to the bucket. Use the public API setting to flag a file output to S3 as being publicly readable. This is done by granting the READ permission to the AllUsers group. This setting applies to both output video files and output thumbnails. By default, permissions set on an output file also apply to thumbnails. Setting `access_control` will override this setting. An alternative to manual permissions would be to use a [bucket policy](http://awspolicygen.s3.amazonaws.com/policygen.html). [More information](http://docs.amazonwebservices.com/AmazonS3/latest/dev/) from the Amazon S3 docs.
      - Thumbnail — Hash of thumbnail properties
        - `label` string — A name for the thumbnail set. Required when requesting thumbnail sets in an array.
        - `format` 'png' | 'jpg' — The format of the thumbnail image.
        - `public` boolean — By default, files put into a S3 bucket are not publicly readable. Instead, we use the canned access policy of [bucket-owner-full-control](http://docs.amazonwebservices.com/AmazonS3/latest/index.html?RESTAccessPolicy.html). This is true even if the bucket itself is publicly readable - a S3 bucket policy is not automatically inherited by new files added to the bucket. Use the public API setting to flag a file output to S3 as being publicly readable. This is done by granting the READ permission to the AllUsers group. This setting applies to both output video files and output thumbnails. By default, permissions set on an output file also apply to thumbnails. Setting `access_control` will override this setting. An alternative to manual permissions would be to use a [bucket policy](http://awspolicygen.s3.amazonaws.com/policygen.html). [More information](http://docs.amazonwebservices.com/AmazonS3/latest/dev/) from the Amazon S3 docs.
    - `transfer_maximum_rate` integer — Sets a transfer rate ceiling to use during file transfer with Aspera. This does not guarantee the rate will be reached, but if bandwidth is available then file transfer will not go above this speed. Setting maximum transfer rate is recommended when encoding a large number of jobs simultaneously, to avoid overwhleming the source and destination servers with traffic. This must be greater than `transfer_minimum_rate`.
    - `transfer_minimum_rate` integer — Sets a transfer rate floor to use during file transfer with Aspera. This does not guarantee the rate will be reached, but if bandwidth is available then file transfer will not go below this speed. This must be less than `transfer_maximum_rate`.
    - `ts_audio_pid` integer — Override the packet id of audio data. Only for use with broadcast ts.
    - `ts_cbr` boolean — Create CBR output by stuffing packets at the transport stream layer. This is required for fully compliant broadcast streams but may create significantly larger files. Only for use with broadcast ts.
    - `ts_muxrate` integer — The maximum rate in kbps that the transport stream can be muxed. Used with the ts format only.
    - `ts_pcr_pid` integer — Override the packet id of the Program Clock Reference. Only for use with broadcast ts.
    - `ts_pmt_pid` integer — Override the packet id of the Program Map Table. Only for use with broadcast ts.
    - `ts_video_pid` integer — Override the packet id of video data. Only for use with broadcast ts.
    - `type` 'standard' | 'segmented' | 'playlist' | 'transfer-only' | 'cae' | 'captions' — The type of file to output
    - `upscale` boolean — By default, Zencoder will not increase the size of (or “upscale”) an input video to match the width and height you specify in an API request. Generally, upscaling a video just increases the size, but doesn’t really increase the quality. Your playback device (Flash, HTML5 Video, iPhone, etc.) can increase the size of a video rather than having the encoder do it. But if you do want to force Zencoder to increase the size of an input video, set “upscale” to true. If you do, an input video that is smaller than the output resolution will expand to fit the resolution. For example, if your output spec is 480×360, and someone submits a video that is 320×240, the video will be upsized to 480×360 if you set this option to true, and will remain at 320×240 otherwise.
    - `url` string — A S3, Cloud Files, GCS, FTP, FTPS, SFTP, Aspera, Azure or HTTP URL where Zencoder will put the transcoded file
    - `video_bitrate` integer — The desired output bitrate for a video, expressed in kbps. This results in a predictable output bitrate, but not predictable quality. For example, at 640x480, 500kbps might be enough for a video blog to look good, but an action movie might look bad at the same bitrate. Similarly, it might be too high for a screencast, resulting in a file that is larger than it needs to be. If a reliable bitrate is more important than reliable quality, choose video_bitrate. If a reliable visual quality is more important, use quality instead. video_bitrate uses two-pass, variable bitrate (VBR) encoding. one_pass encoding may be triggered via the one_pass option, though one_pass VBR encoding is typically of poor quality, and only results in a small speedup, so this is not recommended. Also keep in mind that bitrates that are too high or too low are unusable. By default, if you specify a bitrate that is too low, we will automatically correct to an acceptable bitrate. Enable strict mode if you would prefer a job to fail in this situation rather than auto-correcting.
    - `video_codec` 'h264' | 'hevc' | 'jp2' | 'mpeg4' | 'theora' | 'vp6' | 'vp8' | 'vp9' | 'wmv' — 'The output video codec to use. Zencoder currently supports the following codecs: h264 (default), hevc, jp2, theora, vp6, vp8, vp9, mpeg4, and wmv. By default, determined by the format, profile, or audio_codec. h264 if none are provided. Compatibility: * `h264` is compatible with aac (default) and mp3 audio and the mp4 (default), m4f, flv, or 3gp formats * `hevc` is compatible with aac (default) or mp3 audio and the mp4 or m4f formats. * `vp9` is compatible with vorbis audio and the webm format * `vp8` is compatible with vorbis audio and the webm format * `vp6` is compatible with mp3 (default) or aac audio, and the flv format * `theora` is compatible with vorbis audio and the ogg format * `mpeg4` is compatible with aac (default) and mp3 audio, and the mp4 (default) or 3gp formats * `wmv` is compatible with wma (default) or mp3 audio, and the wmv format * `jp2` is compatible with pcm audio and the mj2 format.'
    - `video_codec_preset` 'avci_50' | 'avci_100' — Video encoding preset to allow compatibility with specific industry standards. Standards: * avci_50 is AVC 10-bit intra-frame only compression. 50 Mbit/s, High 10 Intra Profile, Level 3.2, 4. See SMTP RP 2027:2007. * avci_100 is AVC 10-bit intra-frame only compression. 100 Mbit/s, High 4:2:2 Intra Profile, Level 4.1. See SMTP RP 2027:2007.
    - `vp6_2pass_min_section` integer — For two-pass VBR encoding, this controls the lowest datarate that the encoder will allow for any section, no matter how easy the section is. This value is used to prevent difficult sections from stealing too many bits from easy sections. Expressed as a percentage, as an integer. For example, if `video_bitrate` is set to `1000` kbps and `vp6_2_pass_min_section` is set to `50`, the lowest bitrate of any section will be 500kbps (`1000 * 50%`).
    - `vp6_compression_mode` 'good' | 'best' — Affects the speed of encoding, compared to the quality of output. `good` balances speed and quality. `best` prioritizes quality over speed, resulting in higher compression but slower encoding. If you set speed to 1 or 2 and use VP6, we will use the `best` mode; otherwise, we use `good`.
    - `vp6_deinterlace_mode` 'adaptive' | 'blur' | 'drop' — If `deinterlace` is enabled, this option sets the deinterlacing filter that will be applied. Valid options are `adaptive`, `blur` (for 1:2:1 Blur deinterlacing), and `drop` (for Drop Field deinterlacing).
    - `vp6_denoise_level` number — Specifies the noise level of the source. Any value greater than 0 implies a constant and known level of noise within the source. A value of 0 will cause the filter to estimate the noise level, allowing it to vary from frame to frame. Larger noise levels indicate a noisier source resulting in increased removal by the filter, at the cost of sharpness.
    - `vp6_profile` 'vp6e' | 'vp6s' — Either `vp6s` or `vp6e`. vp6e is designed for general use. vp6s is optimized for high resolution/datarate video by decreasing decoding complexity, which allows playback on resource constrained machines.
    - `vp6_stream_max_buffer` integer — The maximum size of the buffer, in seconds. Valid for `constant_bitrate` encoding only.
    - `vp6_stream_prebuffer` integer — Seconds of preload that are necessary before starting playback. The buffer is used to maintain a consistent datarate and minimize playback interruption. Valid for `constant_bitrate` encoding only.
    - `vp6_temporal_down_watermark` integer — Codec parameter for temporal down watermark percentage. Specifies the percentage of the datarate buffer remaining below which the encoder is allowed to start dropping frames. Only used if `vp6_temporal_resampling` is enabled. A larger percentage will make it more likely frames will be dropped to achieve the requested video bitrate. The converse is also true.
    - `vp6_temporal_resampling` boolean — Codec parameter for temporal resampling. In particularly difficult regions, if enabled, the encoder will drop frames to achieve the target the data rate. The value of `vp6_temporal_down_watermark` determines the percentage of the datarate buffer below which the encoder is enabled to start dropping frames. Default is true on files using a low number of bits per pixel, and false on files using a high number of bits per pixel. To calculate, divide the video_bitrate in bits per second by `width * height * frame_rate`. If this number is below 0.07, `vp6_temporal_resampling` will default to true. For example: 600,000 bits per second (about 600 kbps) divided by (`640x480 * 30 fps`) = 0.065, so in this case, `vp6_temporal_resampling` would be on. Note: when using `constant_bitrate` mode, this option is forced to true. Adjust `vp6_temporal_down_watermark` to adjust results.
    - `vp6_undershoot_pct` integer — Creates output that targets a slightly lower datarate so there are bits available in the buffer to improve difficult sections. This is a percentage, so valid values are 0-100.
    - `watermarks` union — You can add one or more watermarks to an output video using our watermarking API. Zencoder supports up to 4 watermark files per output in GIF, JPEG, BMP, or PNG format. **Note:** 32 bit RGB+alpha and 64-bit RGB+alpha watermark images are not supported. Watermarks that extend beyond the edges of the video will not be applied. A warning will be raised on the output if this occurs. **Note:** When using the VP6 codec there are some additional limitations. You may only apply one watermark to the video (if passed multiple watermarks only the first will be used). Additionally, watermark scaling is not supported and the watermark image must be a PNG file.
      - Watermark[]
        - `url` string — A valid URL of a remote image file to use as a watermark. Use the input URL syntax. Supports S3, GCS, Cloud Files, HTTP/S, FTP, and SFTP, with or without authentication. Zencoder supports watermark files in GIF, JPEG, BMP, or PNG format. For transparent watermarks, use PNGs with alpha or index transparency. **Supported PNG Formats** - 8-bit RGB - 8-bit RGB+Alpha - 8-bit Grayscale - 8-bit Indexed - 8-bit Indexed+Transparency - 16-bit RGB - 16-bit Grayscale **Unsupported PNG Formats** - 8-bit Grayscale+Alpha - 16-bit Grayscale+Alpha - 16-bit RGB+Alpha
        - `x` union — Where to place the watermark within the video, on the x axis (left/right). Can be a number of pixels (e.g. `100` or `-20`), a percent of the video width (e.g. `25%` or `-5%`), or `centered` to align the watermark to the center of the video. Use a positive number to place relative to the left side of the video, and a negative number to place relative to the right side of the video. Use "-0" (as a *string*) to lock to the right side. By default, position is based on the visible content area, not including any padding. Use `origin` to set watermark position based on the full output.
          - string
          - integer
        - `y` union — Where to place the watermark within the video, on the y axis (top/bottom). Can be a number of pixels (e.g. `100` or `-20`), a percent of the video width (e.g. `25%` or `-5%`), or `centered` to align the watermark to the center of the video. Use a positive number to place relative to the left side of the video, and a negative number to place relative to the right side of the video. Use "-0" (as a *string*) to lock to the bottom. By default, position is based on the visible content area, not including any padding. Use `origin` to set watermark position based on the full output.
          - string
          - integer
        - `width` union — The width of the watermark, expressed as a number of pixels (e.g. `64`) or as a percent of the video width (e.g. `10%`). If `height` is provided, but not `width`, the watermark image will be scaled proportionately. Note that percentage values must be strings - pixel values may be strings or numbers.
          - string
          - integer
        - `height` union — The height of the watermark, expressed as a number of pixels (e.g. `64`) or as a percent of the video width (e.g. `10%`). If `width` is provided, but not `height`, the watermark image will be scaled proportionately.
          - string
          - integer
        - `origin` 'content' | 'frame' — The part of the video to base the watermark's positioning on. This only affects jobs where aspect_mode is 'pad'. - `frame` bases the placement on the full resolution of the output, including any padding. - `content` bases the placement on the visible content area, not including padding.
        - `opacity` number — Make the watermark transparent by setting an opacity value between `0.0` (transparent) and `1.0` (opaque).
      - Watermark — Hash of watermark properties
        - `url` string — A valid URL of a remote image file to use as a watermark. Use the input URL syntax. Supports S3, GCS, Cloud Files, HTTP/S, FTP, and SFTP, with or without authentication. Zencoder supports watermark files in GIF, JPEG, BMP, or PNG format. For transparent watermarks, use PNGs with alpha or index transparency. **Supported PNG Formats** - 8-bit RGB - 8-bit RGB+Alpha - 8-bit Grayscale - 8-bit Indexed - 8-bit Indexed+Transparency - 16-bit RGB - 16-bit Grayscale **Unsupported PNG Formats** - 8-bit Grayscale+Alpha - 16-bit Grayscale+Alpha - 16-bit RGB+Alpha
        - `x` union — Where to place the watermark within the video, on the x axis (left/right). Can be a number of pixels (e.g. `100` or `-20`), a percent of the video width (e.g. `25%` or `-5%`), or `centered` to align the watermark to the center of the video. Use a positive number to place relative to the left side of the video, and a negative number to place relative to the right side of the video. Use "-0" (as a *string*) to lock to the right side. By default, position is based on the visible content area, not including any padding. Use `origin` to set watermark position based on the full output.
          - string
          - integer
        - `y` union — Where to place the watermark within the video, on the y axis (top/bottom). Can be a number of pixels (e.g. `100` or `-20`), a percent of the video width (e.g. `25%` or `-5%`), or `centered` to align the watermark to the center of the video. Use a positive number to place relative to the left side of the video, and a negative number to place relative to the right side of the video. Use "-0" (as a *string*) to lock to the bottom. By default, position is based on the visible content area, not including any padding. Use `origin` to set watermark position based on the full output.
          - string
          - integer
        - `width` union — The width of the watermark, expressed as a number of pixels (e.g. `64`) or as a percent of the video width (e.g. `10%`). If `height` is provided, but not `width`, the watermark image will be scaled proportionately. Note that percentage values must be strings - pixel values may be strings or numbers.
          - string
          - integer
        - `height` union — The height of the watermark, expressed as a number of pixels (e.g. `64`) or as a percent of the video width (e.g. `10%`). If `width` is provided, but not `height`, the watermark image will be scaled proportionately.
          - string
          - integer
        - `origin` 'content' | 'frame' — The part of the video to base the watermark's positioning on. This only affects jobs where aspect_mode is 'pad'. - `frame` bases the placement on the full resolution of the output, including any padding. - `content` bases the placement on the visible content area, not including padding.
        - `opacity` number — Make the watermark transparent by setting an opacity value between `0.0` (transparent) and `1.0` (opaque).
    - `width` integer — Video frame width. If no width is supplied, we will use the original width, or scale to size or height setting. **Values must be divisible by 4.** Note that width and height take precedence over size.

## Response `200`

A list of videos.

- CreateJobResponse — Success response for job creation
  - `id` integer — The job id, an integer in the 64-bit range.
  - `outputs` object[] — Details on each output rendition of the Live job.
    - `id` integer — The unique id for the rendition, an integer in the 64-bit range.
    - `url` string — URL for the media or manifest for the specified rendition (non-SSAI).
    - `label` string — Label for the output (from the input)

## Other responses

- `403` — Forbidden
- `422` — Invalid query parameters
- `500` — Server error

## Changes

- **2023-01-19** `20ddcc8cd51a` — 4 info
  - added the new optional request property `outputs/items/cae_options`
  - request property `dynamic_profile_options` deprecated
  - request property `generate_dynamic_profile` deprecated
  - added the new `cae` enum value to the request property `outputs/items/type`
- **2022-04-10** `54b6c6f8d57a` — 1 warning
  - removed the request property `outputs/items/tuning`
- **2021-11-28** `9a9bf36380cb` — 4 info
  - added the new `en-NZ` enum value to the request property `outputs/items/audio_language`
  - added the new `en-ZA` enum value to the request property `outputs/items/audio_language`
  - added the new `th-TH` enum value to the request property `outputs/items/audio_language`
  - added the new `zh-TW` enum value to the request property `outputs/items/audio_language`
- **2021-11-10** `36774db2e6cb` — 2 info
  - added the new optional request property `outputs/items/include_transcription_json`
  - added the new optional request property `outputs/items/transcription_filename`
- **2021-09-22** `cf2898ca787d` — 5 info
  - added the new optional request property `outputs/items/audio_language`
  - added the new optional request property `outputs/items/caption_from_audio_transcription`
  - added the new optional request property `outputs/items/select_audio_language`
  - added the new optional request property `outputs/items/select_audio_service_type`
  - …1 more

[Full history](https://skmtc.dev/brightcovelearning/apis/zencoder-api/changes/jobs/post.md)

---

[API](https://skmtc.dev/brightcovelearning/apis/zencoder-api.md) · [All operations](https://skmtc.dev/brightcovelearning/apis/zencoder-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/brightcovelearning/zencoder-api/revisions/1c9ad03e166e/schema)
