> ## Documentation Index
> Fetch the complete documentation index at: https://gproxy.leenhawk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v1/audio/transcriptions

> Available at the instance root or under a provider/namespace prefix. Shared paths select the wire dialect from client headers; without dialect evidence, the first listed route wins.



## OpenAPI

````yaml /generated/openapi.json post /v1/audio/transcriptions
openapi: 3.1.0
info:
  description: >-
    Forwarding, management, portal and OAuth APIs generated from Rust types.
    Input and output schemas preserve their respective Serde contracts.
    Streaming events and WebSocket messages are documented alongside HTTP
    payloads.
  title: GPROXY HTTP API
  version: 4.2.1
servers: []
security:
  - bearer: []
  - anthropicKey: []
  - googleKey: []
  - queryKey: []
paths:
  /v1/audio/transcriptions:
    post:
      tags:
        - Forwarding
      summary: POST /v1/audio/transcriptions
      description: >-
        Available at the instance root or under a provider/namespace prefix.
        Shared paths select the wire dialect from client headers; without
        dialect evidence, the first listed route wins.
      parameters: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Input_CreateTranscriptionMultipartForm'
        required: true
      responses:
        2XX:
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/Output_TranscriptionJson'
                  - $ref: '#/components/schemas/Output_TranscriptionVerbose'
                  - $ref: '#/components/schemas/Output_TranscriptionDiarized'
            application/x-subrip:
              schema:
                type: string
            text/event-stream:
              schema:
                type: string
              x-event-schema:
                $ref: '#/components/schemas/Output_TranscriptionStreamEvent'
            text/plain:
              schema:
                type: string
            text/vtt:
              schema:
                type: string
          description: Successful protocol response
        default:
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/Output_Envelope'
                  - properties:
                      error:
                        $ref: '#/components/schemas/Output_ErrorDetail'
                    required:
                      - error
                    type: object
                  - allOf:
                      - $ref: '#/components/schemas/Output_ErrorEvent'
                      - properties:
                          type:
                            const: error
                        required:
                          - type
                        type: object
                  - properties:
                      error:
                        $ref: '#/components/schemas/Output_GenerateContentError'
                    required:
                      - error
                    type: object
            text/plain:
              schema:
                type: string
          description: Gateway or upstream error
components:
  schemas:
    Input_CreateTranscriptionMultipartForm:
      properties:
        chunking_strategy:
          anyOf:
            - $ref: '#/components/schemas/Input_ChunkingStrategy'
            - type: 'null'
        file:
          $ref: '#/components/schemas/Input_BinaryPart'
        include:
          items:
            $ref: '#/components/schemas/Input_TranscriptionInclude'
          type:
            - array
            - 'null'
        keywords:
          items:
            type: string
          type:
            - array
            - 'null'
        known_speaker_names:
          items:
            type: string
          type:
            - array
            - 'null'
        known_speaker_references:
          items:
            type: string
          type:
            - array
            - 'null'
        language:
          type:
            - string
            - 'null'
        languages:
          items:
            type: string
          type:
            - array
            - 'null'
        model:
          type: string
        prompt:
          type:
            - string
            - 'null'
        response_format:
          anyOf:
            - $ref: '#/components/schemas/Input_TranscriptionResponseFormat'
            - type: 'null'
        stream:
          type:
            - boolean
            - 'null'
        temperature:
          type:
            - number
            - 'null'
        timestamp_granularities:
          items:
            $ref: '#/components/schemas/Input_TranscriptionTimestampGranularity'
          type:
            - array
            - 'null'
      required:
        - file
        - model
      type: object
    Output_TranscriptionJson:
      additionalProperties: true
      properties:
        languages:
          items:
            $ref: '#/components/schemas/Output_TranscriptionLanguage'
          type:
            - array
            - 'null'
        logprobs:
          items:
            $ref: '#/components/schemas/Output_TranscriptionLogprob'
          type:
            - array
            - 'null'
        text:
          type: string
        usage:
          anyOf:
            - $ref: '#/components/schemas/Output_TranscriptionUsage'
            - type: 'null'
      required:
        - text
      type: object
    Output_TranscriptionVerbose:
      additionalProperties: true
      properties:
        duration:
          type: number
        language:
          type: string
        segments:
          items:
            $ref: '#/components/schemas/Output_TranscriptionSegment'
          type:
            - array
            - 'null'
        task:
          anyOf:
            - $ref: '#/components/schemas/Output_TranscriptionTask'
            - type: 'null'
        text:
          type: string
        usage:
          anyOf:
            - $ref: '#/components/schemas/Output_TranscriptionDurationUsage'
            - type: 'null'
        words:
          items:
            $ref: '#/components/schemas/Output_TranscriptionWord'
          type:
            - array
            - 'null'
      required:
        - duration
        - language
        - text
      type: object
    Output_TranscriptionDiarized:
      additionalProperties: true
      properties:
        duration:
          type: number
        segments:
          items:
            $ref: '#/components/schemas/Output_TranscriptionDiarizedSegment'
          type: array
        task:
          $ref: '#/components/schemas/Output_TranscriptionTask'
        text:
          type: string
        usage:
          anyOf:
            - $ref: '#/components/schemas/Output_TranscriptionUsage'
            - type: 'null'
      required:
        - duration
        - segments
        - task
        - text
      type: object
    Output_Envelope:
      properties:
        error:
          $ref: '#/components/schemas/Output_EnvelopeBody'
      required:
        - error
      type: object
    Output_ErrorDetail:
      properties:
        code:
          type:
            - string
            - 'null'
        message:
          type: string
        param:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
      required:
        - message
      type: object
    Output_ErrorEvent:
      additionalProperties: true
      properties:
        error:
          $ref: '#/components/schemas/Output_StreamError'
        request_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    Output_GenerateContentError:
      additionalProperties: true
      properties:
        code:
          format: int64
          type: integer
        details:
          items: true
          type:
            - array
            - 'null'
        message:
          type: string
        status:
          type:
            - string
            - 'null'
      required:
        - code
        - message
      type: object
    Input_ChunkingStrategy:
      anyOf:
        - $ref: '#/components/schemas/Input_AutomaticChunking'
        - $ref: '#/components/schemas/Input_VadConfig'
    Input_BinaryPart:
      format: binary
      type: string
    Input_TranscriptionInclude:
      enum:
        - logprobs
      type: string
    Input_TranscriptionResponseFormat:
      enum:
        - json
        - text
        - srt
        - verbose_json
        - vtt
        - diarized_json
      type: string
    Input_TranscriptionTimestampGranularity:
      enum:
        - word
        - segment
      type: string
    Output_TranscriptionLanguage:
      additionalProperties: true
      properties:
        code:
          type: string
      required:
        - code
      type: object
    Output_TranscriptionLogprob:
      additionalProperties: true
      properties:
        bytes:
          items:
            format: int64
            type: integer
          type:
            - array
            - 'null'
        logprob:
          type:
            - number
            - 'null'
        token:
          type:
            - string
            - 'null'
      type: object
    Output_TranscriptionUsage:
      anyOf:
        - $ref: '#/components/schemas/Output_TranscriptionTokenUsage'
        - $ref: '#/components/schemas/Output_TranscriptionDurationUsage'
    Output_TranscriptionSegment:
      additionalProperties: true
      properties:
        avg_logprob:
          type: number
        compression_ratio:
          type: number
        end:
          type: number
        id:
          format: int64
          type: integer
        no_speech_prob:
          type: number
        seek:
          format: int64
          type: integer
        start:
          type: number
        temperature:
          type: number
        text:
          type: string
        tokens:
          items:
            format: int64
            type: integer
          type: array
      required:
        - id
        - avg_logprob
        - compression_ratio
        - end
        - no_speech_prob
        - seek
        - start
        - temperature
        - text
        - tokens
      type: object
    Output_TranscriptionTask:
      enum:
        - transcribe
      type: string
    Output_TranscriptionDurationUsage:
      additionalProperties: true
      properties:
        seconds:
          type: number
        type:
          $ref: '#/components/schemas/Output_DurationUsageType'
      required:
        - seconds
        - type
      type: object
    Output_TranscriptionWord:
      additionalProperties: true
      properties:
        end:
          type: number
        start:
          type: number
        word:
          type: string
      required:
        - end
        - start
        - word
      type: object
    Output_TranscriptionDiarizedSegment:
      additionalProperties: true
      properties:
        end:
          type: number
        id:
          type: string
        speaker:
          type: string
        start:
          type: number
        text:
          type: string
        type:
          $ref: '#/components/schemas/Output_TranscriptionDiarizedSegmentType'
      required:
        - id
        - end
        - speaker
        - start
        - text
        - type
      type: object
    Output_EnvelopeBody:
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object
    Output_StreamError:
      additionalProperties: true
      properties:
        message:
          type: string
        type:
          $ref: '#/components/schemas/Output_StreamErrorType'
      required:
        - type
        - message
      type: object
    Input_AutomaticChunking:
      enum:
        - auto
      type: string
    Input_VadConfig:
      additionalProperties: true
      properties:
        prefix_padding_ms:
          format: int64
          type:
            - integer
            - 'null'
        silence_duration_ms:
          format: int64
          type:
            - integer
            - 'null'
        threshold:
          type:
            - number
            - 'null'
        type:
          $ref: '#/components/schemas/Input_VadType'
      required:
        - type
      type: object
    Output_TranscriptionTokenUsage:
      additionalProperties: true
      properties:
        input_token_details:
          anyOf:
            - $ref: '#/components/schemas/Output_TranscriptionInputTokenDetails'
            - type: 'null'
        input_tokens:
          format: int64
          type: integer
        output_tokens:
          format: int64
          type: integer
        total_tokens:
          format: int64
          type: integer
        type:
          $ref: '#/components/schemas/Output_TokenUsageType'
      required:
        - input_tokens
        - output_tokens
        - total_tokens
        - type
      type: object
    Output_DurationUsageType:
      enum:
        - duration
      type: string
    Output_TranscriptionDiarizedSegmentType:
      enum:
        - transcript.text.segment
      type: string
    Output_StreamErrorType:
      enum:
        - api_error
        - authentication_error
        - billing_error
        - invalid_request_error
        - not_found_error
        - overloaded_error
        - permission_error
        - rate_limit_error
        - timeout_error
        - conflict_error
        - request_too_large
      type: string
    Input_VadType:
      enum:
        - server_vad
      type: string
    Output_TranscriptionInputTokenDetails:
      additionalProperties: true
      properties:
        audio_tokens:
          format: int64
          type:
            - integer
            - 'null'
        text_tokens:
          format: int64
          type:
            - integer
            - 'null'
      type: object
    Output_TokenUsageType:
      enum:
        - tokens
      type: string
  securitySchemes:
    bearer:
      scheme: bearer
      type: http
    anthropicKey:
      in: header
      name: x-api-key
      type: apiKey
    googleKey:
      in: header
      name: x-goog-api-key
      type: apiKey
    queryKey:
      in: query
      name: key
      type: apiKey

````

## Related topics

- [Routing & Endpoints](https://gproxy.leenhawk.com/reference/routing-table.md)
- [POST /v1/audio/speech](https://gproxy.leenhawk.com/api-reference/forwarding/post-v1audiospeech.md)
- [POST /v1/audio/translations](https://gproxy.leenhawk.com/api-reference/forwarding/post-v1audiotranslations.md)
- [POST /v1/audio/voices](https://gproxy.leenhawk.com/api-reference/forwarding/post-v1audiovoices.md)
- [POST /v1/live](https://gproxy.leenhawk.com/api-reference/forwarding/post-v1live.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.