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

# Cognigy STT

> Transcribe audio via Cognigy Voice Gateway protocol bridge.



## OpenAPI

````yaml POST /v1/bridges/cognigy/stt/{model_variant}
openapi: 3.0.3
info:
  title: SLNG Gateway API - Cognigy Bridges
  version: 0.1.0
  description: Unified API for speech-to-text and text-to-speech services.
  contact:
    name: SLNG Support
    email: support@slng.ai
servers:
  - url: https://api.slng.ai
    description: Production
  - url: https://stageapi.slng.ai
    description: Staging
security:
  - BearerAuth: []
tags:
  - name: Cognigy STT Bridge
    description: Cognigy Voice Gateway STT protocol bridge.
  - name: Cognigy TTS Bridge
    description: Cognigy Voice Gateway TTS protocol bridge.
paths:
  /v1/bridges/cognigy/stt/{model_variant}:
    parameters:
      - $ref: '#/components/parameters/SttModelVariantPath'
      - $ref: '#/components/parameters/RegionQuery'
      - $ref: '#/components/parameters/WorldPartQuery'
    post:
      tags:
        - Cognigy STT Bridge
      summary: Cognigy STT Bridge
      description: Transcribe audio via Cognigy Voice Gateway protocol bridge.
      operationId: cognigy-stt-http
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CognigySTTRequest'
            examples:
              binary:
                summary: Binary audio upload
                value:
                  audio: <binary>
                  language: en
          application/json:
            schema:
              $ref: '#/components/schemas/CognigySTTRequest'
            examples:
              url:
                summary: URL-based transcription
                value:
                  url: https://docs.slng.ai/audio/hello.wav
                  language: en
      responses:
        '200':
          $ref: '#/components/responses/CognigyTranscriptionSuccess'
        '400':
          $ref: '#/components/responses/ProviderBadRequest'
        '403':
          $ref: '#/components/responses/ForbiddenBearerToken'
        '500':
          $ref: '#/components/responses/ProviderInternalServerError'
components:
  parameters:
    SttModelVariantPath:
      name: model_variant
      in: path
      required: true
      description: >-
        Target STT model. Must support WebSocket streaming with
        final_transcript.
      schema:
        type: string
        enum:
          - deepgram/nova:2
          - deepgram/nova:3
          - deepgram/nova:3-medical
          - gradium/stt:default
          - reson8/reson8stt:v1
          - sarvam/saaras:v3
          - slng/deepgram/nova:3-en
          - slng/deepgram/nova:3-es
          - slng/deepgram/nova:3-hi
          - slng/deepgram/nova:3-in
          - slng/deepgram/nova:3-kn
          - slng/deepgram/nova:3-mr
          - slng/deepgram/nova:3-multi
          - slng/deepgram/nova:3-te
          - slng/openai/whisper:large-v3
          - soniox/speech-ai:rt-v4
      examples:
        deepgramNova3:
          summary: Deepgram Nova 3
          value: deepgram/nova:3
        slngWhisper:
          summary: SLNG-hosted Whisper Large v3
          value: slng/openai/whisper:large-v3
    RegionQuery:
      name: region
      in: query
      required: false
      description: >-
        Target region override. Auto-selected if not provided. Equivalent to the
        `X-Region-Override` header; the header takes precedence when both are
        set.
      schema:
        type: string
        enum:
          - ap-southeast-2
          - eu-north-1
          - us-east-1
    WorldPartQuery:
      name: world-part
      in: query
      required: false
      description: >-
        Target world part override. Auto-selected if not provided. Equivalent to
        the `X-World-Part-Override` header; the header takes precedence when
        both are set.
      schema:
        type: string
        enum:
          - ap
          - eu
          - na
  schemas:
    CognigySTTRequest:
      type: object
      description: >-
        Cognigy STT request. Provide either `audio` (multipart upload) or `url`
        (publicly accessible HTTPS URL).
      properties:
        audio:
          type: string
          format: binary
          description: Audio file (multipart) or base64-encoded audio (JSON).
        url:
          type: string
          description: Publicly accessible audio URL.
          example: https://docs.slng.ai/audio/hello.wav
        language:
          type: string
          description: Language code.
    CognigySTTTranscriptionResponse:
      type: object
      description: Cognigy STT transcription response.
      properties:
        type:
          type: string
          description: Response type.
          enum:
            - transcription
        is_final:
          type: boolean
          description: Whether this is a final transcription.
        alternatives:
          type: array
          description: Transcription alternatives.
          items:
            $ref: '#/components/schemas/CognigyTranscriptionAlternative'
        channel:
          type: integer
          description: Audio channel number.
        language:
          type: string
          description: Detected language code.
      required:
        - type
        - is_final
        - alternatives
    ProviderErrorResponse:
      type: object
      description: >
        Provider error response. Contains error information from the upstream
        provider.

        Common errors include invalid speakers, unsupported languages, or
        malformed requests.
      properties:
        error:
          type: string
          description: >-
            Error type or category (e.g., "TTS service error", "Validation
            error").
          example: TTS service error
        status:
          type: number
          description: >-
            Original HTTP status code from the provider (may differ from gateway
            response code).
          example: 400
        details:
          type: string
          description: >
            Detailed error message from the provider. For TTS errors, this
            typically includes

            the specific validation failure (e.g., invalid speaker ID for the
            selected model/language).
          example: >-
            Rime TTS API error: 400 Bad Request - Invalid argument: Invalid
            speaker: aurelie
      required:
        - error
    ErrorResponse:
      type: object
      description: Standard error response.
      properties:
        error:
          type: string
          description: Error type or code.
        message:
          type: string
          description: Human-readable error message.
        statusCode:
          type: integer
          description: HTTP status code.
      required:
        - error
    CognigyTranscriptionAlternative:
      type: object
      description: Transcription alternative.
      properties:
        confidence:
          type: number
          description: Confidence score.
        transcript:
          type: string
          description: Transcribed text.
  responses:
    CognigyTranscriptionSuccess:
      description: Transcription successful.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CognigySTTTranscriptionResponse'
    ProviderBadRequest:
      description: Bad request - invalid parameters provided.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            validation-error:
              summary: Validation error
              value:
                error: Validation error
                details: 'Missing required field: text'
    ForbiddenBearerToken:
      description: Missing or invalid Bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ProviderInternalServerError:
      description: Internal server error from the provider.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            processing-error:
              summary: Processing error
              value:
                error: Service error
                details: Internal processing error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |
        API key issued by SLNG. Pass as `Authorization: Bearer <token>`.

````