Gladia Transcription V2 API

The Transcription V2 API from Gladia — 3 operation(s) for transcription v2.

OpenAPI Specification

gladia-transcription-v2-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Gladia Control AudioToText Transcription V2 API
  description: Gladia AI audio infrastructure API for speech-to-text transcription via REST and WebSocket. Supports asynchronous pre-recorded audio processing and real-time live transcription with speaker diarization, automatic language detection across 100+ languages, and audio intelligence features.
  version: '1.0'
  contact: {}
servers:
- url: https://api.gladia.io/
  description: Gladia API production URL
tags:
- name: Transcription V2
paths:
  /v2/transcription:
    post:
      operationId: TranscriptionController_initPreRecordedJob_v2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitTranscriptionRequest'
      responses:
        '201':
          description: The transcription job has been initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitPreRecordedTranscriptionResponse'
        '400':
          description: Something is wrong with the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '401':
          description: You don't have the permissions to initiate a new transcription job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '422':
          description: The parameters you gave are incorrect
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityErrorResponse'
      security:
      - x_gladia_key: []
      summary: Initiate a new transcription job
      tags:
      - Transcription V2
    get:
      operationId: TranscriptionController_list_v2
      parameters:
      - name: offset
        required: false
        in: query
        description: The starting point for pagination. A value of 0 starts from the first item.
        schema:
          minimum: 0
          default: 0
          type: integer
      - name: limit
        required: false
        in: query
        description: The maximum number of items to return. Useful for pagination and controlling data payload size.
        schema:
          minimum: 1
          default: 20
          type: integer
      - name: date
        required: false
        in: query
        description: Filter items relevant to a specific date in ISO format (YYYY-MM-DD).
        schema:
          format: date-time
          example: '2026-06-12'
          type: string
      - name: before_date
        required: false
        in: query
        description: Include items that occurred before the specified date in ISO format.
        schema:
          format: date-time
          example: '2026-06-12T21:00:09.947Z'
          type: string
      - name: after_date
        required: false
        in: query
        description: Filter for items after the specified date. Use with `before_date` for a range. Date in ISO format.
        schema:
          format: date-time
          example: '2026-06-12T21:00:09.947Z'
          type: string
      - name: status
        required: false
        in: query
        description: Filter the list based on item status. Accepts multiple values from the predefined list.
        schema:
          example:
          - done
          type: array
          items:
            type: string
            enum:
            - queued
            - processing
            - done
            - error
      - name: custom_metadata
        required: false
        in: query
        schema:
          additionalProperties: true
          example:
            user: John Doe
          type: object
      - name: kind
        required: false
        in: query
        description: Filter the list based on the item type. Supports multiple values from the predefined list.
        schema:
          example:
          - pre-recorded
          type: array
          items:
            type: string
            enum:
            - pre-recorded
            - live
      responses:
        '200':
          description: A list of transcription jobs matching the parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTranscriptionResponse'
        '401':
          description: You don't have the permissions to access transcription jobs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
      security:
      - x_gladia_key: []
      summary: Get transcription jobs based on query parameters
      tags:
      - Transcription V2
  /v2/transcription/{id}:
    get:
      operationId: TranscriptionController_getTranscript_v2
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the transcription job
        schema:
          example: 45463597-20b7-4af7-b3b3-f5fb778203ab
          type: string
      responses:
        '200':
          description: The transcription job's metadata
          content:
            application/json:
              schema:
                example:
                  id: 45463597-20b7-4af7-b3b3-f5fb778203ab
                  request_id: G-45463597
                  version: 2
                  kind: pre-recorded
                  created_at: '2023-12-28T09:04:17.210Z'
                  status: queued
                  file:
                    id: f0dcZE10-23d8-47f0-a25d-74a6eed88721
                    filename: split_infinity.wav
                    source: http://files.gladia.io/example/audio-transcription/split_infinity.wav
                    audio_duration: 20
                    number_of_channels: 1
                  request_params:
                    audio_url: http://files.gladia.io/example/audio-transcription/split_infinity.wav
                    subtitles: false
                    diarization: false
                    translation: false
                    summarization: false
                    sentences: false
                    moderation: false
                    named_entity_recognition: false
                    name_consistency: false
                    custom_spelling: false
                    structured_data_extraction: false
                    chapterization: false
                    sentiment_analysis: false
                    display_mode: false
                    audio_enhancer: false
                    language_config:
                      code_switching: false
                      languages:
                      - fr
                      - en
                    accurate_words_timestamps: false
                    diarization_enhanced: false
                    punctuation_enhanced: false
                  completed_at: null
                  custom_metadata: null
                  error_code: null
                  result: null
                oneOf:
                - $ref: '#/components/schemas/PreRecordedResponse'
                - $ref: '#/components/schemas/StreamingResponse'
                discriminator:
                  propertyName: kind
                  mapping:
                    pre-recorded: '#/components/schemas/PreRecordedResponse'
                    live: '#/components/schemas/StreamingResponse'
        '401':
          description: You don't have the permissions to access the transcription job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '404':
          description: The transcription job doesn't exist or has been deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorResponse'
      security:
      - x_gladia_key: []
      summary: Get the transcription job's metadata
      tags:
      - Transcription V2
    delete:
      operationId: TranscriptionController_deleteTranscript_v2
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the transcription job
        schema:
          example: 45463597-20b7-4af7-b3b3-f5fb778203ab
          type: string
      responses:
        '202':
          description: The transcription job has been successfully deleted
        '401':
          description: You don't have the permissions to delete this transcription job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '403':
          description: The transcription job is not in a deletable state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorResponse'
        '404':
          description: The transcription job doesn't exist or has been deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorResponse'
      security:
      - x_gladia_key: []
      summary: Delete the transcription job
      tags:
      - Transcription V2
  /v2/transcription/{id}/file:
    get:
      operationId: TranscriptionController_getAudio_v2
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the transcription job
        schema:
          example: 45463597-20b7-4af7-b3b3-f5fb778203ab
          type: string
      responses:
        '200':
          description: The audio file used for this transcription job
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                example: <binary>
        '401':
          description: You don't have the permissions to access this transcription job or its audio file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '404':
          description: The transcription job or its audio file doesn't exist or has been deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorResponse'
      security:
      - x_gladia_key: []
      summary: Download the audio file used for this transcription job
      tags:
      - Transcription V2
components:
  schemas:
    StructuredDataExtractionDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          type: string
          description: If `structured_data_extraction` has been enabled, results of the AI structured data extraction for the defined classes.
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    SubtitlesConfigDTO:
      type: object
      properties:
        formats:
          type: array
          description: Subtitles formats you want your transcription to be formatted to
          default:
          - srt
          minItems: 1
          example:
          - srt
          items:
            $ref: '#/components/schemas/SubtitlesFormatEnum'
        minimum_duration:
          type: number
          description: Minimum duration of a subtitle in seconds
          minimum: 0
        maximum_duration:
          type: number
          description: Maximum duration of a subtitle in seconds
          minimum: 1
          maximum: 30
        maximum_characters_per_row:
          type: integer
          description: Maximum number of characters per row in a subtitle
          minimum: 1
        maximum_rows_per_caption:
          type: integer
          description: Maximum number of rows per caption
          minimum: 1
          maximum: 5
        style:
          description: 'Style of the subtitles. Compliance mode refers to : https://loc.gov/preservation/digital/formats//fdd/fdd000569.shtml#:~:text=SRT%20files%20are%20basic%20text,alongside%2C%20example%3A%20%22MyVideo123'
          default: default
          allOf:
          - $ref: '#/components/schemas/SubtitlesStyleEnum'
    DiarizationDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          description: '[Deprecated] If `diarization` has been enabled, the diarization result will appear here'
          type: array
          items:
            $ref: '#/components/schemas/UtteranceDTO'
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    PostProcessingConfig:
      type: object
      properties:
        summarization:
          type: boolean
          description: If true, generates summarization for the whole transcription.
          default: false
        summarization_config:
          description: Summarization configuration, if `summarization` is enabled
          allOf:
          - $ref: '#/components/schemas/SummarizationConfigDTO'
        chapterization:
          type: boolean
          description: If true, generates chapters for the whole transcription.
          default: false
    StreamingSupportedBitDepthEnum:
      type: number
      enum:
      - 8
      - 16
      - 24
      - 32
      description: The bit depth of the audio stream
    NamedEntityRecognitionResult:
      type: object
      properties:
        entity_type:
          type: string
        text:
          type: string
        start:
          type: number
        end:
          type: number
      required:
      - entity_type
      - text
      - start
      - end
    NamedEntityRecognitionDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          description: If `named_entity_recognition` has been enabled, the detected entities.
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/NamedEntityRecognitionResult'
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    WordDTO:
      type: object
      properties:
        word:
          type: string
          description: Spoken word
        start:
          type: number
          description: Start timestamps in seconds of the spoken word
        end:
          type: number
          description: End timestamps in seconds of the spoken word
        confidence:
          type: number
          description: Confidence on the transcribed word (1 = 100% confident)
      required:
      - word
      - start
      - end
      - confidence
    SummarizationConfigDTO:
      type: object
      properties:
        type:
          description: The type of summarization to apply
          default: general
          allOf:
          - $ref: '#/components/schemas/SummaryTypesEnum'
    SummarizationDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          type: string
          description: If `summarization` has been enabled, summary of the transcription
          nullable: true
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    TranscriptionLanguageCodeEnum:
      type: string
      enum:
      - af
      - am
      - ar
      - as
      - az
      - ba
      - be
      - bg
      - bn
      - bo
      - br
      - bs
      - ca
      - cs
      - cy
      - da
      - de
      - el
      - en
      - es
      - et
      - eu
      - fa
      - fi
      - fo
      - fr
      - gl
      - gu
      - ha
      - haw
      - he
      - hi
      - hr
      - ht
      - hu
      - hy
      - id
      - is
      - it
      - ja
      - jw
      - ka
      - kk
      - km
      - kn
      - ko
      - la
      - lb
      - ln
      - lo
      - lt
      - lv
      - mg
      - mi
      - mk
      - ml
      - mn
      - mr
      - ms
      - mt
      - my
      - ne
      - nl
      - nn
      - 'no'
      - oc
      - pa
      - pl
      - ps
      - pt
      - ro
      - ru
      - sa
      - sd
      - si
      - sk
      - sl
      - sn
      - so
      - sq
      - sr
      - su
      - sv
      - sw
      - ta
      - te
      - tg
      - th
      - tk
      - tl
      - tr
      - tt
      - uk
      - ur
      - uz
      - vi
      - yi
      - yo
      - zh
      description: Specify the language in which it will be pronounced when sound comparison occurs. Default to transcription language.
    SentimentAnalysisDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          type: string
          description: If `sentiment_analysis` has been enabled, Gladia will analyze the sentiments and emotions of the audio
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    InitPreRecordedTranscriptionResponse:
      type: object
      properties:
        id:
          type: string
          description: Id of the job
          format: uuid
          example: 45463597-20b7-4af7-b3b3-f5fb778203ab
        result_url:
          type: string
          description: Prebuilt URL with your transcription `id` to fetch the result
          example: https://api.gladia.io/v2/transcription/45463597-20b7-4af7-b3b3-f5fb778203ab
          format: uri
      required:
      - id
      - result_url
    FileResponse:
      type: object
      properties:
        id:
          type: string
          description: The file id
        filename:
          type: string
          nullable: true
          description: The name of the uploaded file
        source:
          type: string
          nullable: true
          description: The link used to download the file if audio_url was used
        audio_duration:
          type: number
          nullable: true
          description: Duration of the audio file
          example: 3600
        number_of_channels:
          type: integer
          nullable: true
          description: Number of channels in the audio file
          minimum: 1
          example: 1
      required:
      - id
      - filename
      - source
      - audio_duration
      - number_of_channels
    UnprocessableEntityErrorResponse:
      type: object
      properties:
        timestamp:
          type: string
          description: Date of when the error occurred
          example: '2023-12-28T09:04:17.210Z'
        path:
          type: string
          description: Path to the API endpoint
          example: /v2/transcription/45463597-20b7-4af7-b3b3-f5fb778203ab
        request_id:
          type: string
          description: Debug id
          example: G-821fe9df
        statusCode:
          type: number
          description: HTTP status code of the error
          example: 422
        message:
          type: string
          description: Error message
          example: Invalid parameter
      required:
      - timestamp
      - path
      - request_id
      - statusCode
      - message
    NotFoundErrorResponse:
      type: object
      properties:
        timestamp:
          type: string
          description: Date of when the error occurred
          example: '2023-12-28T09:04:17.210Z'
        path:
          type: string
          description: Path to the API endpoint
          example: /v2/transcription/45463597-20b7-4af7-b3b3-f5fb778203ab
        request_id:
          type: string
          description: Debug id
          example: G-821fe9df
        statusCode:
          type: number
          description: HTTP status code of the error
          example: 404
        message:
          type: string
          description: Error message
          example: Not found
      required:
      - timestamp
      - path
      - request_id
      - statusCode
      - message
    StreamingSupportedSampleRateEnum:
      type: number
      enum:
      - 8000
      - 16000
      - 32000
      - 44100
      - 48000
      description: The sample rate of the audio stream
    DisplayModeDTO:
      type: object
      properties:
        success:
          type: boolean
          description: The audio intelligence model succeeded to get a valid output
        is_empty:
          type: boolean
          description: The audio intelligence model returned an empty value
        exec_time:
          type: number
          description: Time audio intelligence model took to complete the task
        error:
          description: '`null` if `success` is `true`. Contains the error details of the failed model'
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AddonErrorDTO'
        results:
          description: If `display_mode` has been enabled, proposes an alternative display output.
          nullable: true
          type: array
          items:
            type: string
      required:
      - success
      - is_empty
      - exec_time
      - error
      - results
    StreamingRequestParamsResponse:
      type: object
      properties:
        encoding:
          description: "The encoding format of the audio stream. Supported formats: \n- PCM: 8, 16, 24, and 32 bits \n- A-law: 8 bits \n- μ-law: 8 bits \n\nNote: No need to add WAV headers to raw audio as the API supports both formats."
          default: wav/pcm
          allOf:
          - $ref: '#/components/schemas/StreamingSupportedEncodingEnum'
        bit_depth:
          description: The bit depth of the audio stream
          default: 16
          allOf:
          - $ref: '#/components/schemas/StreamingSupportedBitDepthEnum'
        sample_rate:
          description: The sample rate of the audio stream
          default: 16000
          allOf:
          - $ref: '#/components/schemas/StreamingSupportedSampleRateEnum'
        channels:
          type: integer
          description: The number of channels of the audio stream
          default: 1
          minimum: 1
          maximum: 8
        model:
          description: The model used to process the audio. "solaria-1" is used by default.
          default: solaria-1
          allOf:
          - $ref: '#/components/schemas/StreamingSupportedModels'
        endpointing:
          type: number
          description: The endpointing duration in seconds. Endpointing is the duration of silence which will cause an utterance to be considered as finished
          default: 0.05
          minimum: 0.01
          maximum: 10
        maximum_duration_without_endpointing:
          type: number
          description: The maximum duration in seconds without endpointing. If endpointing is not detected after this duration, current utterance will be considered as finished
          default: 5
          minimum: 5
          maximum: 60
        language_config:
          description: Specify the language configuration
          allOf:
          - $ref: '#/components/schemas/LanguageConfig'
        pre_processing:
          description: Specify the pre-processing configuration
          allOf:
          - $ref: '#/components/schemas/PreProcessingConfig'
        realtime_processing:
          description: Specify the realtime processing configuration
          allOf:
          - $ref: '#/components/schemas/RealtimeProcessingConfig'
        post_processing:
          description: Specify the post-processing configuration
          allOf:
          - $ref: '#/components/schemas/PostProcessingConfig'
        messages_config:
          description: Specify the websocket messages configuration
          allOf:
          - $ref: '#/components/schemas/MessagesConfig'
        callback:
          type: boolean
          description: If true, messages will be sent to configured url.
          default: false
        callback_config:
          description: Specify the callback configuration
          allOf:
          - $ref: '#/components/schemas/CallbackConfig'
    StreamingSupportedEncodingEnum:
      type: string
      enum:
      - wav/pcm
      - wav/alaw
      - wav/ulaw
      description: "The encoding format of the audio stream. Supported formats: \n- PCM: 8, 16, 24, and 32 bits \n- A-law: 8 bits \n- μ-law: 8 bits \n\nNote: No need to add WAV headers to raw audio as the API supports both formats."
    BadRequestErrorResponse:
      type: object
      properties:
        timestamp:
          type: string
          description: Date of when the error occurred
          example: '2023-12-28T09:04:17.210Z'
        path:
          type: string
          description: Path to the API endpoint
          example: /v2/transcription/45463597-20b7-4af7-b3b3-f5fb778203ab
        request_id:
          type: string
          description: Debug id
          example: G-821fe9df
        statusCode:
          type: number
          description: HTTP status code of the error
          example: 400
        message:
          type: string
          description: Error message
          example: Content-Type is missing Multipart Boundary.
        validation_errors:
          description: List of validation errors, if any
          example:
          - Field "language" must be a string
          - Field "min_speakers" must be a number
          type: array
          items:
            type: string
      required:
      - timestamp
      - path
      - request_id
      - statusCode
      - message
    PiiRedactionConfigDTO:
      type: object
      properties:
        entity_types:
          description: The entity types to redact
          example:
          - GDPR
          - HEALTH_INFORMATION
          - HIPAA_SAFE_HARBOR
          - QUEBEC_PRIVACY_ACT
          - EMAIL_ADDRESS
          - NAME
          - PHONE_NUMBER
          allOf:
          - $ref: '#/components/schemas/PiiRedactionEntityTypeEnum'
        processed_text_type:
          type: string
          description: The type of processed text to return (marker or mask)
          enum:
          - MARKER
          - MASK
          example: MARKER
    RealtimeProcessingConfig:
      type: object
      properties:
        custom_vocabulary:
          type: boolean
          description: If true, enable custom vocabulary for the transcription.
          default: false
        custom_vocabulary_config:
          description: Custom vocabulary configuration, if `custom_vocabulary` is enabled
          allOf:
          - $ref: '#/components/schemas/CustomVocabularyConfigDTO'
        custom_spelling:
          type: boolean
          description: If true, enable custom spelling for the transcription.
          default: false
        custom_spelling_config:
          description: Custom spelling configuration, if `custom_spelling` is enabled
          allOf:
          - $ref: '#/components/schemas/CustomSpellingConfigDTO'
        translation:
          type: boolean
          description: If true, enable translation for the transcription
          default: false
        translation_config:
          description: Translation configuration, if `translation` is enabled
          allOf:
          - $ref: '#/components/schemas/TranslationConfigDTO'
        named_entity_recognition:
          type: boolean
          description: If true, enable named entity recognition for the transcription.
          default: false
        sentiment_analysis:
          type: boolean
          description: If true, enable sentiment analysis for the transcription.
          default: false
    UtteranceDTO:
      type: object
      properties:
        start:
          type: number
          description: Start timestamp in seconds of this utterance
        end:
          type: number
          description: End timestamp in seconds of this utterance
        confidence:
          type: number
          description: Confidence on the transcribed utterance (1 = 100% confident)
        channel:
          type: integer
          description: Audio channel of where this utterance has been transcribed from
          minimum: 0
        speaker:
          type: integer
          description: If `diarization` enabled, speaker identification number
          minimum: 0
        words:
          description: List of words of the utterance, split by timestamp
          type: array
          items:
            $ref: '#/components/schemas/WordDTO'
        text:
          type: string
          description: Transcription for this utterance
        language:
          description: Spoken language in this utterance
          example: en
          allOf:
          - $ref: '#/components/schemas/TranscriptionLanguageCodeEnum'
      required:
      - start
      - end
      - confidence
      - channel
      - words
      - text
      - language
    PreProcessingConfig:
      type: object
      properties:
        audio_enhancer:
          type: boolean
          description: If true, apply pre-processing to the audio stream to enhance the quality.
          default: false
        speech_threshold:
          type: number
          description: Sensitivity configuration for Speech Threshold. A value close to 1 will apply stricter thresholds, making it less likely to detect background sounds as speech.
          default: 0.6
          minimum: 0
          maximum: 1
    AudioToLlmListConfigDTO:
      type: object
      properties:
        prompts:
          description: The list of prompts applied on the audio transcription
          example:
          - Extract the key points from the transcription
          minItems: 1
          type: array
          items:
            type: array
        model:
          type: string
          description: The model to use for the prompt execution. You can find the list of supported models [here](https://openrouter.ai/models).
          default: openai/gpt-5.4-nano
      required:
      - prompts
    InitTranscriptionRequest:
      type: object
      properties:
        custom_vocabulary:
          type: boolean
          description: '**[Beta]** Can be either boolean to enable c

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gladia/refs/heads/main/openapi/gladia-transcription-v2-api-openapi.yml