Microsoft Azure Custom Voice API

Microsoft Azure Custom Voice API is a powerful tool that allows developers to create custom synthetic voices for their applications. This API enables users to build unique voices that are tailored to specific projects, giving users the ability to customize accents, pronunciations, and overall voice characteristics.

OpenAPI Specification

custom-voice-api-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Custom voice API
  description: Custom voice API to create and deploy your voice.
  contact:
    name: Azure AI - Speech Services
    url: https://learn.microsoft.com/azure/ai-services/speech-service/
  version: 2023-12-01-preview
paths:
  /projects:
    get:
      tags:
        - Project
      description: Gets a list of projects for the authenticated Speech service resource.
      operationId: microsoftAzureProjectsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedProjects'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all projects:
          $ref: ./examples/get_projects.json
      summary: Microsoft Azure Get Projects
  /projects/{id}:
    get:
      tags:
        - Project
      description: Gets the project identified by the given ID.
      operationId: microsoftAzureProjectsGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Project'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get a project:
          $ref: ./examples/get_project.json
      summary: Microsoft Azure Get Projects Id
    delete:
      tags:
        - Project
      description: >-
        Deletes the project identified by the given ID. All data (like consent,
        training set) in this project will be deleted automatically.
      operationId: microsoftAzureProjectsDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - in: query
          name: forceDelete
          type: boolean
          description: >-
            Set this to true if you want to delete a project with model and
            endpoint. Otherwise, the delete operation will fail.
          default: false
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete a project:
          $ref: ./examples/delete_project.json
      summary: Microsoft Azure Delete Projects Id
    put:
      tags:
        - Project
      description: Creates a new project.
      operationId: microsoftAzureProjectsCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: project
          description: project definition
          required: true
          schema:
            $ref: '#/definitions/Project'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Project'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Create a project:
          $ref: ./examples/create_project.json
      summary: Microsoft Azure Put Projects Id
  /consents:
    get:
      tags:
        - Consent
      description: Gets a list of consents for the authenticated Speech service resource.
      operationId: microsoftAzureConsentsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedConsents'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all consents:
          $ref: ./examples/get_consents.json
      summary: Microsoft Azure Get Consents
  /consents/{id}:
    get:
      tags:
        - Consent
      description: Gets the consent identified by the given ID.
      operationId: microsoftAzureConsentsGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Consent'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get a consent:
          $ref: ./examples/get_consent.json
      summary: Microsoft Azure Get Consents Id
    delete:
      tags:
        - Consent
      description: Deletes the consent identified by the given ID.
      operationId: microsoftAzureConsentsDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete a consent:
          $ref: ./examples/delete_consent.json
      summary: Microsoft Azure Delete Consents Id
    put:
      tags:
        - Consent
      description: Creates a new voice talent consent with the provided audio URL.
      operationId: microsoftAzureConsentsCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: consent
          description: consent definition
          required: true
          schema:
            $ref: '#/definitions/Consent'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Consent'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-examples:
        Create a consent:
          $ref: ./examples/create_consent.json
      summary: Microsoft Azure Put Consents Id
    post:
      tags:
        - Consent
      description: Creates a new voice talent consent with the provided audio file.
      operationId: microsoftAzureConsentsPost
      consumes:
        - multipart/form-data
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: formData
          name: projectId
          description: The project ID.
          required: true
          type: string
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{1,62}[a-zA-Z0-9]$
          minLength: 3
          maxLength: 64
        - in: formData
          name: displayName
          description: The display name of this consent.
          type: string
        - in: formData
          name: description
          description: Optional description of this consent.
          type: string
        - in: formData
          name: voiceTalentName
          description: The name of voice talent.
          required: true
          type: string
        - in: formData
          name: companyName
          description: The name of company.
          required: true
          type: string
        - in: formData
          name: audiodata
          description: An audio file containing the audio data.
          required: true
          type: file
        - in: formData
          name: locale
          description: >-
            The locale of this consent. Locale code follows BCP-47. You can find
            the text to speech locale list here
            https://learn.microsoft.com/azure/ai-services/speech-service/language-support?tabs=tts.
          required: true
          type: string
        - in: formData
          name: properties
          description: properties.
          type: string
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Consent'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: operation-location
      x-ms-examples:
        Create a consent:
          $ref: ./examples/create_consent_with_multipart_form.json
      summary: Microsoft Azure Post Consents Id
  /trainingsets:
    get:
      tags:
        - TrainingSet
      description: >-
        Gets a list of training sets for the authenticated Speech service
        resource.
      operationId: microsoftAzureTrainingsetsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedTrainingSets'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all training sets:
          $ref: ./examples/get_trainingsets.json
      summary: Microsoft Azure Get Trainingsets
  /trainingsets/{id}:
    get:
      tags:
        - TrainingSet
      description: Gets the training set identified by the given ID.
      operationId: microsoftAzureTrainingsetsGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/TrainingSet'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get a training set:
          $ref: ./examples/get_trainingset.json
      summary: Microsoft Azure Get Trainingsets Id
    delete:
      tags:
        - TrainingSet
      description: Deletes the training set identified by the given ID.
      operationId: microsoftAzureTrainingsetsDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete a training set:
          $ref: ./examples/delete_trainingset.json
      summary: Microsoft Azure Delete Trainingsets Id
    put:
      tags:
        - TrainingSet
      description: Creates a new training set.
      operationId: microsoftAzureTrainingsetsCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: trainingset
          description: training set definition
          required: true
          schema:
            $ref: '#/definitions/TrainingSet'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TrainingSet'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Create a training set:
          $ref: ./examples/create_trainingset.json
      summary: Microsoft Azure Put Trainingsets Id
  /trainingsets/{id}:upload:
    post:
      tags:
        - TrainingSet
      description: Uploads data to the specified training set.
      operationId: microsoftAzureTrainingsetsUploaddata
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: dataset
          description: Dataset to be uploaded
          required: true
          schema:
            $ref: '#/definitions/Dataset'
      responses:
        '202':
          description: Accepted
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: operation-location
      x-ms-examples:
        Upload data to a training set:
          $ref: ./examples/upload_trainingset.json
      summary: Microsoft Azure Post Trainingsets Id:upload
  /modelrecipes:
    get:
      tags:
        - Model
      description: >-
        Get a list of supported recipes for model building. Different recipes
        have different capabilities such as support for multi-style voice
        models.
      operationId: microsoftAzureModelsListrecipes
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/Recipe'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get all recipes:
          $ref: ./examples/get_recipes.json
      summary: Microsoft Azure Get Modelrecipes
  /models:
    get:
      tags:
        - Model
      description: Gets the list of models for the authenticated Speech service resource.
      operationId: microsoftAzureModelsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedModels'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all models:
          $ref: ./examples/get_models.json
      summary: Microsoft Azure Get Models
  /models/{id}:
    get:
      tags:
        - Model
      description: Gets the model identified by the given ID.
      operationId: microsoftAzureModelsGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Model'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get a model:
          $ref: ./examples/get_model.json
      summary: Microsoft Azure Get Models Id
    delete:
      tags:
        - Model
      description: Deletes the model identified by the given ID.
      operationId: microsoftAzureModelsDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete a model:
          $ref: ./examples/delete_model.json
      summary: Microsoft Azure Delete Models Id
    put:
      tags:
        - Model
      description: Creates a new voice model.
      operationId: microsoftAzureModelsCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: model
          description: Model definition
          required: true
          schema:
            $ref: '#/definitions/Model'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Model'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-examples:
        Create a model:
          $ref: ./examples/create_model.json
        Create a multi style model:
          $ref: ./examples/create_multi_style_model.json
      summary: Microsoft Azure Put Models Id
  /endpoints:
    get:
      tags:
        - Endpoint
      description: Gets a list of endpoints for the authenticated Speech service resource.
      operationId: microsoftAzureEndpointsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedEndpoints'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all endpoints:
          $ref: ./examples/get_endpoints.json
      summary: Microsoft Azure Get Endpoints
  /endpoints/{id}:
    get:
      tags:
        - Endpoint
      description: Gets the endpoint identified by the given ID.
      operationId: microsoftAzureEndpointsGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathUuid'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Endpoint'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get an endpoint:
          $ref: ./examples/get_endpoint.json
      summary: Microsoft Azure Get Endpoints Id
    delete:
      tags:
        - Endpoint
      description: Deletes the endpoint identified by the given ID.
      operationId: microsoftAzureEndpointsDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathUuid'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete an endpoint:
          $ref: ./examples/delete_endpoint.json
      summary: Microsoft Azure Delete Endpoints Id
    put:
      tags:
        - Endpoint
      description: Creates a new endpoint.
      operationId: microsoftAzureEndpointsCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathUuid'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: endpoint
          description: Endpoint definition
          required: true
          schema:
            $ref: '#/definitions/Endpoint'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Endpoint'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-examples:
        Create an endpoint:
          $ref: ./examples/create_endpoint.json
      summary: Microsoft Azure Put Endpoints Id
  /endpoints/{id}:resume:
    post:
      tags:
        - Endpoint
      description: Resumes the endpoint identified by the given ID.
      operationId: microsoftAzureEndpointsResume
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathUuid'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/Endpoint'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: operation-location
      x-ms-examples:
        Resume an endpoint:
          $ref: ./examples/resume_endpoint.json
      summary: Microsoft Azure Post Endpoints Id:resume
  /endpoints/{id}:suspend:
    post:
      tags:
        - Endpoint
      description: Suspends the endpoint identified by the given ID.
      operationId: microsoftAzureEndpointsSuspend
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathUuid'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/Endpoint'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: operation-location
      x-ms-examples:
        Suspend an endpoint:
          $ref: ./examples/suspend_endpoint.json
      summary: Microsoft Azure Post Endpoints Id:suspend
  /basemodels:
    get:
      tags:
        - BaseModel
      description: Gets a list of base models.
      operationId: microsoftAzureBasemodelsList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/BaseModel'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get base models:
          $ref: ./examples/get_base_models.json
      summary: Microsoft Azure Get Basemodels
  /personalvoices:
    get:
      tags:
        - PersonalVoice
      description: >-
        Gets a list of personal voices for the authenticated Speech service
        resource.
      operationId: microsoftAzurePersonalvoicesList
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/QuerySkip'
        - $ref: '#/parameters/QueryMaxPageSize'
        - $ref: '#/parameters/QueryFilter'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PaginatedPersonalVoices'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
        itemName: value
      x-ms-examples:
        Get all personal voices:
          $ref: ./examples/get_personalvoices.json
      summary: Microsoft Azure Get Personalvoices
  /personalvoices/{id}:
    get:
      tags:
        - PersonalVoice
      description: Gets the personal voice identified by the given ID.
      operationId: microsoftAzurePersonalvoicesGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/PersonalVoice'
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get a personal voice:
          $ref: ./examples/get_personalvoice.json
      summary: Microsoft Azure Get Personalvoices Id
    delete:
      tags:
        - PersonalVoice
      description: Deletes the personal voice identified by the given ID.
      operationId: microsoftAzurePersonalvoicesDelete
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '204':
          description: No Content
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Delete a personal voice:
          $ref: ./examples/delete_personalvoice.json
      summary: Microsoft Azure Delete Personalvoices Id
    put:
      tags:
        - PersonalVoice
      description: Creates a new personal voice with audio files in Azure Blob Storage.
      operationId: microsoftAzurePersonalvoicesCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: body
          name: personalvoice
          description: personal voice definition
          required: true
          schema:
            $ref: '#/definitions/PersonalVoice'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PersonalVoice'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-examples:
        Create a personal voice:
          $ref: ./examples/create_personalvoice.json
      summary: Microsoft Azure Put Personalvoices Id
    post:
      tags:
        - PersonalVoice
      description: Creates a new personal voice with audio files in the client.
      operationId: microsoftAzurePersonalvoicesPost
      consumes:
        - multipart/form-data
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/HeaderOperationId'
        - $ref: '#/parameters/PathId'
        - $ref: '#/parameters/QueryApiVersion'
        - in: formData
          name: displayName
          description: The display name of this model.
          type: string
        - in: formData
          name: description
          description: Optional description of this model.
          type: string
        - in: formData
          name: projectId
          description: The project ID.
          required: true
          type: string
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{1,62}[a-zA-Z0-9]$
          minLength: 3
          maxLength: 64
        - in: formData
          name: audioData
          description: Audio files.
          type: file
        - in: formData
          name: properties
          description: properties.
          type: string
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PersonalVoice'
          headers:
            Operation-Id:
              type: string
              description: ID of the operation.
            Operation-Location:
              description: >-
                The location of the operation job. Use this URL to monitor
                operation status.
              type: string
              format: uri
        default:
          description: An error occurred.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: operation-location
      x-ms-examples:
        Create a personal voice:
          $ref: ./examples/create_personalvoice_with_multipart_form.json
      summary: Microsoft Azure Post Personalvoices Id
  /operations/{id}:
    get:
      tags:
        - Operations
      description: Gets operation info.
      operationId: microsoftAzureOperationsGet
      produces:
        - application/json
      parameters:
        - in: path
          name: id
          required: true
          description: The ID of the operation
          type: string
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{1,62}[a-zA-Z0-9]$
          minLength: 3
          maxLength: 64
        - $ref: '#/parameters/QueryApiVersion'
      responses:
        '200':
          description: OK.
          schema:
            $ref: '#/definitions/Operation'
        default:
          description: Error encountered.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Get Operation:
          $ref: ./examples/get_operation.json
      summary: Microsoft Azure Get Operations Id
definitions:
  AzureBlobContentSource:
    description: >-
      Azure Blob

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/custom-voice-api-openapi-original.yml