openapi: 3.1.0
info:
  title: API Reference
  version: 1.0.0
paths:
  /v2/upload:
    post:
      operationId: upload
      summary: Upload a media file
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        Upload a media file to AssemblyAI's servers.


        <Note>To upload a media file to our EU server, replace `api.assemblyai.com` with `api.eu.assemblyai.com`.</Note>

        <Warning>Requests to transcribe uploaded files must use an API key from the same project as the key that was
        used to upload the file. If you use an API key from a different project you will get a `403` error and "Cannot
        access uploaded file" message.</Warning>
      tags:
        - subpackage_files
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Media file uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadedFile'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Cannot access uploaded file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
  /v2/transcript:
    post:
      operationId: submit
      summary: Transcribe audio
      description: |
        <llms-only>
        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)
        </llms-only>
        <Note>To use our EU server for transcription, replace `api.assemblyai.com` with `api.eu.assemblyai.com`.</Note>
        Create a transcript from a media file that is accessible via a URL.
      tags:
        - subpackage_transcripts
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transcript created and queued for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        description: Params to create a transcript
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranscriptParams'
    get:
      operationId: list
      summary: List transcripts
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Retrieve a list of transcripts you created.

        Transcripts are sorted from newest to oldest and can be retrieved for the last 90 days of usage. The previous
        URL always points to a page with older transcripts.


        If you need to retrieve transcripts from more than 90 days ago please reach out to our Support team at
        support@assemblyai.com.


        **Pagination**


        This endpoint returns paginated results. The response includes a `page_details` object with the following
        properties:

        - `page_details.limit` - Maximum number of transcripts per page.

        - `page_details.result_count` - Total number of transcripts returned on the current page.

        - `page_details.current_url` - URL to the current page.

        - `page_details.prev_url` - URL to the previous page of older transcripts.

        - `page_details.next_url` - URL to the next page of newer transcripts.
      tags:
        - subpackage_transcripts
      parameters:
        - name: limit
          in: query
          description: Maximum amount of transcripts to retrieve
          required: false
          schema:
            type: integer
            default: 10
        - name: status
          in: query
          description: Filter by transcript status
          required: false
          schema:
            $ref: '#/components/schemas/TranscriptStatus'
        - name: created_on
          in: query
          description: Only get transcripts created on this date
          required: false
          schema:
            type: string
            format: date
        - name: before_id
          in: query
          description: Get transcripts that were created before this transcript ID
          required: false
          schema:
            type: string
            format: uuid
        - name: after_id
          in: query
          description: Get transcripts that were created after this transcript ID
          required: false
          schema:
            type: string
            format: uuid
        - name: throttled_only
          in: query
          description: Only get throttled transcripts, overrides the status filter
          required: false
          schema:
            type: boolean
            default: false
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            A list of transcripts. Transcripts are sorted from newest to oldest. The previous URL always points to a
            page with older transcripts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptList'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}:
    get:
      operationId: get
      summary: Get transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Get the transcript resource. The transcript is ready when the "status" is "completed".
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The transcript resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
    delete:
      operationId: delete
      summary: Delete transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To delete your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Remove the data from the transcript and mark it as deleted.

        <Warning>Files uploaded via the `/upload` endpoint are immediately deleted alongside the transcript when you
        make a DELETE request, ensuring your data is removed from our systems right away.</Warning>
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The deleted transcript response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}/sentences:
    get:
      operationId: get-sentences
      summary: Get sentences in transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Get the transcript split by sentences. The API will attempt to semantically segment the transcript into
        sentences to create more reader-friendly transcripts.
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Exported sentences
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentencesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}/paragraphs:
    get:
      operationId: get-paragraphs
      summary: Get paragraphs in transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Get the transcript split by paragraphs. The API will attempt to semantically segment your transcript into
        paragraphs to create more reader-friendly transcripts.
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Exported paragraphs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParagraphsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}/{subtitle_format}:
    get:
      operationId: get-subtitles
      summary: Get subtitles for transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve your transcriptions on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Export your transcript in SRT or VTT format to use with a video player for subtitles and closed captions.
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: subtitle_format
          in: path
          description: The format of the captions
          required: true
          schema:
            $ref: '#/components/schemas/SubtitleFormat'
        - name: chars_per_caption
          in: query
          description: The maximum number of characters per caption
          required: false
          schema:
            type: integer
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The exported captions as text
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}/redacted-audio:
    get:
      operationId: get-redacted-audio
      summary: Get redacted audio
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To retrieve the redacted audio on the EU server, replace `api.assemblyai.com` with `api.eu.assemblyai.com`
        in the `GET` request above.</Note>

        <Note>Redacted audio files are only available for 24 hours. Make sure to download the file within this time
        frame.</Note>

        Retrieve the redacted audio object containing the status and URL to the redacted audio.
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The redacted audio object containing the status and URL to the redacted audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedactedAudioResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /v2/transcript/{transcript_id}/word-search:
    get:
      operationId: word-search
      summary: Search words in transcript
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        <Note>To search through a transcription created on our EU server, replace `api.assemblyai.com` with
        `api.eu.assemblyai.com`.</Note>

        Search through the transcript for keywords. You can search for individual words, numbers, or phrases containing
        up to five words or numbers.
      tags:
        - subpackage_transcripts
      parameters:
        - name: transcript_id
          in: path
          description: ID of the transcript
          required: true
          schema:
            type: string
        - name: words
          in: query
          description: Keywords to search for
          required: true
          schema:
            type: array
            items:
              type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Word search response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WordSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                description: Any type
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                description: Any type
  /chat/completions:
    post:
      operationId: create-chat-completion
      summary: Create a chat completion
      description: >-
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>


        <Note>To use our EU server for LLM Gateway, replace `llm-gateway.assemblyai.com` with
        `llm-gateway.eu.assemblyai.com`.</Note>


        Generates a response from a model given a prompt or a series of messages.
      tags:
        - ''
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response containing the model's choices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
      requestBody:
        description: Request body for creating a chat completion.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LLMGatewayRequest'
  /understanding:
    post:
      operationId: create-speech-understanding
      summary: Process speech understanding
      description: >-
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>


        <Note>To use our EU server for LLM Gateway, replace `llm-gateway.assemblyai.com` with
        `llm-gateway.eu.assemblyai.com`.</Note>


        Perform various speech understanding tasks like
        [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
        Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
        Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting).
      tags:
        - ''
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response containing the speech understanding results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createSpeechUnderstanding_Response_200'
      requestBody:
        description: Request body for speech understanding tasks.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnderstandingRequest'
  /v3/token:
    get:
      operationId: generate-streaming-token
      summary: Generate temporary streaming token
      description: >
        <llms-only>

        > For the complete documentation index, see [llms.txt](https://www.assemblyai.com/docs/llms.txt)

        </llms-only>

        Generates a temporary authentication token for use with streaming services. See [Authenticate with a temporary
        token](https://www.assemblyai.com/docs/streaming/authenticate-with-a-temporary-token) for more details.
      tags:
        - subpackage_streamingApi
      parameters:
        - name: expires_in_seconds
          in: query
          description: |
            The desired expiration time for the token in seconds.
          required: true
          schema:
            type: integer
        - name: max_session_duration_seconds
          in: query
          description: |
            The desired maximum duration for the session started using this token in seconds.
          required: false
          schema:
            type: integer
            default: 10800
      responses:
        '200':
          description: Successfully generated temporary token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Streaming API_generateStreamingToken_Response_200'
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
servers:
  - url: https://api.assemblyai.com
  - url: https://llm-gateway.assemblyai.com/v1
  - url: https://streaming.assemblyai.com
components:
  schemas:
    UploadedFile:
      type: object
      properties:
        upload_url:
          type: string
          format: url
          description: |
            A URL that points to your audio file, accessible only by AssemblyAI's servers
      required:
        - upload_url
      title: UploadedFile
    ErrorDetails:
      type: object
      properties: {}
      description: Additional error details if available
      title: ErrorDetails
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong
        code:
          type: string
          description: Error code for programmatic handling
        details:
          $ref: '#/components/schemas/ErrorDetails'
          description: Additional error details if available
      required:
        - error
      title: Error
    TranscriptCustomSpelling:
      type: object
      properties:
        from:
          type: array
          items:
            type: string
          description: Words or phrases to replace
        to:
          type: string
          description: Word to replace with
      required:
        - from
        - to
      description: Object containing words or phrases to replace, and the word or phrase to replace with
      title: TranscriptCustomSpelling
    TranscriptLanguageCode:
      type: string
      enum:
        - en
        - en_au
        - en_uk
        - en_us
        - es
        - fr
        - de
        - it
        - pt
        - nl
        - af
        - sq
        - am
        - ar
        - hy
        - as
        - az
        - ba
        - eu
        - be
        - bn
        - bs
        - br
        - bg
        - my
        - ca
        - zh
        - hr
        - cs
        - da
        - et
        - fo
        - fi
        - gl
        - ka
        - el
        - gu
        - ht
        - ha
        - haw
        - he
        - hi
        - hu
        - is
        - id
        - ja
        - jw
        - kn
        - kk
        - km
        - ko
        - lo
        - la
        - lv
        - ln
        - lt
        - lb
        - mk
        - mg
        - ms
        - ml
        - mt
        - mi
        - mr
        - mn
        - ne
        - 'no'
        - nn
        - oc
        - pa
        - ps
        - fa
        - pl
        - ro
        - ru
        - sa
        - sr
        - sn
        - sd
        - si
        - sk
        - sl
        - so
        - su
        - sw
        - sv
        - tl
        - tg
        - ta
        - tt
        - te
        - th
        - bo
        - tr
        - tk
        - uk
        - ur
        - uz
        - vi
        - cy
        - yi
        - yo
      description: >
        The language of your audio file. Possible values are found in [Supported
        Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).

        The default value is 'en_us'.
      title: TranscriptLanguageCode
    TranscriptOptionalParamsLanguageDetectionOptions:
      type: object
      properties:
        expected_languages:
          type: array
          items:
            type: string
          description: >-
            List of languages expected in the audio file. Defaults to `["all"]` when unspecified. See [Automatic
            Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.
        fallback_language:
          type: string
          default: auto
          description: >
            If the detected language of the audio file is not in the list of expected languages, the `fallback_language`
            is used. Specify `["auto"]` to let our model choose the fallback language from `expected_languages` with the
            highest confidence score. See [Automatic Language
            Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.
        code_switching:
          type: boolean
          default: false
          description: |
            Whether [code switching](/docs/speech-to-text/pre-recorded-audio/code-switching) should be detected.
        code_switching_confidence_threshold:
          type: number
          format: double
          default: 0.3
          description: >
            The confidence threshold for [code switching](/docs/speech-to-text/pre-recorded-audio/code-switching)
            detection. If the code switching confidence is below this threshold, the transcript will be processed in the
            language with the highest `language_detection_confidence` score.
      description: >-
        Specify options for [Automatic Language
        Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).
      title: TranscriptOptionalParamsLanguageDetectionOptions
    TranscriptOptionalParamsRedactPiiAudioOptionsOverrideAudioRedactionMethod:
      type: string
      enum:
        - silence
      description: >-
        Specify the method used to redact audio. By default, redacted audio uses a beep sound. Set to `silence` to
        replace PII with silence instead of a beep.
      title: TranscriptOptionalParamsRedactPiiAudioOptionsOverrideAudioRedactionMethod
    TranscriptOptionalParamsRedactPiiAudioOptions:
      type: object
      properties:
        return_redacted_no_speech_audio:
          type: boolean
          default: false
          description: >-
            By default, audio redaction provides redacted audio URLs only when speech is detected. However, if your
            use-case specifically requires redacted audio files even for silent audio files without any dialogue, you
            can opt to receive these URLs by setting this parameter to `true`.
        override_audio_redaction_method:
          $ref: '#/components/schemas/TranscriptOptionalParamsRedactPiiAudioOptionsOverrideAudioRedactionMethod'
          description: >-
            Specify the method used to redact audio. By default, redacted audio uses a beep sound. Set to `silence` to
            replace PII with silence instead of a beep.
      description: >-
        Specify options for [PII redacted
        audio](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) files.
      title: TranscriptOptionalParamsRedactPiiAudioOptions
    RedactPiiAudioQuality:
      type: string
      enum:
        - mp3
        - wav
      description: >-
        Controls the filetype of the audio created by redact_pii_audio. Currently supports mp3 (default) and wav. See
        [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more details.
      title: RedactPiiAudioQuality
    PiiPolicy:
      type: string
      enum:
        - account_number
        - banking_information
        - blood_type
        - credit_card_cvv
        - credit_card_expiration
        - credit_card_number
        - date
        - date_interval
        - date_of_birth
        - drivers_license
        - drug
        - duration
        - email_address
        - event
        - filename
        - gender_sexuality
        - healthcare_number
        - injury
        - ip_address
        - language
        - location
        - marital_status
        - medical_condition
        - medical_process
        - money_amount
        - nationality
        - number_sequence
        - occupation
        - organization
        - passport_number
        - password
        - person_age
        - person_name
        - phone_number
        - physical_attribute
        - political_affiliation
        - religion
        - statistics
        - time
        - url
        - us_social_security_number
        - username
        - vehicle_id
        - zodiac_sign
      description: The type of PII to redact
      title: PiiPolicy
    SubstitutionPolicy:
      type: string
      enum:
        - entity_name
        - hash
      description: >-
        The replacement logic for detected PII, can be `entity_name` or `hash`. See [PII
        redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
      title: SubstitutionPolicy
    TranscriptOptionalParamsSpeakerOptions:
      type: object
      properties:
        min_speakers_expected:
          type: integer
          default: 1
          description: >-
            The minimum number of speakers expected in the audio file. See [Set a range of possible
            speakers](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers)
            for more details.
        max_speakers_expected:
          type: integer
          description: >
            <Warning>Setting this parameter too high may hurt model accuracy</Warning>

            The maximum number of speakers expected in the audio file. The default depends on audio duration: no limit
            for 0-2 minutes, 10 for 2-10 minutes, and 30 for 10+ minutes. See [Set a range of possible
            speakers](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers)
            for more details.
      description: >-
        Specify options for [Speaker
        diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers).
        Use this to set a range of possible speakers.
      title: TranscriptOptionalParamsSpeakerOptions
    SpeechModel:
      type: string
      description: >-
        The speech model to use for the transcription. See [Model
        Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models.
      title: SpeechModel
    TranslationRequestBodyTranslation:
      type: object
      properties:
        target_languages:
          type: array
          items:
            type: string
          description: >-
            List of target language codes (e.g., `["es", "de"]`). See
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for supported languages.
        formal:
          type: boolean
          default: true
          description: >-
            Use formal language style. See
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for more details.
        match_original_utterance:
          type: boolean
          default: false
          description: >-
            When enabled with Speaker Labels, returns translated text in the utterances array. Each utterance will
            include a `translated_texts` key containing translations for each target language.
      required:
        - target_languages
      title: TranslationRequestBodyTranslation
    TranslationRequestBody:
      type: object
      properties:
        translation:
          $ref: '#/components/schemas/TranslationRequestBodyTranslation'
      required:
        - translation
      description: Request body for [Translation](https://www.assemblyai.com/docs/speech-understanding/translation).
      title: TranslationRequestBody
    SpeakerIdentificationRequestBodySpeakerIdentificationSpeakerType:
      type: string
      enum:
        - role
        - name
      description: >-
        Type of speaker identification. See [Speaker
        Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification) for details on each
        type.
      title: SpeakerIdentificationRequestBodySpeakerIdentificationSpeakerType
    SpeakerIdentificationRequestBodySpeakerIdentificationSpeakersItems:
      type: object
      properties:
        role:
          type: string
          description: The role of the speaker. Required when `speaker_type` is "role".
        name:
          type: string
          description: The name of the speaker. Required when `speaker_type` is "name".
        description:
          type: string
          description: A description of the speaker to help the model identify them based on conversational context.
      title: SpeakerIdentificationRequestBodySpeakerIdentificationSpeakersItems
    SpeakerIdentificationRequestBodySpeakerIdentification:
      type: object
      properties:
        speaker_type:
          $ref: '#/components/schemas/SpeakerIdentificationRequestBodySpeakerIdentificationSpeakerType'
          description: >-
            Type of speaker identification. See [Speaker
            Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification) for details on
            each type.
        known_values:
          type: array
          items:
            type: string
          description: Required if speaker_type is "role". Each value must be 35 characters or less.
        speakers:
          type: array
          items:
            $ref: '#/components/schemas/SpeakerIdentificationRequestBodySpeakerIdentificationSpeakersItems'
          description: >-
            An array of speaker objects with metadata to improve identification accuracy. Each object should include a
            `role` or `name` (depending on `speaker_type`) and an optional `description` to help the model identify the
            speaker. You can also include any additional custom properties (e.g., `company`, `title`) to provide more
            context. Use this as an alternative to `known_values` when you want to provide additional context about each
            speaker.
      required:
        - speaker_type
      title: SpeakerIdentificationRequestBodySpeakerIdentification
    SpeakerIdentificationRequestBody:
      type: object
      properties:
        speaker_identification:
          $ref: '#/components/schemas/SpeakerIdentificationRequestBodySpeakerIdentification'
      required:
        - speaker_identification
      description: >-
        Request body for [Speaker
        Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification).
      title: SpeakerIdentificationRequestBody
    CustomFormattingRequestBodyCustomFormatting:
      type: object
      properties:
        date:
          type: string
          description: >-
            Date format pattern (e.g., `"mm/dd/yyyy"`). See [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details.
        phone_number:
          type: string
          description: >-
            Phone number format pattern (e.g., `"(xxx)xxx-xxxx"`). See [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details.
        email:
          type: string
          description: >-
            Email format pattern (e.g., `"username@domain.com"`). See [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details.
      title: CustomFormattingRequestBodyCustomFormatting
    CustomFormattingRequestBody:
      type: object
      properties:
        custom_formatting:
          $ref: '#/components/schemas/CustomFormattingRequestBodyCustomFormatting'
      required:
        - custom_formatting
      description: Request body for [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting).
      title: CustomFormattingRequestBody
    TranscriptOptionalParamsSpeechUnderstandingRequest:
      oneOf:
        - $ref: '#/components/schemas/TranslationRequestBody'
        - $ref: '#/components/schemas/SpeakerIdentificationRequestBody'
        - $ref: '#/components/schemas/CustomFormattingRequestBody'
      title: TranscriptOptionalParamsSpeechUnderstandingRequest
    TranscriptOptionalParamsSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/TranscriptOptionalParamsSpeechUnderstandingRequest'
      required:
        - request
      description: >
        Enable speech understanding tasks like
        [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
        Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
        Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). See the task-specific docs
        for available options and configuration.
      title: TranscriptOptionalParamsSpeechUnderstanding
    SummaryModel:
      type: string
      enum:
        - informative
        - conversational
        - catchy
      description: The model to summarize the transcript
      title: SummaryModel
    SummaryType:
      type: string
      enum:
        - bullets
        - bullets_verbose
        - gist
        - headline
        - paragraph
      description: The type of summary
      title: SummaryType
    TranscriptOptionalParamsRemoveAudioTags:
      type: string
      enum:
        - all
      description: >
        Remove [audio event tags](https://www.assemblyai.com/docs/pre-recorded-audio/universal-3-pro#audio-event-tags)
        from the transcript text. Set to `"all"` to remove all audio tags.


        Note: This parameter is only supported for the Universal-3 Pro model.
      title: TranscriptOptionalParamsRemoveAudioTags
    TranscriptParams:
      type: object
      properties:
        audio_end_at:
          type: integer
          description: >-
            The point in time, in milliseconds, to stop transcribing in your media file. See [Set the start and end of
            the transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript)
            for more details.
        audio_start_from:
          type: integer
          description: >-
            The point in time, in milliseconds, to begin transcribing in your media file. See [Set the start and end of
            the transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript)
            for more details.
        auto_chapters:
          type: boolean
          default: false
          description: >
            Enable [Auto Chapters](https://www.assemblyai.com/docs/speech-understanding/auto-chapters), can be true or
            false. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for more
            flexible chapter summaries. See the [updated Auto Chapters
            page](https://www.assemblyai.com/docs/speech-understanding/auto-chapters) for details.


            Note: This parameter is only supported for the Universal-2 model.
        auto_highlights:
          type: boolean
          default: false
          description: Enable [Key Phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases), either true or false
        content_safety:
          type: boolean
          default: false
          description: Enable [Content Moderation](https://www.assemblyai.com/docs/content-moderation), can be true or false
        content_safety_confidence:
          type: integer
          default: 50
          description: >-
            The confidence threshold for the [Content Moderation](https://www.assemblyai.com/docs/content-moderation)
            model. Values must be between 25 and 100.
        custom_spelling:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptCustomSpelling'
          description: >-
            Customize how words are spelled and formatted using to and from values. See [Custom
            Spelling](https://www.assemblyai.com/docs/pre-recorded-audio/custom-spelling) for more details.
        disfluencies:
          type: boolean
          default: false
          description: >-
            Transcribe [Filler Words](https://www.assemblyai.com/docs/pre-recorded-audio/filler-words), like "umm", in
            your media file; can be true or false
        domain:
          type:
            - string
            - 'null'
          description: >
            Enable domain-specific transcription models to improve accuracy for specialized terminology. Set to
            `"medical-v1"` to enable [Medical Mode](https://www.assemblyai.com/docs/pre-recorded-audio/medical-mode) for
            improved accuracy of medical terms such as medications, procedures, conditions, and dosages.


            Supported languages: English (`en`), Spanish (`es`), German (`de`), French (`fr`). If used with an
            unsupported language, the parameter is ignored and a warning is returned.
        entity_detection:
          type: boolean
          default: false
          description: >-
            Enable [Entity Detection](https://www.assemblyai.com/docs/speech-understanding/entity-detection), can be
            true or false
        filter_profanity:
          type: boolean
          default: false
          description: >-
            Filter profanity from the transcribed text, can be true or false. See [Profanity
            Filtering](https://www.assemblyai.com/docs/profanity-filtering) for more details.
        format_text:
          type: boolean
          default: true
          description: Enable [Text Formatting](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false
        iab_categories:
          type: boolean
          default: false
          description: >-
            Enable [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection), can be true
            or false
        keyterms_prompt:
          type: array
          items:
            type: string
          description: >
            Improve accuracy with up to 200 (for Universal-2) or 1000 (for Universal-3 Pro) domain-specific words or
            phrases (maximum 6 words per phrase). See [Keyterms
            Prompting](https://www.assemblyai.com/docs/pre-recorded-audio/keyterms-prompting) for more details.
        language_code:
          oneOf:
            - $ref: '#/components/schemas/TranscriptLanguageCode'
            - type: 'null'
          description: >
            The language of your audio file. Possible values are found in [Supported
            Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).

            The default value is 'en_us'.
        language_codes:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TranscriptLanguageCode'
          description: >
            The language codes of your audio file. Used for [Code
            switching](/docs/speech-to-text/pre-recorded-audio/code-switching)

            One of the values specified must be `en`.
        language_confidence_threshold:
          type: number
          format: double
          description: >
            The confidence threshold for the automatically detected language.

            An error will be returned if the language confidence is below this threshold.

            Defaults to 0. See [Automatic Language
            Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.
        language_detection:
          type: boolean
          default: false
          description: >-
            Enable [Automatic language
            detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection), either true or false.
        language_detection_options:
          $ref: '#/components/schemas/TranscriptOptionalParamsLanguageDetectionOptions'
          description: >-
            Specify options for [Automatic Language
            Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).
        multichannel:
          type: boolean
          default: false
          description: >-
            Enable [Multichannel](https://www.assemblyai.com/docs/pre-recorded-audio/multichannel) transcription, can be
            true or false.
        prompt:
          type: string
          description: >
            Provide natural language prompting of up to 1,500 words of contextual information to the model. See the
            [Prompting Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for best practices.


            Note: This parameter is only supported for the Universal-3 Pro model.
        punctuate:
          type: boolean
          default: true
          description: Enable [Automatic Punctuation](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false
        redact_pii:
          type: boolean
          default: false
          description: >-
            Redact PII from the transcribed text using the Redact PII model, can be true or false. See [PII
            Redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
        redact_pii_audio:
          type: boolean
          default: false
          description: >-
            Generate a copy of the original media file with spoken PII "beeped" out, can be true or false. See [PII
            redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more details.
        redact_pii_audio_options:
          $ref: '#/components/schemas/TranscriptOptionalParamsRedactPiiAudioOptions'
          description: >-
            Specify options for [PII redacted
            audio](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) files.
        redact_pii_audio_quality:
          $ref: '#/components/schemas/RedactPiiAudioQuality'
          description: >-
            Controls the filetype of the audio created by redact_pii_audio. Currently supports mp3 (default) and wav.
            See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more
            details.
        redact_pii_policies:
          type: array
          items:
            $ref: '#/components/schemas/PiiPolicy'
          description: >-
            The list of PII Redaction policies to enable. See [PII
            redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
        redact_pii_sub:
          oneOf:
            - $ref: '#/components/schemas/SubstitutionPolicy'
            - type: 'null'
          description: >-
            The replacement logic for detected PII, can be `entity_type` or `hash`. See [PII
            redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
        sentiment_analysis:
          type: boolean
          default: false
          description: >-
            Enable [Sentiment Analysis](https://www.assemblyai.com/docs/speech-understanding/sentiment-analysis), can be
            true or false
        speaker_labels:
          type: boolean
          default: false
          description: >-
            Enable [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization), can be
            true or false
        speaker_options:
          $ref: '#/components/schemas/TranscriptOptionalParamsSpeakerOptions'
          description: >-
            Specify options for [Speaker
            diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers).
            Use this to set a range of possible speakers.
        speakers_expected:
          type:
            - integer
            - 'null'
          description: >-
            Tells the speaker label model how many speakers it should attempt to identify. See [Set number of speakers
            expected](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-number-of-speakers-expected)
            for more details.
        speech_models:
          type: array
          items:
            $ref: '#/components/schemas/SpeechModel'
          description: >
            List multiple speech models in priority order, allowing our system to automatically route your audio to the
            best available option. See [Model
            Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models
            and routing behavior.
        speech_threshold:
          type:
            - number
            - 'null'
          format: double
          description: >
            Reject audio files that contain less than this fraction of speech.

            Valid values are in the range [0, 1] inclusive. See [Speech
            Threshold](https://www.assemblyai.com/docs/speech-threshold) for more details.
        speech_understanding:
          $ref: '#/components/schemas/TranscriptOptionalParamsSpeechUnderstanding'
          description: >
            Enable speech understanding tasks like
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
            Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). See the task-specific
            docs for available options and configuration.
        summarization:
          type: boolean
          default: false
          description: >
            Enable [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization), can be true or
            false. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for more
            flexible summaries. See the [updated Summarization
            page](https://www.assemblyai.com/docs/speech-understanding/summarization) for details.


            Note: This parameter is only supported for the Universal-2 model.
        summary_model:
          $ref: '#/components/schemas/SummaryModel'
          description: >-
            The model to summarize the transcript. Deprecated - use [LLM
            Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for more flexible summaries. See the
            [updated Summarization page](https://www.assemblyai.com/docs/speech-understanding/summarization) for
            details.
        summary_type:
          $ref: '#/components/schemas/SummaryType'
          description: >-
            The type of summary. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview)
            instead for more flexible summaries. See the [updated Summarization
            page](https://www.assemblyai.com/docs/speech-understanding/summarization) for details.
        remove_audio_tags:
          oneOf:
            - $ref: '#/components/schemas/TranscriptOptionalParamsRemoveAudioTags'
            - type: 'null'
          description: >
            Remove [audio event
            tags](https://www.assemblyai.com/docs/pre-recorded-audio/universal-3-pro#audio-event-tags) from the
            transcript text. Set to `"all"` to remove all audio tags.


            Note: This parameter is only supported for the Universal-3 Pro model.
        temperature:
          type: number
          format: double
          default: 0
          description: >
            Control the amount of randomness injected into the model's response. See the [Prompting
            Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for more details.


            Note: This parameter can only be used with the Universal-3 Pro model.
        webhook_auth_header_name:
          type:
            - string
            - 'null'
          description: >-
            The header name to be sent with the transcript completed or failed
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) requests
        webhook_auth_header_value:
          type:
            - string
            - 'null'
          description: >-
            The header value to send back with the transcript completed or failed
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) requests for added
            security
        webhook_url:
          type: string
          format: url
          description: >
            The URL to which we send
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) requests.
        custom_topics:
          type: boolean
          default: false
          description: This parameter does not currently have any functionality attached to it.
        speech_model:
          oneOf:
            - $ref: '#/components/schemas/SpeechModel'
            - type: 'null'
          description: >
            This parameter has been replaced with the `speech_models` parameter, learn more about the `speech_models`
            parameter [here](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model).
        topics:
          type: array
          items:
            type: string
          description: This parameter does not currently have any functionality attached to it.
        audio_url:
          type: string
          format: url
          description: The URL of the audio or video file to transcribe.
      required:
        - speech_models
        - audio_url
      description: The parameters for creating a transcript
      title: TranscriptParams
    AudioIntelligenceModelStatus:
      type: string
      enum:
        - success
        - unavailable
      description: Either success, or unavailable in the rare case that the model failed
      title: AudioIntelligenceModelStatus
    Timestamp:
      type: object
      properties:
        start:
          type: integer
          description: The start time in milliseconds
        end:
          type: integer
          description: The end time in milliseconds
      required:
        - start
        - end
      description: Timestamp containing a start and end property in milliseconds
      title: Timestamp
    AutoHighlightResult:
      type: object
      properties:
        count:
          type: integer
          description: The total number of times the key phrase appears in the audio file
        rank:
          type: number
          format: double
          description: The total relevancy to the overall audio file of this key phrase - a greater number means more relevant
        text:
          type: string
          description: The text itself of the key phrase
        timestamps:
          type: array
          items:
            $ref: '#/components/schemas/Timestamp'
          description: The timestamp of the of the key phrase
      required:
        - count
        - rank
        - text
        - timestamps
      title: AutoHighlightResult
    AutoHighlightsResult:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/AudioIntelligenceModelStatus'
          description: The status of the Key Phrases model. Either success, or unavailable in the rare case that the model failed.
        results:
          type: array
          items:
            $ref: '#/components/schemas/AutoHighlightResult'
          description: A temporally-sequential array of Key Phrases
      required:
        - status
        - results
      description: |
        An array of results for the Key Phrases model, if it is enabled.
        See [Key phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases) for more information.
      title: AutoHighlightsResult
    Chapter:
      type: object
      properties:
        gist:
          type: string
          description: An ultra-short summary (just a few words) of the content spoken in the chapter
        headline:
          type: string
          description: A single sentence summary of the content spoken during the chapter
        summary:
          type: string
          description: A one paragraph summary of the content spoken during the chapter
        start:
          type: integer
          description: The starting time, in milliseconds, for the chapter
        end:
          type: integer
          description: The starting time, in milliseconds, for the chapter
      required:
        - gist
        - headline
        - summary
        - start
        - end
      description: Chapter of the audio file
      title: Chapter
    ContentSafetyLabel:
      type: object
      properties:
        label:
          type: string
          description: The label of the sensitive topic
        confidence:
          type: number
          format: double
          description: The confidence score for the topic being discussed, from 0 to 1
        severity:
          type: number
          format: double
          description: How severely the topic is discussed in the section, from 0 to 1
      required:
        - label
        - confidence
        - severity
      title: ContentSafetyLabel
    ContentSafetyLabelResult:
      type: object
      properties:
        text:
          type: string
          description: The transcript of the section flagged by the Content Moderation model
        labels:
          type: array
          items:
            $ref: '#/components/schemas/ContentSafetyLabel'
          description: An array of safety labels, one per sensitive topic that was detected in the section
        sentences_idx_start:
          type: integer
          description: The sentence index at which the section begins
        sentences_idx_end:
          type: integer
          description: The sentence index at which the section ends
        timestamp:
          $ref: '#/components/schemas/Timestamp'
          description: Timestamp information for the section
      required:
        - text
        - labels
        - sentences_idx_start
        - sentences_idx_end
        - timestamp
      title: ContentSafetyLabelResult
    SeverityScoreSummary:
      type: object
      properties:
        low:
          type: number
          format: double
        medium:
          type: number
          format: double
        high:
          type: number
          format: double
      required:
        - low
        - medium
        - high
      title: SeverityScoreSummary
    ContentSafetyLabelsResult:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/AudioIntelligenceModelStatus'
          description: >-
            The status of the Content Moderation model. Either success, or unavailable in the rare case that the model
            failed.
        results:
          type: array
          items:
            $ref: '#/components/schemas/ContentSafetyLabelResult'
          description: An array of results for the Content Moderation model
        summary:
          type: object
          additionalProperties:
            type: number
            format: double
          description: A summary of the Content Moderation confidence results for the entire audio file
        severity_score_summary:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SeverityScoreSummary'
          description: A summary of the Content Moderation severity results for the entire audio file
      required:
        - status
        - results
        - summary
        - severity_score_summary
      description: |
        An array of results for the Content Moderation model, if it is enabled.
        See [Content moderation](https://www.assemblyai.com/docs/content-moderation) for more information.
      title: ContentSafetyLabelsResult
    EntityType:
      type: string
      enum:
        - account_number
        - banking_information
        - blood_type
        - credit_card_cvv
        - credit_card_expiration
        - credit_card_number
        - date
        - date_interval
        - date_of_birth
        - drivers_license
        - drug
        - duration
        - email_address
        - event
        - filename
        - gender_sexuality
        - healthcare_number
        - injury
        - ip_address
        - language
        - location
        - marital_status
        - medical_condition
        - medical_process
        - money_amount
        - nationality
        - number_sequence
        - occupation
        - organization
        - passport_number
        - password
        - person_age
        - person_name
        - phone_number
        - physical_attribute
        - political_affiliation
        - religion
        - statistics
        - time
        - url
        - us_social_security_number
        - username
        - vehicle_id
        - zodiac_sign
      description: The type of entity for the detected entity
      title: EntityType
    Entity:
      type: object
      properties:
        entity_type:
          $ref: '#/components/schemas/EntityType'
          description: The type of entity for the detected entity
        text:
          type: string
          description: The text for the detected entity
        start:
          type: integer
          description: The starting time, in milliseconds, at which the detected entity appears in the audio file
        end:
          type: integer
          description: The ending time, in milliseconds, for the detected entity in the audio file
      required:
        - entity_type
        - text
        - start
        - end
      description: A detected entity
      title: Entity
    TopicDetectionResultLabelsItems:
      type: object
      properties:
        relevance:
          type: number
          format: double
          description: How relevant the detected topic is of a detected topic
        label:
          type: string
          description: >-
            The IAB taxonomical label for the label of the detected topic, where > denotes supertopic/subtopic
            relationship
      required:
        - relevance
        - label
      title: TopicDetectionResultLabelsItems
    TopicDetectionResult:
      type: object
      properties:
        text:
          type: string
          description: The text in the transcript in which a detected topic occurs
        labels:
          type: array
          items:
            $ref: '#/components/schemas/TopicDetectionResultLabelsItems'
          description: An array of detected topics in the text
        timestamp:
          $ref: '#/components/schemas/Timestamp'
      required:
        - text
      description: The result of the topic detection model
      title: TopicDetectionResult
    TopicDetectionModelResult:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/AudioIntelligenceModelStatus'
          description: >-
            The status of the Topic Detection model. Either success, or unavailable in the rare case that the model
            failed.
        results:
          type: array
          items:
            $ref: '#/components/schemas/TopicDetectionResult'
          description: An array of results for the Topic Detection model
        summary:
          type: object
          additionalProperties:
            type: number
            format: double
          description: The overall relevance of topic to the entire audio file
      required:
        - status
        - results
        - summary
      description: >
        The result of the Topic Detection model, if it is enabled.

        See [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection) for more
        information.
      title: TopicDetectionModelResult
    TranscriptLanguageDetectionOptions:
      type: object
      properties:
        expected_languages:
          type: array
          items:
            type: string
          description: >-
            List of languages expected in the audio file. Defaults to `["all"]` when unspecified. See [Automatic
            Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.
        fallback_language:
          type: string
          default: auto
          description: >
            If the detected language of the audio file is not in the list of expected languages, the `fallback_language`
            is used. Specify `["auto"]` to let our model choose the fallback language from `expected_languages` with the
            highest confidence score. See [Automatic Language
            Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.
        code_switching:
          type: boolean
          default: false
          description: |
            Whether [code switching](/docs/speech-to-text/pre-recorded-audio/code-switching) should be detected.
        code_switching_confidence_threshold:
          type: number
          format: double
          default: 0.3
          description: >
            The confidence threshold for [code switching](/docs/speech-to-text/pre-recorded-audio/code-switching)
            detection. If the code switching confidence is below this threshold, the transcript will be processed in the
            language with the highest `language_detection_confidence` score.
      description: >-
        Specify options for [Automatic Language
        Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).
      title: TranscriptLanguageDetectionOptions
    TranscriptRedactPiiAudioOptionsOverrideAudioRedactionMethod:
      type: string
      enum:
        - silence
      description: >-
        Specify the method used to redact audio. By default, redacted audio uses a beep sound. Set to `silence` to
        replace PII with silence instead of a beep.
      title: TranscriptRedactPiiAudioOptionsOverrideAudioRedactionMethod
    TranscriptRedactPiiAudioOptions:
      type: object
      properties:
        return_redacted_no_speech_audio:
          type: boolean
          default: false
          description: >-
            By default, audio redaction provides redacted audio URLs only when speech is detected. However, if your
            use-case specifically requires redacted audio files even for silent audio files without any dialogue, you
            can opt to receive these URLs by setting this parameter to `true`.
        override_audio_redaction_method:
          $ref: '#/components/schemas/TranscriptRedactPiiAudioOptionsOverrideAudioRedactionMethod'
          description: >-
            Specify the method used to redact audio. By default, redacted audio uses a beep sound. Set to `silence` to
            replace PII with silence instead of a beep.
      description: >
        The options for PII-redacted audio, if redact_pii_audio is enabled.

        See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more
        information.
      title: TranscriptRedactPiiAudioOptions
    Sentiment:
      type: string
      enum:
        - POSITIVE
        - NEUTRAL
        - NEGATIVE
      title: Sentiment
    SentimentAnalysisResult:
      type: object
      properties:
        text:
          type: string
          description: The transcript of the sentence
        start:
          type: integer
          description: The starting time, in milliseconds, of the sentence
        end:
          type: integer
          description: The ending time, in milliseconds, of the sentence
        sentiment:
          $ref: '#/components/schemas/Sentiment'
          description: The detected sentiment for the sentence, one of POSITIVE, NEUTRAL, NEGATIVE
        confidence:
          type: number
          format: double
          description: The confidence score for the detected sentiment of the sentence, from 0 to 1
        channel:
          type:
            - string
            - 'null'
          description: >-
            The channel of this utterance. The left and right channels are channels 1 and 2. Additional channels
            increment the channel number sequentially.
        speaker:
          type:
            - string
            - 'null'
          description: >-
            The speaker of the sentence if [Speaker
            Diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization) is enabled, else null
      required:
        - text
        - start
        - end
        - sentiment
        - confidence
        - speaker
      description: The result of the Sentiment Analysis model
      title: SentimentAnalysisResult
    TranscriptSpeechUnderstandingRequest:
      oneOf:
        - $ref: '#/components/schemas/TranslationRequestBody'
        - $ref: '#/components/schemas/SpeakerIdentificationRequestBody'
        - $ref: '#/components/schemas/CustomFormattingRequestBody'
      title: TranscriptSpeechUnderstandingRequest
    TranslationResponseTranslation:
      type: object
      properties:
        status:
          type: string
      title: TranslationResponseTranslation
    TranslationResponse:
      type: object
      properties:
        translation:
          $ref: '#/components/schemas/TranslationResponseTranslation'
      title: TranslationResponse
    SpeakerIdentificationResponseSpeakerIdentification:
      type: object
      properties:
        mapping:
          type: object
          additionalProperties:
            type: string
          description: A mapping of the original generic speaker labels (e.g., "A", "B") to the identified speaker names or roles.
        status:
          type: string
      title: SpeakerIdentificationResponseSpeakerIdentification
    SpeakerIdentificationResponse:
      type: object
      properties:
        speaker_identification:
          $ref: '#/components/schemas/SpeakerIdentificationResponseSpeakerIdentification'
      title: SpeakerIdentificationResponse
    CustomFormattingResponseCustomFormatting:
      type: object
      properties:
        mapping:
          type: object
          additionalProperties:
            type: string
        formatted_text:
          type: string
      title: CustomFormattingResponseCustomFormatting
    CustomFormattingResponse:
      type: object
      properties:
        custom_formatting:
          $ref: '#/components/schemas/CustomFormattingResponseCustomFormatting'
      title: CustomFormattingResponse
    TranscriptSpeechUnderstandingResponse:
      oneOf:
        - $ref: '#/components/schemas/TranslationResponse'
        - $ref: '#/components/schemas/SpeakerIdentificationResponse'
        - $ref: '#/components/schemas/CustomFormattingResponse'
      title: TranscriptSpeechUnderstandingResponse
    TranscriptSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/TranscriptSpeechUnderstandingRequest'
        response:
          $ref: '#/components/schemas/TranscriptSpeechUnderstandingResponse'
      description: >
        Speech understanding tasks like [Translation](https://www.assemblyai.com/docs/speech-understanding/translation),
        [Speaker Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and
        [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). See the
        task-specific docs for available options and configuration.
      title: TranscriptSpeechUnderstanding
    TranscriptStatus:
      type: string
      enum:
        - queued
        - processing
        - completed
        - error
      description: The status of your transcript. Possible values are queued, processing, completed, or error.
      title: TranscriptStatus
    TranscriptRemoveAudioTags:
      type: string
      enum:
        - all
      description: >
        Whether [audio event tags](https://www.assemblyai.com/docs/pre-recorded-audio/universal-3-pro#audio-event-tags)
        were removed from the transcript text.


        Note: This parameter is only supported for the Universal-3 Pro model.
      title: TranscriptRemoveAudioTags
    TranscriptWord:
      type: object
      properties:
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript of this word
        start:
          type: integer
          description: The starting time, in milliseconds, for the word
        end:
          type: integer
          description: The ending time, in milliseconds, for the word
        text:
          type: string
          description: The text of the word
        channel:
          type:
            - string
            - 'null'
          description: >-
            The channel of the word. The left and right channels are channels 1 and 2. Additional channels increment the
            channel number sequentially.
        speaker:
          type:
            - string
            - 'null'
          description: >-
            The speaker of the word if [Speaker
            Diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization) is enabled, else null
      required:
        - confidence
        - start
        - end
        - text
        - speaker
      title: TranscriptWord
    TranscriptUtterance:
      type: object
      properties:
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript of this utterance
        start:
          type: integer
          description: The starting time, in milliseconds, of the utterance in the audio file
        end:
          type: integer
          description: The ending time, in milliseconds, of the utterance in the audio file
        text:
          type: string
          description: The text for this utterance
        words:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptWord'
          description: The words in the utterance.
        channel:
          type:
            - string
            - 'null'
          description: >-
            The channel of this utterance. The left and right channels are channels 1 and 2. Additional channels
            increment the channel number sequentially.
        speaker:
          type: string
          description: >-
            The speaker of this utterance, where each speaker is assigned a sequential capital letter - e.g. "A" for
            Speaker A, "B" for Speaker B, etc.
        translated_texts:
          type: object
          additionalProperties:
            type: string
          description: >-
            Translations keyed by language code (e.g., `{"es": "Texto traducido", "de": "Übersetzter Text"}`). Only
            present when `match_original_utterance` is enabled with translation.
      required:
        - confidence
        - start
        - end
        - text
        - words
        - speaker
      title: TranscriptUtterance
    TranscriptTranslatedTexts:
      type: object
      properties:
        language_code:
          type: string
          description: Translated text for this language code
      description: >-
        Translated text keyed by language code. See
        [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for more details.
      title: TranscriptTranslatedTexts
    Transcript:
      type: object
      properties:
        audio_channels:
          type: integer
          description: >-
            The number of audio channels in the audio file. This is only present when
            [multichannel](https://www.assemblyai.com/docs/pre-recorded-audio/multichannel) is enabled.
        audio_duration:
          type:
            - integer
            - 'null'
          description: The duration of this transcript object's media file, in seconds
        audio_end_at:
          type:
            - integer
            - 'null'
          description: >-
            The point in time, in milliseconds, in the file at which the transcription was terminated. See [Set the
            start and end of the
            transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript) for
            more details.
        audio_start_from:
          type:
            - integer
            - 'null'
          description: >-
            The point in time, in milliseconds, in the file at which the transcription was started. See [Set the start
            and end of the
            transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript) for
            more details.
        audio_url:
          type: string
          format: url
          description: The URL of the media that was transcribed
        auto_chapters:
          type:
            - boolean
            - 'null'
          description: >
            Whether [Auto Chapters](https://www.assemblyai.com/docs/speech-understanding/auto-chapters) is enabled, can
            be true or false. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview)
            instead for more flexible chapter summaries. See the [updated Auto Chapters
            page](https://www.assemblyai.com/docs/speech-understanding/auto-chapters) for details.


            Note: This parameter is only supported for the Universal-2 model.
        auto_highlights:
          type: boolean
          description: >-
            Whether [Key Phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases) is enabled, either
            true or false
        auto_highlights_result:
          oneOf:
            - $ref: '#/components/schemas/AutoHighlightsResult'
            - type: 'null'
          description: |
            An array of results for the Key Phrases model, if it is enabled.
            See [Key Phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases) for more information.
        chapters:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Chapter'
          description: >-
            An array of temporally sequential chapters for the audio file. See [Auto
            Chapters](https://www.assemblyai.com/docs/speech-understanding/auto-chapters) for more information.
        confidence:
          type:
            - number
            - 'null'
          format: double
          description: The confidence score for the transcript, between 0.0 (low confidence) and 1.0 (high confidence)
        content_safety:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Content Moderation](https://www.assemblyai.com/docs/content-moderation) is enabled, can be true or
            false
        content_safety_labels:
          oneOf:
            - $ref: '#/components/schemas/ContentSafetyLabelsResult'
            - type: 'null'
          description: |
            An array of results for the Content Moderation model, if it is enabled.
            See [Content moderation](https://www.assemblyai.com/docs/content-moderation) for more information.
        custom_spelling:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TranscriptCustomSpelling'
          description: >-
            Customize how words are spelled and formatted using to and from values. See [Custom
            Spelling](https://www.assemblyai.com/docs/pre-recorded-audio/custom-spelling) for more details.
        disfluencies:
          type:
            - boolean
            - 'null'
          description: >-
            Transcribe [Filler Words](https://www.assemblyai.com/docs/pre-recorded-audio/filler-words), like "umm", in
            your media file; can be true or false
        domain:
          type:
            - string
            - 'null'
          description: >
            The domain-specific model applied to the transcript. When set to `"medical-v1"`, [Medical
            Mode](https://www.assemblyai.com/docs/pre-recorded-audio/medical-mode) was used to improve accuracy for
            medical terminology.
        entities:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Entity'
          description: >
            An array of results for the Entity Detection model, if it is enabled.

            See [Entity detection](https://www.assemblyai.com/docs/speech-understanding/entity-detection) for more
            information.
        entity_detection:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Entity Detection](https://www.assemblyai.com/docs/speech-understanding/entity-detection) is
            enabled, can be true or false
        error:
          type: string
          description: Error message of why the transcript failed
        filter_profanity:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Profanity Filtering](https://www.assemblyai.com/docs/profanity-filtering) is enabled, either true
            or false
        format_text:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Text Formatting](https://www.assemblyai.com/docs/pre-recorded-audio) is enabled, either true or
            false
        iab_categories:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection) is enabled,
            can be true or false
        iab_categories_result:
          oneOf:
            - $ref: '#/components/schemas/TopicDetectionModelResult'
            - type: 'null'
          description: >
            The result of the Topic Detection model, if it is enabled.

            See [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection) for more
            information.
        id:
          type: string
          format: uuid
          description: The unique identifier of your transcript
        keyterms_prompt:
          type: array
          items:
            type: string
          description: >
            Improve accuracy with up to 200 (for Universal-2) or 1000 (for Universal-3 Pro) domain-specific words or
            phrases (maximum 6 words per phrase). See [Keyterms
            Prompting](https://www.assemblyai.com/docs/pre-recorded-audio/keyterms-prompting) for more details.
        language_code:
          $ref: '#/components/schemas/TranscriptLanguageCode'
          description: >
            The language of your audio file.

            Possible values are found in [Supported
            Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).

            The default value is 'en_us'.
        language_codes:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TranscriptLanguageCode'
          description: >
            The language codes of your audio file. Used for [Code
            switching](/docs/speech-to-text/pre-recorded-audio/code-switching)

            One of the values specified must be `en`.
        language_confidence:
          type:
            - number
            - 'null'
          format: double
          description: >-
            The confidence score for the detected language, between 0.0 (low confidence) and 1.0 (high confidence). See
            [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for
            more details.
        language_confidence_threshold:
          type:
            - number
            - 'null'
          format: double
          description: >
            The confidence threshold for the automatically detected language.

            An error will be returned if the language confidence is below this threshold.

            See [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection)
            for more details.
        language_detection:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Automatic language detection](/docs/pre-recorded-audio/automatic-language-detection) is enabled,
            either true or false
        language_detection_options:
          $ref: '#/components/schemas/TranscriptLanguageDetectionOptions'
          description: >-
            Specify options for [Automatic Language
            Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).
        multichannel:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Multichannel transcription](https://www.assemblyai.com/docs/pre-recorded-audio/multichannel) was
            enabled in the transcription request, either true or false
        prompt:
          type: string
          description: >
            Provide natural language prompting of up to 1,500 words of contextual information to the model. See the
            [Prompting Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for best practices.


            Note: This parameter is only supported for the Universal-3 Pro model.
        punctuate:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Automatic Punctuation](https://www.assemblyai.com/docs/pre-recorded-audio) is enabled, either true
            or false
        redact_pii:
          type: boolean
          description: Whether [PII Redaction](https://www.assemblyai.com/docs/pii-redaction) is enabled, either true or false
        redact_pii_audio:
          type:
            - boolean
            - 'null'
          description: >
            Whether a redacted version of the audio file was generated,

            either true or false. See [PII
            redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more information.
        redact_pii_audio_options:
          $ref: '#/components/schemas/TranscriptRedactPiiAudioOptions'
          description: >
            The options for PII-redacted audio, if redact_pii_audio is enabled.

            See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more
            information.
        redact_pii_audio_quality:
          oneOf:
            - $ref: '#/components/schemas/RedactPiiAudioQuality'
            - type: 'null'
          description: >
            The audio quality of the PII-redacted audio file, if redact_pii_audio is enabled.

            See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more
            information.
        redact_pii_policies:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/PiiPolicy'
          description: |
            The list of PII Redaction policies that were enabled, if PII Redaction is enabled.
            See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more information.
        redact_pii_sub:
          $ref: '#/components/schemas/SubstitutionPolicy'
          description: >-
            The replacement logic for detected PII, can be `entity_type` or `hash`. See [PII
            redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
        sentiment_analysis:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Sentiment Analysis](https://www.assemblyai.com/docs/speech-understanding/sentiment-analysis) is
            enabled, can be true or false
        sentiment_analysis_results:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SentimentAnalysisResult'
          description: >
            An array of results for the Sentiment Analysis model, if it is enabled.

            See [Sentiment Analysis](https://www.assemblyai.com/docs/speech-understanding/sentiment-analysis) for more
            information.
        speaker_labels:
          type:
            - boolean
            - 'null'
          description: >-
            Whether [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization) is
            enabled, can be true or false
        speakers_expected:
          type:
            - integer
            - 'null'
          description: >-
            Tell the speaker label model how many speakers it should attempt to identify. See [Set number of speakers
            expected](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-number-of-speakers-expected)
            for more details.
        speech_model_used:
          $ref: '#/components/schemas/SpeechModel'
          description: >-
            The speech model that was actually used for the transcription. See [Model
            Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models.
        speech_models:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SpeechModel'
          description: >
            List multiple speech models in priority order, allowing our system to automatically route your audio to the
            best available option. See [Model
            Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models
            and routing behavior.
        speech_threshold:
          type:
            - number
            - 'null'
          format: double
          description: >
            Defaults to null. Reject audio files that contain less than this fraction of speech.

            Valid values are in the range [0, 1] inclusive. See [Speech
            Threshold](https://www.assemblyai.com/docs/speech-threshold) for more details.
        speech_understanding:
          $ref: '#/components/schemas/TranscriptSpeechUnderstanding'
          description: >
            Speech understanding tasks like
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
            Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). See the task-specific
            docs for available options and configuration.
        status:
          $ref: '#/components/schemas/TranscriptStatus'
          description: The status of your transcript. Possible values are queued, processing, completed, or error.
        summarization:
          type: boolean
          description: >
            Whether [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization) is enabled,
            either true or false. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview)
            instead for more flexible summaries. See the [updated Summarization
            page](https://www.assemblyai.com/docs/speech-understanding/summarization) for details.


            Note: This parameter is only supported for the Universal-2 model.
        summary:
          type:
            - string
            - 'null'
          description: >-
            The generated summary of the media file, if
            [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization) is enabled. Deprecated -
            use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for more flexible summaries.
            See the [updated Summarization page](https://www.assemblyai.com/docs/speech-understanding/summarization) for
            details.
        summary_model:
          type:
            - string
            - 'null'
          description: >
            The Summarization model used to generate the summary,

            if [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization#summary-models) is
            enabled. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for
            more flexible summaries. See the [updated Summarization
            page](https://www.assemblyai.com/docs/speech-understanding/summarization) for details.
        summary_type:
          type:
            - string
            - 'null'
          description: >-
            The type of summary generated, if
            [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization#summary-types) is
            enabled. Deprecated - use [LLM Gateway](https://www.assemblyai.com/docs/llm-gateway/overview) instead for
            more flexible summaries. See the [updated Summarization
            page](https://www.assemblyai.com/docs/speech-understanding/summarization) for details.
        remove_audio_tags:
          oneOf:
            - $ref: '#/components/schemas/TranscriptRemoveAudioTags'
            - type: 'null'
          description: >
            Whether [audio event
            tags](https://www.assemblyai.com/docs/pre-recorded-audio/universal-3-pro#audio-event-tags) were removed from
            the transcript text.


            Note: This parameter is only supported for the Universal-3 Pro model.
        temperature:
          type:
            - number
            - 'null'
          format: double
          description: >
            The temperature that was used for the model's response. See the [Prompting
            Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for more details.


            Note: This parameter can only be used with the Universal-3 Pro model.
        text:
          type:
            - string
            - 'null'
          description: The textual transcript of your media file
        throttled:
          type:
            - boolean
            - 'null'
          description: True while a request is throttled and false when a request is no longer throttled
        utterances:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TranscriptUtterance'
          description: >
            When multichannel or speaker_labels is enabled, a list of turn-by-turn utterance objects.

            See [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization) and
            [Multichannel transcription](https://www.assemblyai.com/docs/pre-recorded-audio/multichannel) for more
            information.
        webhook_auth:
          type: boolean
          description: >-
            Whether [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) authentication
            details were provided
        webhook_auth_header_name:
          type:
            - string
            - 'null'
          description: >-
            The header name to be sent with the transcript completed or failed
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) requests
        webhook_status_code:
          type:
            - integer
            - 'null'
          description: >-
            The status code we received from your server when delivering the transcript completed or failed
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) request, if a webhook
            URL was provided
        webhook_url:
          type:
            - string
            - 'null'
          format: url
          description: >
            The URL to which we send
            [webhook](https://www.assemblyai.com/docs/deployment/webhooks-for-pre-recorded-audio) requests.
        words:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TranscriptWord'
          description: |
            An array of temporally-sequential word objects, one for each word in the transcript.
        acoustic_model:
          type: string
          description: This parameter does not currently have any functionality attached to it.
        custom_topics:
          type:
            - boolean
            - 'null'
          description: This parameter does not currently have any functionality attached to it.
        language_model:
          type: string
          description: This parameter does not currently have any functionality attached to it.
        speech_model:
          oneOf:
            - $ref: '#/components/schemas/SpeechModel'
            - type: 'null'
          description: >
            This parameter has been replaced with the `speech_models` parameter, learn more about the `speech_models`
            parameter [here](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model).
        speed_boost:
          type:
            - boolean
            - 'null'
          description: This parameter does not currently have any functionality attached to it.
        topics:
          type: array
          items:
            type: string
          description: This parameter does not currently have any functionality attached to it.
        translated_texts:
          $ref: '#/components/schemas/TranscriptTranslatedTexts'
          description: >-
            Translated text keyed by language code. See
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for more details.
      required:
        - audio_url
        - auto_highlights
        - id
        - language_confidence
        - language_confidence_threshold
        - redact_pii
        - status
        - summarization
        - webhook_auth
        - acoustic_model
        - language_model
        - speech_model
      description: A transcript object
      title: Transcript
    TranscriptSentence:
      type: object
      properties:
        text:
          type: string
          description: The transcript of the sentence
        start:
          type: integer
          description: The starting time, in milliseconds, for the sentence
        end:
          type: integer
          description: The ending time, in milliseconds, for the sentence
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript of this sentence
        words:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptWord'
          description: An array of words in the sentence
        channel:
          type:
            - string
            - 'null'
          description: >-
            The channel of the sentence. The left and right channels are channels 1 and 2. Additional channels increment
            the channel number sequentially.
        speaker:
          type:
            - string
            - 'null'
          description: >-
            The speaker of the sentence if [Speaker
            Diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization) is enabled, else null
      required:
        - text
        - start
        - end
        - confidence
        - words
        - speaker
      title: TranscriptSentence
    SentencesResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier for the transcript
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript
        audio_duration:
          type: number
          format: double
          description: The duration of the audio file in seconds
        sentences:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptSentence'
          description: An array of sentences in the transcript
      required:
        - id
        - confidence
        - audio_duration
        - sentences
      title: SentencesResponse
    TranscriptParagraph:
      type: object
      properties:
        text:
          type: string
          description: The transcript of the paragraph
        start:
          type: integer
          description: The starting time, in milliseconds, of the paragraph
        end:
          type: integer
          description: The ending time, in milliseconds, of the paragraph
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript of this paragraph
        words:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptWord'
          description: An array of words in the paragraph
      required:
        - text
        - start
        - end
        - confidence
        - words
      title: TranscriptParagraph
    ParagraphsResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of your transcript
        confidence:
          type: number
          format: double
          description: The confidence score for the transcript
        audio_duration:
          type: number
          format: double
          description: The duration of the audio file in seconds
        paragraphs:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptParagraph'
          description: An array of paragraphs in the transcript
      required:
        - id
        - confidence
        - audio_duration
        - paragraphs
      title: ParagraphsResponse
    SubtitleFormat:
      type: string
      enum:
        - srt
        - vtt
      description: Format of the subtitles
      title: SubtitleFormat
    RedactedAudioStatus:
      type: string
      enum:
        - redacted_audio_ready
      description: The status of the redacted audio
      title: RedactedAudioStatus
    RedactedAudioResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/RedactedAudioStatus'
          description: The status of the redacted audio
        redacted_audio_url:
          type: string
          format: url
          description: The URL of the redacted audio file
      required:
        - status
        - redacted_audio_url
      title: RedactedAudioResponse
    WordSearchTimestamp:
      type: array
      items:
        type: integer
      description: An array of timestamps structured as [`start_time`, `end_time`] in milliseconds
      title: WordSearchTimestamp
    WordSearchMatch:
      type: object
      properties:
        text:
          type: string
          description: The matched word
        count:
          type: integer
          description: The total amount of times the word is in the transcript
        timestamps:
          type: array
          items:
            $ref: '#/components/schemas/WordSearchTimestamp'
          description: An array of timestamps
        indexes:
          type: array
          items:
            type: integer
          description: An array of all index locations for that word within the `words` array of the completed transcript
      required:
        - text
        - count
        - timestamps
        - indexes
      title: WordSearchMatch
    WordSearchResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the transcript
        total_count:
          type: integer
          description: >-
            The total count of all matched instances. For e.g., word 1 matched 2 times, and word 2 matched 3 times,
            `total_count` will equal 5.
        matches:
          type: array
          items:
            $ref: '#/components/schemas/WordSearchMatch'
          description: The matches of the search
      required:
        - id
        - total_count
        - matches
      title: WordSearchResponse
    PageDetails:
      type: object
      properties:
        limit:
          type: integer
          description: The number of results this page is limited to
        result_count:
          type: integer
          description: The actual number of results in the page
        current_url:
          type: string
          format: url
          description: The URL used to retrieve the current page of transcripts
        prev_url:
          type:
            - string
            - 'null'
          format: url
          description: The URL to the next page of transcripts. The previous URL always points to a page with older transcripts.
        next_url:
          type:
            - string
            - 'null'
          format: url
          description: The URL to the next page of transcripts. The next URL always points to a page with newer transcripts.
      required:
        - limit
        - result_count
        - current_url
        - prev_url
        - next_url
      description: >-
        Details of the transcript page. Transcripts are sorted from newest to oldest. The previous URL always points to
        a page with older transcripts.
      title: PageDetails
    TranscriptListItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier for the transcript
        resource_url:
          type: string
          format: url
          description: The URL to retrieve the transcript
        status:
          $ref: '#/components/schemas/TranscriptStatus'
          description: The status of the transcript
        created:
          type: string
          format: date-time
          description: The date and time the transcript was created
        completed:
          type: string
          format: date-time
          description: The date and time the transcript was completed
        audio_url:
          type: string
          format: url
          description: The URL to the audio file
        error:
          type:
            - string
            - 'null'
          description: Error message of why the transcript failed
      required:
        - id
        - resource_url
        - status
        - created
        - audio_url
        - error
      title: TranscriptListItem
    TranscriptList:
      type: object
      properties:
        page_details:
          $ref: '#/components/schemas/PageDetails'
          description: Details of the transcript page
        transcripts:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptListItem'
          description: An array of transcripts
      required:
        - page_details
        - transcripts
      description: >-
        A list of transcripts. Transcripts are sorted from newest to oldest. The previous URL always points to a page
        with older transcripts.
      title: TranscriptList
    UserAssistantSystemMessageRole:
      type: string
      enum:
        - user
        - assistant
        - system
      title: UserAssistantSystemMessageRole
    ContentPart:
      description: Any type
      title: ContentPart
    UserAssistantSystemMessageContent1:
      type: array
      items:
        $ref: '#/components/schemas/ContentPart'
      title: UserAssistantSystemMessageContent1
    UserAssistantSystemMessageContent:
      oneOf:
        - type: string
        - $ref: '#/components/schemas/UserAssistantSystemMessageContent1'
      description: The content of the message. Can be a string or an array of content parts (for user messages).
      title: UserAssistantSystemMessageContent
    ToolMessageRole:
      type: string
      enum:
        - tool
      title: ToolMessageRole
    Message:
      oneOf:
        - type: object
          properties:
            role:
              $ref: '#/components/schemas/UserAssistantSystemMessageRole'
            content:
              $ref: '#/components/schemas/UserAssistantSystemMessageContent'
              description: The content of the message. Can be a string or an array of content parts (for user messages).
            name:
              type: string
              description: An optional name for the participant.
          required:
            - role
            - content
          description: user variant
        - type: object
          properties:
            role:
              $ref: '#/components/schemas/UserAssistantSystemMessageRole'
            content:
              $ref: '#/components/schemas/UserAssistantSystemMessageContent'
              description: The content of the message. Can be a string or an array of content parts (for user messages).
            name:
              type: string
              description: An optional name for the participant.
          required:
            - role
            - content
          description: assistant variant
        - type: object
          properties:
            role:
              $ref: '#/components/schemas/UserAssistantSystemMessageRole'
            content:
              $ref: '#/components/schemas/UserAssistantSystemMessageContent'
              description: The content of the message. Can be a string or an array of content parts (for user messages).
            name:
              type: string
              description: An optional name for the participant.
          required:
            - role
            - content
          description: system variant
        - type: object
          properties:
            role:
              $ref: '#/components/schemas/ToolMessageRole'
            content:
              type: string
              description: The result of the tool call.
            tool_call_id:
              type: string
              description: The ID of the tool call that this message is responding to.
          required:
            - role
            - content
            - tool_call_id
          description: tool variant
      discriminator:
        propertyName: role
      title: Message
    ToolType:
      type: string
      enum:
        - function
      title: ToolType
    FunctionDescription:
      type: object
      properties:
        name:
          type: string
          description: The name of the function to be called.
        description:
          type: string
          description: A description of what the function does.
        parameters:
          type: object
          additionalProperties:
            description: Any type
          description: A JSON Schema object describing the parameters the function accepts.
      required:
        - name
        - parameters
      title: FunctionDescription
    Tool:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ToolType'
        function:
          $ref: '#/components/schemas/FunctionDescription'
      required:
        - type
        - function
      title: Tool
    ToolChoice0:
      type: string
      enum:
        - none
        - auto
      title: ToolChoice0
    ToolChoiceOneOf1Type:
      type: string
      enum:
        - function
      title: ToolChoiceOneOf1Type
    ToolChoiceOneOf1Function:
      type: object
      properties:
        name:
          type: string
      required:
        - name
      title: ToolChoiceOneOf1Function
    ToolChoice1:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ToolChoiceOneOf1Type'
        function:
          $ref: '#/components/schemas/ToolChoiceOneOf1Function'
      required:
        - type
        - function
      title: ToolChoice1
    ToolChoice:
      oneOf:
        - $ref: '#/components/schemas/ToolChoice0'
        - $ref: '#/components/schemas/ToolChoice1'
      description: Controls which (if any) function is called by the model.
      title: ToolChoice
    ResponseFormatType:
      type: string
      enum:
        - json_schema
      description: The type of response format. Use `json_schema` for structured outputs.
      title: ResponseFormatType
    JsonSchemaConfig:
      type: object
      properties:
        name:
          type: string
          description: A name for the schema. Used for identification purposes.
        schema:
          type: object
          additionalProperties:
            description: Any type
          description: A valid JSON Schema object that defines the structure of the expected response.
        strict:
          type: boolean
          default: false
          description: When `true`, the model will strictly adhere to the schema. Recommended for reliable parsing.
      required:
        - name
        - schema
      description: Configuration for JSON schema-based structured outputs.
      title: JsonSchemaConfig
    ResponseFormat:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ResponseFormatType'
          description: The type of response format. Use `json_schema` for structured outputs.
        json_schema:
          $ref: '#/components/schemas/JsonSchemaConfig'
          description: The JSON schema configuration object.
      required:
        - type
        - json_schema
      description: >-
        Specifies the format of the model's response. Use `json_schema` type to constrain the model to output valid JSON
        matching a schema.
      title: ResponseFormat
    FallbackObject:
      type: object
      properties:
        model:
          type: string
          description: >-
            The fallback model to use. See [LLM Gateway
            Overview](https://www.assemblyai.com/docs/llm-gateway/overview#available-models) for available models.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          description: Override the messages for the fallback request.
        max_tokens:
          type: integer
          description: Override the maximum number of tokens to generate in the fallback completion.
        temperature:
          type: number
          format: double
          description: Override the temperature for the fallback request.
      required:
        - model
      description: >-
        A fallback model configuration. Each object must include a `model` and can optionally override any field from
        the original request. Fields not specified in the fallback inherit the values from the original request. See
        [Specify fallback models](https://www.assemblyai.com/docs/llm-gateway/fallback) for more details.
      title: FallbackObject
    FallbackConfig:
      type: object
      properties:
        retry:
          type: boolean
          default: true
          description: Whether to automatically retry the request once after 500ms on failure. Defaults to `true`.
        depth:
          type: integer
          default: 1
          description: The maximum number of fallbacks to traverse. Defaults to `1`, with a maximum of `2`.
      description: >-
        Configuration for fallback behavior. See [Specify fallback
        models](https://www.assemblyai.com/docs/llm-gateway/fallback) for more details.
      title: FallbackConfig
    LLMGatewayRequest:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          description: A list of messages comprising the conversation so far.
        prompt:
          type: string
          description: A simple string prompt. The API will automatically convert this into a user message.
        model:
          type: string
          description: >-
            The ID of the model to use for this request. See [LLM Gateway
            Overview](https://www.assemblyai.com/docs/llm-gateway/overview#available-models) for available models.
        max_tokens:
          type: integer
          default: 1000
          description: The maximum number of tokens to generate in the completion. Default is 1000.
        temperature:
          type: number
          format: double
          description: Controls randomness. Lower values produce more deterministic results.
        stream:
          type: boolean
          default: false
          description: When true, responses are streamed as server-sent events (SSE). Supported on OpenAI models only.
        tools:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
          description: A list of tools the model may call.
        tool_choice:
          $ref: '#/components/schemas/ToolChoice'
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
          description: >-
            Specifies the format of the model's response. Use this to constrain the model to output valid JSON matching
            a schema. Supported by OpenAI (GPT-4.1, GPT-5.x), Gemini, and Claude models. Not supported by gpt-oss
            models.
        fallbacks:
          type: array
          items:
            $ref: '#/components/schemas/FallbackObject'
          description: >-
            An array of fallback objects. Each object must include a `model` and can optionally override any field from
            the original request. If the primary model fails, the LLM Gateway tries each fallback in order until one
            succeeds. See [Specify fallback models](https://www.assemblyai.com/docs/llm-gateway/fallback) for more
            details.
        fallback_config:
          $ref: '#/components/schemas/FallbackConfig'
          description: >-
            Configuration for fallback behavior, including retry and depth settings. See [Specify fallback
            models](https://www.assemblyai.com/docs/llm-gateway/fallback) for more details.
      required:
        - model
      description: The main request body for the chat completions endpoint.
      title: LLMGatewayRequest
    ResponseMessage:
      type: object
      properties:
        role:
          type: string
        content:
          type: string
      title: ResponseMessage
    FunctionToolCallType:
      type: string
      enum:
        - function
      title: FunctionToolCallType
    FunctionCall:
      type: object
      properties:
        name:
          type: string
        arguments:
          type: string
          description: The arguments to call the function with, as a JSON-formatted string.
      required:
        - name
        - arguments
      title: FunctionCall
    FunctionToolCall:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: '#/components/schemas/FunctionToolCallType'
        function:
          $ref: '#/components/schemas/FunctionCall'
      required:
        - id
        - type
        - function
      title: FunctionToolCall
    Choice:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/ResponseMessage'
        finish_reason:
          type: string
          description: The reason the model stopped generating tokens.
        tool_calls:
          type: array
          items:
            $ref: '#/components/schemas/FunctionToolCall'
      title: Choice
    ResponseRequest:
      type: object
      properties:
        model:
          type: string
        max_tokens:
          type: integer
        temperature:
          type: number
          format: double
        tools:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
        tool_choice:
          $ref: '#/components/schemas/ToolChoice'
      description: A copy of the original request, excluding `prompt` and `messages`.
      title: ResponseRequest
    Usage:
      type: object
      properties:
        input_tokens:
          type: integer
        output_tokens:
          type: integer
        total_tokens:
          type: integer
      required:
        - input_tokens
        - output_tokens
        - total_tokens
      title: Usage
    Response:
      type: object
      properties:
        request_id:
          type: string
          format: uuid
        choices:
          type: array
          items:
            $ref: '#/components/schemas/Choice'
        request:
          $ref: '#/components/schemas/ResponseRequest'
          description: A copy of the original request, excluding `prompt` and `messages`.
        usage:
          $ref: '#/components/schemas/Usage'
        http_status_code:
          type: integer
          description: The HTTP status code of the response
        response_time:
          type: integer
          description: The response time in nanoseconds
        llm_status_code:
          type: integer
          description: The status code from the LLM provider
      title: Response
    UnderstandingRequestSpeechUnderstandingRequest:
      oneOf:
        - $ref: '#/components/schemas/TranslationRequestBody'
        - $ref: '#/components/schemas/SpeakerIdentificationRequestBody'
        - $ref: '#/components/schemas/CustomFormattingRequestBody'
      title: UnderstandingRequestSpeechUnderstandingRequest
    UnderstandingRequestSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/UnderstandingRequestSpeechUnderstandingRequest'
      required:
        - request
      description: >-
        The speech understanding task to perform. Supports
        [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
        Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
        Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). Click into the request
        object below to see the available options.
      title: UnderstandingRequestSpeechUnderstanding
    UnderstandingRequest:
      type: object
      properties:
        transcript_id:
          type: string
          description: The ID of the transcript to process.
        speech_understanding:
          $ref: '#/components/schemas/UnderstandingRequestSpeechUnderstanding'
          description: >-
            The speech understanding task to perform. Supports
            [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker
            Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom
            Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). Click into the request
            object below to see the available options.
      required:
        - transcript_id
        - speech_understanding
      title: UnderstandingRequest
    LlmGatewayTranslationResponseSpeechUnderstandingResponseTranslation:
      type: object
      properties:
        status:
          type: string
      title: LlmGatewayTranslationResponseSpeechUnderstandingResponseTranslation
    LlmGatewayTranslationResponseSpeechUnderstandingResponse:
      type: object
      properties:
        translation:
          $ref: '#/components/schemas/LlmGatewayTranslationResponseSpeechUnderstandingResponseTranslation'
      title: LlmGatewayTranslationResponseSpeechUnderstandingResponse
    LlmGatewayTranslationResponseSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/TranslationRequestBody'
        response:
          $ref: '#/components/schemas/LlmGatewayTranslationResponseSpeechUnderstandingResponse'
      title: LlmGatewayTranslationResponseSpeechUnderstanding
    LlmGatewayTranslationResponseUtterancesItems:
      type: object
      properties:
        translated_texts:
          type: object
          additionalProperties:
            type: string
          description: >-
            Translations keyed by language code (e.g., `{"es": "Texto traducido", "de": "Übersetzter Text"}`). Only
            present when `match_original_utterance` is enabled.
      title: LlmGatewayTranslationResponseUtterancesItems
    LlmGatewayTranslationResponseWordsItems:
      type: object
      properties: {}
      title: LlmGatewayTranslationResponseWordsItems
    LLMGatewayTranslationResponse:
      type: object
      properties:
        speech_understanding:
          $ref: '#/components/schemas/LlmGatewayTranslationResponseSpeechUnderstanding'
        translated_texts:
          type: object
          additionalProperties:
            type: string
          description: 'Translated text keyed by language code (e.g., `{"es": "Texto traducido"}`)'
        utterances:
          type: array
          items:
            $ref: '#/components/schemas/LlmGatewayTranslationResponseUtterancesItems'
          description: Array of utterances with translations (when `match_original_utterance` is true)
        words:
          type: array
          items:
            $ref: '#/components/schemas/LlmGatewayTranslationResponseWordsItems'
      title: LLMGatewayTranslationResponse
    LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponseSpeakerIdentification:
      type: object
      properties:
        mapping:
          type: object
          additionalProperties:
            type: string
          description: A mapping of the original generic speaker labels (e.g., "A", "B") to the identified speaker names or roles.
        status:
          type: string
      required:
        - status
      title: LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponseSpeakerIdentification
    LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponse:
      type: object
      properties:
        speaker_identification:
          $ref: '#/components/schemas/LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponseSpeakerIdentification'
      title: LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponse
    LlmGatewaySpeakerIdentificationResponseSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/SpeakerIdentificationRequestBody'
        response:
          $ref: '#/components/schemas/LlmGatewaySpeakerIdentificationResponseSpeechUnderstandingResponse'
      title: LlmGatewaySpeakerIdentificationResponseSpeechUnderstanding
    LlmGatewaySpeakerIdentificationResponseUtterancesItems:
      type: object
      properties: {}
      title: LlmGatewaySpeakerIdentificationResponseUtterancesItems
    LlmGatewaySpeakerIdentificationResponseWordsItems:
      type: object
      properties: {}
      title: LlmGatewaySpeakerIdentificationResponseWordsItems
    LLMGatewaySpeakerIdentificationResponse:
      type: object
      properties:
        speech_understanding:
          $ref: '#/components/schemas/LlmGatewaySpeakerIdentificationResponseSpeechUnderstanding'
        utterances:
          type: array
          items:
            $ref: '#/components/schemas/LlmGatewaySpeakerIdentificationResponseUtterancesItems'
        words:
          type: array
          items:
            $ref: '#/components/schemas/LlmGatewaySpeakerIdentificationResponseWordsItems'
      title: LLMGatewaySpeakerIdentificationResponse
    LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormattingFormattedUtterancesItems:
      type: object
      properties: {}
      title: LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormattingFormattedUtterancesItems
    LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormatting:
      type: object
      properties:
        mapping:
          type: object
          additionalProperties:
            type: string
        formatted_text:
          type: string
        formatted_utterances:
          type: array
          items:
            $ref: >-
              #/components/schemas/LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormattingFormattedUtterancesItems
          description: Array of formatted utterances. Only included when utterances exist and formatting was applied.
        status:
          type: string
      required:
        - mapping
        - status
      title: LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormatting
    LlmGatewayCustomFormattingResponseSpeechUnderstandingResponse:
      type: object
      properties:
        custom_formatting:
          $ref: '#/components/schemas/LlmGatewayCustomFormattingResponseSpeechUnderstandingResponseCustomFormatting'
      title: LlmGatewayCustomFormattingResponseSpeechUnderstandingResponse
    LlmGatewayCustomFormattingResponseSpeechUnderstanding:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/CustomFormattingRequestBody'
        response:
          $ref: '#/components/schemas/LlmGatewayCustomFormattingResponseSpeechUnderstandingResponse'
      title: LlmGatewayCustomFormattingResponseSpeechUnderstanding
    LlmGatewayCustomFormattingResponseUtterancesItems:
      type: object
      properties: {}
      title: LlmGatewayCustomFormattingResponseUtterancesItems
    LLMGatewayCustomFormattingResponse:
      type: object
      properties:
        speech_understanding:
          $ref: '#/components/schemas/LlmGatewayCustomFormattingResponseSpeechUnderstanding'
        utterances:
          type: array
          items:
            $ref: '#/components/schemas/LlmGatewayCustomFormattingResponseUtterancesItems'
      title: LLMGatewayCustomFormattingResponse
    createSpeechUnderstanding_Response_200:
      oneOf:
        - $ref: '#/components/schemas/LLMGatewayTranslationResponse'
        - $ref: '#/components/schemas/LLMGatewaySpeakerIdentificationResponse'
        - $ref: '#/components/schemas/LLMGatewayCustomFormattingResponse'
      title: createSpeechUnderstanding_Response_200
    Streaming API_generateStreamingToken_Response_200:
      type: object
      properties:
        token:
          type: string
          description: The temporary authentication token
        expires_in_seconds:
          type: integer
          description: |
            The actual expiration time of the token in seconds.
      required:
        - token
        - expires_in_seconds
      title: Streaming API_generateStreamingToken_Response_200
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: Authorization
