swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: This Swagger was generated by the API Framework.
  title: Azure Media Services
  version: 2018-07-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/Encoding.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: mediaservices-Encoding
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: Impersonate your user account
    type: oauth2
parameters:
  ApiVersion:
    description: The Version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  MediaServicesAccountName:
    description: The Media Services account name.
    in: path
    name: accountName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupName:
    description: The name of the resource group within the Azure subscription.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: The unique identifier for a Microsoft Azure subscription.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms":
    get:
      description: Lists the Transforms in the account.
      operationId: Transforms_List
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - $ref: "#/parameters/ApiVersion"
        - description: Restricts the set of items returned.
          in: query
          name: $filter
          required: false
          type: string
        - description: Specifies the key by which the result collection should be ordered.
          in: query
          name: $orderby
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/TransformCollection"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Transforms
      x-ms-examples:
        Lists the Transforms:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode
                    name: sampleEncode
                    properties:
                      created: 2018-07-26T19:11:48.9717921-07:00
                      description: A sample Transform using the Standard Encoder with a built in preset.
                      lastModified: 2018-07-26T19:11:48.9717921-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                            presetName: AdaptiveStreaming
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex
                    name: sampleEncodeAndVideoIndex
                    properties:
                      created: 2018-07-26T19:11:48.9767793-07:00
                      description: A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.
                      lastModified: 2018-07-26T19:11:48.9767793-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset"
                            insightsToExtract: AllInsights
                          relativePriority: Normal
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                            presetName: AdaptiveStreaming
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
        Lists the Transforms filter by created:
          parameters:
            $filter: properties/created gt 2018-09-27T22:56:07.7621546Z and properties/created le 2018-09-27T22:56:17.7621546Z
            $orderby: properties/created
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex
                    name: sampleEncodeAndVideoIndex
                    properties:
                      created: 2018-09-27T22:56:17.7621546-07:00
                      description: A sample Transform using the Video Analyzer.
                      lastModified: 2018-09-27T22:56:17.7621546-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset"
                            insightsToExtract: AllInsights
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
        Lists the Transforms filter by lastmodified:
          parameters:
            $filter: properties/lastmodified gt 2018-09-27T22:56:07.7840953Z and properties/lastmodified le 2018-09-27T22:56:17.7840953Z
            $orderby: properties/lastmodified desc
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex
                    name: sampleEncodeAndVideoIndex
                    properties:
                      created: 2018-09-27T22:56:17.7840953-07:00
                      description: A sample Transform using the Video Analyzer.
                      lastModified: 2018-09-27T22:56:17.7840953-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset"
                            insightsToExtract: AllInsights
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
        Lists the Transforms filter by name:
          parameters:
            $filter: (name eq 'sampleEncode') or (name eq 'sampleEncodeAndVideoIndex')
            $orderby: name desc
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex
                    name: sampleEncodeAndVideoIndex
                    properties:
                      created: 2018-09-27T22:56:07.5846087-07:00
                      description: A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.
                      lastModified: 2018-09-27T22:56:07.5846087-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset"
                            insightsToExtract: AllInsights
                          relativePriority: Normal
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                            presetName: AdaptiveStreaming
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode
                    name: sampleEncode
                    properties:
                      created: 2018-09-27T22:56:07.5846087-07:00
                      description: A sample Transform using the Standard Encoder with a built in preset.
                      lastModified: 2018-09-27T22:56:07.5846087-07:00
                      outputs:
                        - onError: StopProcessingJob
                          preset:
                            "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                            presetName: AdaptiveStreaming
                          relativePriority: Normal
                    type: Microsoft.Media/mediaservices/transforms
      x-ms-odata: "#/definitions/Transform"
      x-ms-pageable:
        nextLinkName: "@odata.nextLink"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}":
    delete:
      description: Deletes a Transform.
      operationId: Transforms_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Delete Transform
      x-ms-examples:
        Delete a Transform:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: sampleTransform
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets a Transform.
      operationId: Transforms_Get
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Transform"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get Transform
      x-ms-examples:
        Get a Transform by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: sampleTransform
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleTransform
                name: sampleTransform
                properties:
                  created: 2018-08-08T16:29:57.8095562-04:00
                  description: A sample Transform using the Standard Encoder with a built in preset.
                  lastModified: 2018-08-08T16:29:57.8095562-04:00
                  outputs:
                    - onError: StopProcessingJob
                      preset:
                        "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                        presetName: H264MultipleBitrate1080p
                      relativePriority: Normal
                type: Microsoft.Media/mediaservices/transforms
            "404": {}
    patch:
      description: Updates a Transform.
      operationId: Transforms_Update
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Transform"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Transform"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Update Transform
      x-ms-examples:
        Update a Transform.:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                description: Example transform to illustrate update.
                outputs:
                  - preset:
                      "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                      presetName: H264MultipleBitrate720p
                    relativePriority: High
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: transformToUpdate
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/transformToUpdate
                name: transformToUpdate
                properties:
                  created: 2019-05-29T17:01:44.2001108-07:00
                  description: Example transform to illustrate update.
                  lastModified: 2019-05-29T17:01:44.2761137-07:00
                  outputs:
                    - onError: StopProcessingJob
                      preset:
                        "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                        presetName: H264MultipleBitrate720p
                      relativePriority: High
                type: Microsoft.Media/mediaservices/transforms
    put:
      description: Creates or updates a new Transform.
      operationId: Transforms_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Transform"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Transform"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/Transform"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Create or Update Transform
      x-ms-examples:
        Create or update a Transform:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                description: Example Transform to illustrate create and update.
                outputs:
                  - preset:
                      "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                      presetName: AdaptiveStreaming
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: createdTransform
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform
                name: createdTransform
                properties:
                  created: 2019-05-29T17:01:44.0571152-07:00
                  description: Example Transform to illustrate create and update.
                  lastModified: 2019-05-29T17:01:44.0571152-07:00
                  outputs:
                    - onError: StopProcessingJob
                      preset:
                        "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                        presetName: AdaptiveStreaming
                      relativePriority: Normal
                type: Microsoft.Media/mediaservices/transforms
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform
                name: createdTransform
                properties:
                  created: 2019-05-29T17:01:44.0571152-07:00
                  description: Example Transform to illustrate create and update.
                  lastModified: 2019-05-29T17:01:44.0571152-07:00
                  outputs:
                    - onError: StopProcessingJob
                      preset:
                        "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset"
                        presetName: AdaptiveStreaming
                      relativePriority: Normal
                type: Microsoft.Media/mediaservices/transforms
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs":
    get:
      description: Lists all of the Jobs for the Transform.
      operationId: Jobs_List
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
        - description: Restricts the set of items returned.
          in: query
          name: $filter
          required: false
          type: string
        - description: Specifies the by which the result collection should be ordered.
          in: query
          name: $orderby
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/JobCollection"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Jobs
      x-ms-examples:
        Lists Jobs for the Transform filter by created.:
          parameters:
            $filter: properties/created ge 2018-09-27T22:56:18.5507138Z and properties/created le 2018-09-27T22:56:28.5507138Z
            $orderby: properties/created
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2
                    name: job2
                    properties:
                      correlationData: {}
                      created: 2018-09-27T22:56:18.5507138Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job2 input
                            files: []
                      lastModified: 2018-09-27T22:56:18.5507138Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job2 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3
                    name: job3
                    properties:
                      correlationData: {}
                      created: 2018-09-27T22:56:28.5507138Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job3 input
                            files: []
                      lastModified: 2018-09-27T22:56:28.5507138Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job3 output
                          label: example-custom-label
                          progress: 100
                          state: Finished
                      priority: Low
                      state: Finished
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists Jobs for the Transform filter by lastmodified.:
          parameters:
            $filter: properties/lastmodified ge 2018-09-27T22:56:18.5821662Z and properties/lastmodified le 2018-09-27T22:56:28.5821662Z
            $orderby: properties/lastmodified desc
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3
                    name: job3
                    properties:
                      correlationData: {}
                      created: 2018-09-27T22:56:28.5821662Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job3 input
                            files: []
                      lastModified: 2018-09-27T22:56:28.5821662Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job3 output
                          label: example-custom-label
                          progress: 100
                          state: Finished
                      priority: Low
                      state: Finished
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2
                    name: job2
                    properties:
                      correlationData: {}
                      created: 2018-09-27T22:56:18.5821662Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job2 input
                            files: []
                      lastModified: 2018-09-27T22:56:18.5821662Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job2 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists Jobs for the Transform filter by name and state.:
          parameters:
            $filter: name eq 'job3' and properties/state eq Microsoft.Media.JobState'finished'
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3
                    name: job3
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job3 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job3 output
                          label: example-custom-label
                          progress: 100
                          state: Finished
                      priority: Low
                      state: Finished
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists Jobs for the Transform filter by name.:
          parameters:
            $filter: name eq 'job1' or name eq 'job2'
            $orderby: name
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                    name: job1
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job1 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job1 output
                          label: example-custom-label
                          progress: 0
                          state: Queued
                      priority: Low
                      state: Queued
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2
                    name: job2
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job2 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job2 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists Jobs for the Transform filter by state equal.:
          parameters:
            $filter: properties/state eq Microsoft.Media.JobState'Processing'
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2
                    name: job2
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job2 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job2 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3
                    name: job3
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job3 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job3 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists Jobs for the Transform filter by state not equal.:
          parameters:
            $filter: properties/state ne Microsoft.Media.JobState'processing'
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                    name: job1
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job1 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job1 output
                          label: example-custom-label
                          progress: 0
                          state: Queued
                      priority: Low
                      state: Queued
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job4
                    name: job4
                    properties:
                      correlationData: {}
                      created: 0001-01-01T00:00:00Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job4 input
                            files: []
                      lastModified: 0001-01-01T00:00:00Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job4 output
                          label: example-custom-label
                          progress: 100
                          state: Finished
                      priority: Low
                      state: Finished
                    type: Microsoft.Media/mediaservices/transforms/jobs
        Lists all of the Jobs for the Transform.:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                    name: job1
                    properties:
                      correlationData: {}
                      created: 2018-08-08T16:29:58.0908004Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job1 input
                            files: []
                      lastModified: 2018-08-08T16:29:58.0908004Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job1 output
                          label: example-custom-label
                          progress: 0
                          state: Queued
                      priority: Low
                      state: Queued
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2
                    name: job2
                    properties:
                      correlationData: {}
                      created: 2018-08-08T16:29:58.0927994Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job2 input
                            files: []
                      lastModified: 2018-08-08T16:29:58.0927994Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job2 output
                          label: example-custom-label
                          progress: 50
                          state: Processing
                      priority: Low
                      state: Processing
                    type: Microsoft.Media/mediaservices/transforms/jobs
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3
                    name: job3
                    properties:
                      correlationData: {}
                      created: 2018-08-08T16:29:58.0927994Z
                      input:
                        "@odata.type": "#Microsoft.Media.JobInputs"
                        inputs:
                          - "@odata.type": "#Microsoft.Media.JobInputAsset"
                            assetName: job3 input
                            files: []
                      lastModified: 2018-08-08T16:29:58.0927994Z
                      outputs:
                        - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                          assetName: job3 output
                          label: example-custom-label
                          progress: 100
                          state: Finished
                      priority: Low
                      state: Finished
                    type: Microsoft.Media/mediaservices/transforms/jobs
      x-ms-odata: "#/definitions/Job"
      x-ms-pageable:
        nextLinkName: "@odata.nextLink"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}":
    delete:
      description: Deletes a Job.
      operationId: Jobs_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The Job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Delete Job
      x-ms-examples:
        Delete a Job:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            jobName: jobToDelete
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets a Job.
      operationId: Jobs_Get
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The Job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Job"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get Job
      x-ms-examples:
        Get a Job by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            jobName: job1
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                name: job1
                properties:
                  correlationData: {}
                  created: 2018-08-08T16:29:58.1798Z
                  input:
                    "@odata.type": "#Microsoft.Media.JobInputs"
                    inputs:
                      - "@odata.type": "#Microsoft.Media.JobInputAsset"
                        assetName: job1 input
                        files: []
                  lastModified: 2018-08-08T16:29:58.1798Z
                  outputs:
                    - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                      assetName: job1 output
                      label: example-custom-label
                      progress: 0
                      state: Queued
                  priority: Low
                  state: Queued
                type: Microsoft.Media/mediaservices/transforms/jobs
            "404": {}
    patch:
      description: Update is only supported for description and priority. Updating Priority will take effect when the Job state is Queued or Scheduled and depending on the timing the priority update may be ignored.
      operationId: Jobs_Update
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The Job name.
          in: path
          name: jobName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Job"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Job"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Update Job
      x-ms-examples:
        Update a Job:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            jobName: job1
            parameters:
              properties:
                description: Example job to illustrate update.
                priority: High
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                name: job1
                properties:
                  correlationData: {}
                  created: 2018-08-08T16:29:58.3218119Z
                  description: Example job to illustrate update.
                  input:
                    "@odata.type": "#Microsoft.Media.JobInputs"
                    inputs:
                      - "@odata.type": "#Microsoft.Media.JobInputAsset"
                        assetName: job1 input
                        files: []
                  lastModified: 2018-08-08T16:29:58.3368364Z
                  outputs:
                    - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                      assetName: job1 output
                      label: example-custom-label
                      progress: 0
                      state: Queued
                  priority: High
                  state: Queued
                type: Microsoft.Media/mediaservices/transforms/jobs
    put:
      description: Creates a Job.
      operationId: Jobs_Create
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The Job name.
          in: path
          name: jobName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Job"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "201":
          description: Created
          schema:
            $ref: "#/definitions/Job"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Create Job
      x-ms-examples:
        Create a Job:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            jobName: job1
            parameters:
              properties:
                correlationData:
                  Key 2: Value 2
                  key1: value1
                input:
                  "@odata.type": "#Microsoft.Media.JobInputAsset"
                  assetName: job1-InputAsset
                outputs:
                  - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                    assetName: job1-OutputAsset
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1
                name: job1
                properties:
                  correlationData:
                    Key 2: Value 2
                    key1: value1
                  created: 2018-08-08T16:29:58.2188352Z
                  input:
                    "@odata.type": "#Microsoft.Media.JobInputAsset"
                    assetName: job1-InputAsset
                    files: []
                  lastModified: 2018-08-08T16:29:58.2188352Z
                  outputs:
                    - "@odata.type": "#Microsoft.Media.JobOutputAsset"
                      assetName: job1-OutputAsset
                      label: BuiltInStandardEncoderPreset_0
                      progress: 0
                      state: Queued
                  priority: Normal
                  state: Queued
                type: Microsoft.Media/mediaservices/transforms/jobs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob":
    post:
      description: Cancel a Job.
      operationId: Jobs_CancelJob
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Transform name.
          in: path
          name: transformName
          required: true
          type: string
        - description: The Job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Cancel Job
      x-ms-examples:
        Cancel a Job:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            jobName: job1
            resourceGroupName: contosoresources
            subscriptionId: 00000000-0000-0000-0000-000000000000
            transformName: exampleTransform
          responses:
            "200": {}
definitions:
  AacAudio:
    allOf:
      - $ref: "#/definitions/Audio"
    description: Describes Advanced Audio Codec (AAC) audio encoding settings.
    properties:
      profile:
        description: The encoding profile to be used when encoding audio with AAC.
        enum:
          - AacLc
          - HeAacV1
          - HeAacV2
        type: string
        x-ms-enum:
          modelAsString: true
          name: AacAudioProfile
          values:
            - description: Specifies that the output audio is to be encoded into AAC Low Complexity profile (AAC-LC).
              value: AacLc
            - description: Specifies that the output audio is to be encoded into HE-AAC v1 profile.
              value: HeAacV1
            - description: Specifies that the output audio is to be encoded into HE-AAC v2 profile.
              value: HeAacV2
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.AacAudio"
  AbsoluteClipTime:
    allOf:
      - $ref: "#/definitions/ClipTime"
    description: Specifies the clip time as an absolute time position in the media file.  The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not.
    properties:
      time:
        description: The time position on the timeline of the input media. It is usually specified as an ISO8601 period. e.g PT30S for 30 seconds.
        format: duration
        type: string
    required:
      - time
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.AbsoluteClipTime"
  ApiError:
    description: The API error.
    properties:
      error:
        $ref: "#/definitions/ODataError"
        description: The error properties.
    type: object
  Audio:
    allOf:
      - $ref: "#/definitions/Codec"
    description: Defines the common properties for all audio codecs.
    properties:
      bitrate:
        description: The bitrate, in bits per second, of the output encoded audio.
        format: int32
        type: integer
      channels:
        description: The number of channels in the audio.
        format: int32
        type: integer
      samplingRate:
        description: The sampling rate to use for encoding in hertz.
        format: int32
        type: integer
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.Audio"
  AudioAnalyzerPreset:
    allOf:
      - $ref: "#/definitions/Preset"
    description: The Audio Analyzer preset applies a pre-defined set of AI-based analysis operations, including speech transcription. Currently, the preset supports processing of content with a single audio track.
    properties:
      audioLanguage:
        description: "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US').  The list of supported languages are English ('en-US' and 'en-GB'), Spanish ('es-ES' and 'es-MX'), French ('fr-FR'), Italian ('it-IT'), Japanese ('ja-JP'), Portuguese ('pt-BR'), Chinese ('zh-CN'), German ('de-DE'), Arabic ('ar-EG' and 'ar-SY'), Russian ('ru-RU'), Hindi ('hi-IN'), and Korean ('ko-KR'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. This language detection feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\""
        type: string
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.AudioAnalyzerPreset"
  AudioOverlay:
    allOf:
      - $ref: "#/definitions/Overlay"
    description: Describes the properties of an audio overlay.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.AudioOverlay"
  BuiltInStandardEncoderPreset:
    allOf:
      - $ref: "#/definitions/Preset"
    description: Describes a built-in preset for encoding the input video with the Standard Encoder.
    properties:
      presetName:
        description: The built-in preset to be used for encoding videos.
        enum:
          - H264SingleBitrateSD
          - H264SingleBitrate720p
          - H264SingleBitrate1080p
          - AdaptiveStreaming
          - AACGoodQualityAudio
          - ContentAwareEncodingExperimental
          - H264MultipleBitrate1080p
          - H264MultipleBitrate720p
          - H264MultipleBitrateSD
        type: string
        x-ms-enum:
          modelAsString: true
          name: EncoderNamedPreset
          values:
            - description: Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.
              value: H264SingleBitrateSD
            - description: Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.
              value: H264SingleBitrate720p
            - description: Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.
              value: H264SingleBitrate1080p
            - description: Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and audio in separate MP4 files, which is optimal for adaptive streaming.
              value: AdaptiveStreaming
            - description: Produces a single MP4 file containing only stereo audio encoded at 192 kbps.
              value: AACGoodQualityAudio
            - description: Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved.
              value: ContentAwareEncodingExperimental
            - description: Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 360p.
              value: H264MultipleBitrate1080p
            - description: Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 360p.
              value: H264MultipleBitrate720p
            - description: Produces a set of 5 GOP-aligned MP4 files, ranging from 1600 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 360p.
              value: H264MultipleBitrateSD
    required:
      - presetName
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.BuiltInStandardEncoderPreset"
  ClipTime:
    description: Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  Codec:
    description: Describes the basic properties of all codecs.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
      label:
        description: An optional label for the codec. The label can be used to control muxing behavior.
        type: string
    required:
      - "@odata.type"
    type: object
  CopyAudio:
    allOf:
      - $ref: "#/definitions/Codec"
    description: A codec flag, which tells the encoder to copy the input audio bitstream.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.CopyAudio"
  CopyVideo:
    allOf:
      - $ref: "#/definitions/Codec"
    description: A codec flag, which tells the encoder to copy the input video bitstream without re-encoding.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.CopyVideo"
  Deinterlace:
    description: Describes the de-interlacing settings.
    properties:
      mode:
        description: The deinterlacing mode. Defaults to AutoPixelAdaptive.
        enum:
          - Off
          - AutoPixelAdaptive
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeinterlaceMode
          values:
            - description: Disables de-interlacing of the source video.
              value: Off
            - description: Apply automatic pixel adaptive de-interlacing on each frame in the input video.
              value: AutoPixelAdaptive
      parity:
        description: The field parity for de-interlacing, defaults to Auto.
        enum:
          - Auto
          - TopFieldFirst
          - BottomFieldFirst
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeinterlaceParity
          values:
            - description: Automatically detect the order of fields
              value: Auto
            - description: Apply top field first processing of input video.
              value: TopFieldFirst
            - description: Apply bottom field first processing of input video.
              value: BottomFieldFirst
    type: object
  FaceDetectorPreset:
    allOf:
      - $ref: "#/definitions/Preset"
    description: Describes all the settings to be used when analyzing a video in order to detect all the faces present.
    properties:
      resolution:
        description: Specifies the maximum resolution at which your video is analyzed. The default behavior is "SourceResolution," which will keep the input video at its original resolution when analyzed. Using "StandardDefinition" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to "StandardDefinition" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected.
        enum:
          - SourceResolution
          - StandardDefinition
        type: string
        x-ms-enum:
          modelAsString: true
          name: AnalysisResolution
          values:
            - value: SourceResolution
            - value: StandardDefinition
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.FaceDetectorPreset"
  Filters:
    description: Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding.
    properties:
      crop:
        $ref: "#/definitions/Rectangle"
        description: The parameters for the rectangular window with which to crop the input video.
      deinterlace:
        $ref: "#/definitions/Deinterlace"
        description: The de-interlacing settings.
      overlays:
        description: The properties of overlays to be applied to the input video. These could be audio, image or video overlays.
        items:
          $ref: "#/definitions/Overlay"
        type: array
      rotation:
        description: The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto
        enum:
          - Auto
          - None
          - Rotate0
          - Rotate90
          - Rotate180
          - Rotate270
        type: string
        x-ms-enum:
          modelAsString: true
          name: Rotation
          values:
            - description: Automatically detect and rotate as needed.
              value: Auto
            - description: Do not rotate the video.  If the output format supports it, any metadata about rotation is kept intact.
              value: None
            - description: Do not rotate the video but remove any metadata about the rotation.
              value: Rotate0
            - description: Rotate 90 degrees clockwise.
              value: Rotate90
            - description: Rotate 180 degrees clockwise.
              value: Rotate180
            - description: Rotate 270 degrees clockwise.
              value: Rotate270
    type: object
  Format:
    description: Base class for output.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
      filenamePattern:
        description: "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename."
        type: string
    required:
      - "@odata.type"
      - filenamePattern
    type: object
  H264Layer:
    allOf:
      - $ref: "#/definitions/VideoLayer"
    description: Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec.
    properties:
      bufferWindow:
        description: The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S).
        format: duration
        type: string
      entropyMode:
        description: The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level.
        enum:
          - Cabac
          - Cavlc
        type: string
        x-ms-enum:
          modelAsString: true
          name: EntropyMode
          values:
            - description: Context Adaptive Binary Arithmetic Coder (CABAC) entropy encoding.
              value: Cabac
            - description: Context Adaptive Variable Length Coder (CAVLC) entropy encoding.
              value: Cavlc
      level:
        description: We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer.
        type: string
      profile:
        description: We currently support Baseline, Main, High, High422, High444. Default is Auto.
        enum:
          - Auto
          - Baseline
          - Main
          - High
          - High422
          - High444
        type: string
        x-ms-enum:
          modelAsString: true
          name: H264VideoProfile
          values:
            - description: Tells the encoder to automatically determine the appropriate H.264 profile.
              value: Auto
            - description: Baseline profile
              value: Baseline
            - description: Main profile
              value: Main
            - description: High profile.
              value: High
            - description: High 4:2:2 profile.
              value: High422
            - description: High 4:4:4 predictive profile.
              value: High444
      referenceFrames:
        description: The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting.
        format: int32
        type: integer
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.H264Layer"
  H264Video:
    allOf:
      - $ref: "#/definitions/Video"
    description: Describes all the properties for encoding a video with the H.264 codec.
    properties:
      complexity:
        description: Tells the encoder how to choose its encoding settings. The default value is Balanced.
        enum:
          - Speed
          - Balanced
          - Quality
        type: string
        x-ms-enum:
          modelAsString: true
          name: H264Complexity
          values:
            - description: Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time.
              value: Speed
            - description: Tells the encoder to use settings that achieve a balance between speed and quality.
              value: Balanced
            - description: Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time.
              value: Quality
      layers:
        description: The collection of output H.264 layers to be produced by the encoder.
        items:
          $ref: "#/definitions/H264Layer"
        type: array
      sceneChangeDetection:
        description: Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video.
        type: boolean
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.H264Video"
  Image:
    allOf:
      - $ref: "#/definitions/Video"
    description: Describes the basic properties for generating thumbnails from the input video
    properties:
      range:
        description: "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)."
        type: string
      start:
        description: "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video."
        type: string
      step:
        description: "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)."
        type: string
    required:
      - start
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.Image"
  ImageFormat:
    allOf:
      - $ref: "#/definitions/Format"
    description: Describes the properties for an output image file.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ImageFormat"
  Job:
    allOf:
      - allOf:
          - description: The core properties of ARM resources.
            properties:
              id:
                description: Fully qualified resource ID for the resource.
                readOnly: true
                type: string
              name:
                description: The name of the resource.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM proxy resource.
    description: A Job resource type. The progress and state can be obtained by polling a Job or subscribing to events using EventGrid.
    properties:
      properties:
        $ref: "#/definitions/JobProperties"
        description: The resource properties.
        x-ms-client-flatten: true
    type: object
  JobCollection:
    description: A collection of Job items.
    properties:
      "@odata.nextLink":
        description: A link to the next page of the collection (when the collection contains too many results to return in one response).
        type: string
      value:
        description: A collection of Job items.
        items:
          $ref: "#/definitions/Job"
        type: array
    type: object
  JobError:
    description: Details of JobOutput errors.
    properties:
      category:
        description: Helps with categorization of errors.
        enum:
          - Service
          - Download
          - Upload
          - Configuration
          - Content
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobErrorCategory
          values:
            - description: The error is service related.
              value: Service
            - description: The error is download related.
              value: Download
            - description: The error is upload related.
              value: Upload
            - description: The error is configuration related.
              value: Configuration
            - description: The error is related to data in the input files.
              value: Content
        x-nullable: false
      code:
        description: Error code describing the error.
        enum:
          - ServiceError
          - ServiceTransientError
          - DownloadNotAccessible
          - DownloadTransientError
          - UploadNotAccessible
          - UploadTransientError
          - ConfigurationUnsupported
          - ContentMalformed
          - ContentUnsupported
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobErrorCode
          values:
            - description: Fatal service error, please contact support.
              value: ServiceError
            - description: Transient error, please retry, if retry is unsuccessful, please contact support.
              value: ServiceTransientError
            - description: While trying to download the input files, the files were not accessible, please check the availability of the source.
              value: DownloadNotAccessible
            - description: While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source.
              value: DownloadTransientError
            - description: While trying to upload the output files, the destination was not reachable, please check the availability of the destination.
              value: UploadNotAccessible
            - description: While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination.
              value: UploadTransientError
            - description: There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration.
              value: ConfigurationUnsupported
            - description: "There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files."
              value: ContentMalformed
            - description: There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files.
              value: ContentUnsupported
        x-nullable: false
      details:
        description: An array of details about specific errors that led to this reported error.
        items:
          $ref: "#/definitions/JobErrorDetail"
        readOnly: true
        type: array
      message:
        description: A human-readable language-dependent representation of the error.
        readOnly: true
        type: string
      retry:
        description: Indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact Azure support via Azure Portal.
        enum:
          - DoNotRetry
          - MayRetry
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobRetry
          values:
            - description: Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected.
              value: DoNotRetry
            - description: Issue may be resolved after waiting for a period of time and resubmitting the same Job.
              value: MayRetry
        x-nullable: false
    type: object
  JobErrorDetail:
    description: Details of JobOutput errors.
    properties:
      code:
        description: Code describing the error detail.
        readOnly: true
        type: string
      message:
        description: A human-readable representation of the error.
        readOnly: true
        type: string
    type: object
  JobInput:
    description: Base class for inputs to a Job.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  JobInputAsset:
    allOf:
      - $ref: "#/definitions/JobInputClip"
    description: Represents an Asset for input into a Job.
    properties:
      assetName:
        description: The name of the input Asset.
        type: string
    required:
      - assetName
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JobInputAsset"
  JobInputClip:
    allOf:
      - $ref: "#/definitions/JobInput"
    description: Represents input files for a Job.
    properties:
      end:
        $ref: "#/definitions/ClipTime"
        description: Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
      files:
        description: List of files. Required for JobInputHttp. Maximum of 4000 characters each.
        items:
          type: string
        type: array
      label:
        description: A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
        type: string
      start:
        $ref: "#/definitions/ClipTime"
        description: Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JobInputClip"
  JobInputHttp:
    allOf:
      - $ref: "#/definitions/JobInputClip"
    description: Represents HTTPS job input.
    properties:
      baseUri:
        description: Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters.
        type: string
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JobInputHttp"
  JobInputs:
    allOf:
      - $ref: "#/definitions/JobInput"
    description: Describes a list of inputs to a Job.
    properties:
      inputs:
        description: List of inputs to a Job.
        items:
          $ref: "#/definitions/JobInput"
        type: array
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JobInputs"
  JobOutput:
    description: Describes all the properties of a JobOutput.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
      error:
        $ref: "#/definitions/JobError"
        description: If the JobOutput is in the Error state, it contains the details of the error.
        readOnly: true
      label:
        description: A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
        type: string
      progress:
        description: If the JobOutput is in a Processing state, this contains the Job completion percentage. The value is an estimate and not intended to be used to predict Job completion times. To determine if the JobOutput is complete, use the State property.
        format: int32
        readOnly: true
        type: integer
        x-nullable: false
      state:
        description: Describes the state of the JobOutput.
        enum:
          - Canceled
          - Canceling
          - Error
          - Finished
          - Processing
          - Queued
          - Scheduled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobState
          values:
            - description: The job was canceled. This is a final state for the job.
              value: Canceled
            - description: The job is in the process of being canceled. This is a transient state for the job.
              value: Canceling
            - description: The job has encountered an error. This is a final state for the job.
              value: Error
            - description: The job is finished. This is a final state for the job.
              value: Finished
            - description: The job is processing. This is a transient state for the job.
              value: Processing
            - description: The job is in a queued state, waiting for resources to become available. This is a transient state.
              value: Queued
            - description: The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states.
              value: Scheduled
        x-nullable: false
    required:
      - "@odata.type"
    type: object
  JobOutputAsset:
    allOf:
      - $ref: "#/definitions/JobOutput"
    description: Represents an Asset used as a JobOutput.
    properties:
      assetName:
        description: The name of the output Asset.
        type: string
    required:
      - assetName
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JobOutputAsset"
  JobProperties:
    description: Properties of the Job.
    properties:
      correlationData:
        additionalProperties:
          type: string
        description: Customer provided key, value pairs that will be returned in Job and JobOutput state events.
        type: object
      created:
        description: The UTC date and time when the Job was created, in 'YYYY-MM-DDThh:mm:ssZ' format.
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      description:
        description: Optional customer supplied description of the Job.
        type: string
      input:
        $ref: "#/definitions/JobInput"
        description: The inputs for the Job.
      lastModified:
        description: The UTC date and time when the Job was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      outputs:
        description: The outputs for the Job.
        items:
          $ref: "#/definitions/JobOutput"
        type: array
      priority:
        description: Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal.
        enum:
          - Low
          - Normal
          - High
        type: string
        x-ms-enum:
          modelAsString: true
          name: Priority
          values:
            - description: Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs.
              value: Low
            - description: Used for TransformOutputs that can be generated at Normal priority.
              value: Normal
            - description: Used for TransformOutputs that should take precedence over others.
              value: High
      state:
        description: The current state of the job.
        enum:
          - Canceled
          - Canceling
          - Error
          - Finished
          - Processing
          - Queued
          - Scheduled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobState
          values:
            - description: The job was canceled. This is a final state for the job.
              value: Canceled
            - description: The job is in the process of being canceled. This is a transient state for the job.
              value: Canceling
            - description: The job has encountered an error. This is a final state for the job.
              value: Error
            - description: The job is finished. This is a final state for the job.
              value: Finished
            - description: The job is processing. This is a transient state for the job.
              value: Processing
            - description: The job is in a queued state, waiting for resources to become available. This is a transient state.
              value: Queued
            - description: The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states.
              value: Scheduled
        x-nullable: false
    required:
      - input
      - outputs
    type: object
  JpgFormat:
    allOf:
      - $ref: "#/definitions/ImageFormat"
    description: Describes the settings for producing JPEG thumbnails.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JpgFormat"
  JpgImage:
    allOf:
      - $ref: "#/definitions/Image"
    description: Describes the properties for producing a series of JPEG images from the input video.
    properties:
      layers:
        description: A collection of output JPEG image layers to be produced by the encoder.
        items:
          $ref: "#/definitions/JpgLayer"
        type: array
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JpgImage"
  JpgLayer:
    allOf:
      - $ref: "#/definitions/Layer"
    description: Describes the settings to produce a JPEG image from the input video.
    properties:
      quality:
        description: The compression quality of the JPEG output. Range is from 0-100 and the default is 70.
        format: int32
        type: integer
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.JpgLayer"
  Layer:
    description: The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
      height:
        description: The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input.
        type: string
      label:
        description: The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file.
        type: string
      width:
        description: The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input.
        type: string
    required:
      - "@odata.type"
    type: object
  Mp4Format:
    allOf:
      - $ref: "#/definitions/MultiBitrateFormat"
    description: Describes the properties for an output ISO MP4 file.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.Mp4Format"
  MultiBitrateFormat:
    allOf:
      - $ref: "#/definitions/Format"
    description: Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection.
    properties:
      outputFiles:
        description: The list of output files to produce.  Each entry in the list is a set of audio and video layer labels to be muxed together .
        items:
          $ref: "#/definitions/OutputFile"
        type: array
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.MultiBitrateFormat"
  ODataError:
    description: Information about an error.
    properties:
      code:
        description: A language-independent error name.
        type: string
      details:
        description: The error details.
        items:
          $ref: "#/definitions/ODataError"
        type: array
      message:
        description: The error message.
        type: string
      target:
        description: The target of the error (for example, the name of the property in error).
        type: string
    type: object
  OutputFile:
    description: Represents an output file produced.
    properties:
      labels:
        description: The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1.
        items:
          type: string
        type: array
    required:
      - labels
    type: object
  Overlay:
    description: Base type for all overlays - image, audio or video.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
      audioGainLevel:
        description: The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0.
        format: double
        type: number
      end:
        description: The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media.
        format: duration
        type: string
      fadeInDuration:
        description: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S).
        format: duration
        type: string
      fadeOutDuration:
        description: The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S).
        format: duration
        type: string
      inputLabel:
        description: The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats.
        type: string
      start:
        description: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video.
        format: duration
        type: string
    required:
      - "@odata.type"
      - inputLabel
    type: object
  PngFormat:
    allOf:
      - $ref: "#/definitions/ImageFormat"
    description: Describes the settings for producing PNG thumbnails.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.PngFormat"
  PngImage:
    allOf:
      - $ref: "#/definitions/Image"
    description: Describes the properties for producing a series of PNG images from the input video.
    properties:
      layers:
        description: A collection of output PNG image layers to be produced by the encoder.
        items:
          $ref: "#/definitions/PngLayer"
        type: array
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.PngImage"
  PngLayer:
    allOf:
      - $ref: "#/definitions/Layer"
    description: Describes the settings to produce a PNG image from the input video.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.PngLayer"
  Preset:
    description: Base type for all Presets, which define the recipe or instructions on how the input media files should be processed.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  Rectangle:
    description: Describes the properties of a rectangular window applied to the input media before processing it.
    properties:
      height:
        description: The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
        type: string
      left:
        description: The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
        type: string
      top:
        description: The number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
        type: string
      width:
        description: The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
        type: string
    type: object
  StandardEncoderPreset:
    allOf:
      - $ref: "#/definitions/Preset"
    description: Describes all the settings to be used when encoding the input video with the Standard Encoder.
    properties:
      codecs:
        description: The list of codecs to be used when encoding the input video.
        items:
          $ref: "#/definitions/Codec"
        type: array
      filters:
        $ref: "#/definitions/Filters"
        description: One or more filtering operations that are applied to the input media before encoding.
      formats:
        description: The list of outputs to be produced by the encoder.
        items:
          $ref: "#/definitions/Format"
        type: array
    required:
      - codecs
      - formats
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.StandardEncoderPreset"
  Transform:
    allOf:
      - allOf:
          - description: The core properties of ARM resources.
            properties:
              id:
                description: Fully qualified resource ID for the resource.
                readOnly: true
                type: string
              name:
                description: The name of the resource.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM proxy resource.
    description: A Transform encapsulates the rules or instructions for generating desired outputs from input media, such as by transcoding or by extracting insights. After the Transform is created, it can be applied to input media by creating Jobs.
    properties:
      properties:
        $ref: "#/definitions/TransformProperties"
        description: The resource properties.
        x-ms-client-flatten: true
    type: object
  TransformCollection:
    description: A collection of Transform items.
    properties:
      "@odata.nextLink":
        description: A link to the next page of the collection (when the collection contains too many results to return in one response).
        type: string
      value:
        description: A collection of Transform items.
        items:
          $ref: "#/definitions/Transform"
        type: array
    type: object
  TransformOutput:
    description: Describes the properties of a TransformOutput, which are the rules to be applied while generating the desired output.
    properties:
      onError:
        description: A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'.
        enum:
          - StopProcessingJob
          - ContinueJob
        type: string
        x-ms-enum:
          modelAsString: true
          name: OnErrorType
          values:
            - description: Tells the service that if this TransformOutput fails, then any other incomplete TransformOutputs can be stopped.
              value: StopProcessingJob
            - description: Tells the service that if this TransformOutput fails, then allow any other TransformOutput to continue.
              value: ContinueJob
      preset:
        $ref: "#/definitions/Preset"
        description: Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output.
      relativePriority:
        description: Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal.
        enum:
          - Low
          - Normal
          - High
        type: string
        x-ms-enum:
          modelAsString: true
          name: Priority
          values:
            - description: Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs.
              value: Low
            - description: Used for TransformOutputs that can be generated at Normal priority.
              value: Normal
            - description: Used for TransformOutputs that should take precedence over others.
              value: High
    required:
      - preset
    type: object
  TransformProperties:
    description: A Transform.
    properties:
      created:
        description: The UTC date and time when the Transform was created, in 'YYYY-MM-DDThh:mm:ssZ' format.
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      description:
        description: An optional verbose description of the Transform.
        type: string
      lastModified:
        description: The UTC date and time when the Transform was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      outputs:
        description: An array of one or more TransformOutputs that the Transform should generate.
        items:
          $ref: "#/definitions/TransformOutput"
        type: array
    required:
      - outputs
    type: object
  TransportStreamFormat:
    allOf:
      - $ref: "#/definitions/MultiBitrateFormat"
    description: Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC 13818-1) output video file(s).
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.TransportStreamFormat"
  Video:
    allOf:
      - $ref: "#/definitions/Codec"
    description: Describes the basic properties for encoding the input video.
    properties:
      keyFrameInterval:
        description: The distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S).
        format: duration
        type: string
      stretchMode:
        description: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize
        enum:
          - None
          - AutoSize
          - AutoFit
        type: string
        x-ms-enum:
          modelAsString: true
          name: StretchMode
          values:
            - description: Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video.
              value: None
            - description: Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9.
              value: AutoSize
            - description: Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right.
              value: AutoFit
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.Video"
  VideoAnalyzerPreset:
    allOf:
      - $ref: "#/definitions/AudioAnalyzerPreset"
    description: A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file.
    properties:
      insightsToExtract:
        description: Defines the type of insights that you want the service to generate. The allowed values are 'AudioInsightsOnly', 'VideoInsightsOnly', and 'AllInsights'. The default is AllInsights. If you set this to AllInsights and the input is audio only, then only audio insights are generated. Similarly if the input is video only, then only video insights are generated. It is recommended that you not use AudioInsightsOnly if you expect some of your inputs to be video only; or use VideoInsightsOnly if you expect some of your inputs to be audio only. Your Jobs in such conditions would error out.
        enum:
          - AudioInsightsOnly
          - VideoInsightsOnly
          - AllInsights
        type: string
        x-ms-enum:
          modelAsString: true
          name: InsightsType
          values:
            - description: Generate audio only insights. Ignore video even if present. Fails if no audio is present.
              value: AudioInsightsOnly
            - description: Generate video only insights. Ignore audio if present. Fails if no video is present.
              value: VideoInsightsOnly
            - description: Generate both audio and video insights. Fails if either audio or video Insights fail.
              value: AllInsights
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.VideoAnalyzerPreset"
  VideoLayer:
    allOf:
      - $ref: "#/definitions/Layer"
    description: Describes the settings to be used when encoding the input video into a desired output bitrate layer.
    properties:
      adaptiveBFrame:
        description: Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use.
        type: boolean
      bFrames:
        description: The number of B-frames to be used when encoding this layer.  If not specified, the encoder chooses an appropriate number based on the video profile and level.
        format: int32
        type: integer
      bitrate:
        description: The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field.
        format: int32
        type: integer
      frameRate:
        description: The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video.
        type: string
      maxBitrate:
        description: The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate.
        format: int32
        type: integer
      slices:
        description: The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame.
        format: int32
        type: integer
    required:
      - bitrate
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.VideoLayer"
  VideoOverlay:
    allOf:
      - $ref: "#/definitions/Overlay"
    description: Describes the properties of a video overlay.
    properties:
      cropRectangle:
        $ref: "#/definitions/Rectangle"
        description: An optional rectangular window used to crop the overlay image or video.
      opacity:
        description: The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque.
        format: double
        type: number
      position:
        $ref: "#/definitions/Rectangle"
        description: The location in the input video where the overlay is applied.
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.VideoOverlay"
