SLNG · AsyncAPI Specification

SLNG Gateway API - SLNG STT

Version 0.1.0

SLNG Gateway API

View Spec View on GitHub CompanySpeechVoiceSpeech to TextText to SpeechVoice AIVoice AgentsTranscriptionSpeech RecognitionArtificial IntelligenceAPI GatewayAsyncAPIWebhooksEvents

Channels

/v1/stt/slng/openai/whisper:large-v3
Stream real-time transcripts from OpenAI Whisper Large v3 over WebSocket with VAD, partial results, and automatic language detection across 99 languages.
/v1/stt/slng/deepgram/nova:3-en
Stream real-time English transcripts from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partials, finals, and speaker diarization.
/v1/stt/slng/deepgram/nova:3-te
Stream real-time Telugu speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-mr
Stream real-time Marathi speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-kn
Stream real-time Kannada speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-es
Stream real-time Spanish speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-in
Stream real-time Indonesian speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-hi
Stream real-time Hindi speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD.
/v1/stt/slng/deepgram/nova:3-multi
Stream real-time multilingual transcripts from SLNG-hosted Deepgram Nova 3 over WebSocket with automatic language detection across supported languages.

Messages

DeepgramSttResultsMulti
Results
Deepgram transcription result — partial or final, determined by is_final.
SlngDeepgramNova3MultiSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 multi-language STT session.
DeepgramSttResultsIn
Results
Deepgram transcription result — partial or final, determined by is_final.
SlngDeepgramNova3InSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Indonesian STT session.
DeepgramSttResultsHi
Results
Deepgram transcription result — partial or final, determined by is_final.
SlngDeepgramNova3HiSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Hindi STT session.
DeepgramSttResultsEs
Results
Deepgram transcription result — partial or final, determined by is_final.
SlngDeepgramNova3EsSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Spanish STT session.
DeepgramSttError
Error
Error from the Deepgram backend or gateway.
DeepgramSttResultsEn
Results
Deepgram transcription result — partial or final, determined by is_final.
DeepgramSttResultsTe
Results
Deepgram transcription result — partial or final, determined by is_final.
DeepgramSttResultsTa
Results
Deepgram transcription result — partial or final, determined by is_final.
DeepgramSttResultsMr
Results
Deepgram transcription result — partial or final, determined by is_final.
DeepgramSttResultsKn
Results
Deepgram transcription result — partial or final, determined by is_final.
DeepgramSttMetadata
Metadata
Deepgram session metadata. Sent when the backend connects and again after the session ends with final statistics. This is informational — do not wait for it before streaming audio.
KeepaliveMessage
Keepalive Message
Keep the WebSocket connection alive during silence.
DeepgramSttBinaryAudio
Binary Audio Frame
Stream raw binary PCM audio frames to be transcribed. Sent as binary WebSocket frames (NOT JSON). Recommended chunk size is 8192 bytes (~256ms at 16kHz linear16). Start streaming immediately after the init message — do not wait for the Metadata response.
SlngDeepgramNova3EnSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 English STT session.
SlngDeepgramNova3TeSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Telugu STT session.
SlngDeepgramNova3TaSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Tamil STT session.
SlngDeepgramNova3MrSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Marathi STT session.
SlngDeepgramNova3KnSttInitRequest
Init Request
Initialize an SLNG-hosted Deepgram Nova 3 Kannada STT session.
SttErrorResponse
Error Response
Indicates an error occurred during recognition.
SlngWhisperSttFinalTranscript
Final Transcript
Final Whisper transcription result with segment-level detail.
SlngWhisperSttPartialTranscript
Partial Transcript
Interim Whisper transcription result, updated as more audio is processed.
SlngWhisperSttReadyResponse
Ready Response
Indicates the Whisper session is ready to receive audio.
SttCloseMessage
Close Message
Signal end of audio stream and close the connection.
SttFinalizeMessage
Finalize Message
Force-finalize buffered audio tokens without closing the connection.
SttAudioMessage
Audio Message
Stream an audio frame to be transcribed.
SlngWhisperLargeV3SttInitRequest
Init Request
Initialize an SLNG-hosted Whisper Large v3 STT session.

Servers

wss
production
Production
wss
staging
Staging

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: SLNG Gateway API - SLNG STT
  version: 0.1.0
  description: SLNG Gateway API
  contact:
    name: SLNG Support
    url: https://slng.ai
    email: support@slng.ai
  license:
    name: Proprietary
  tags:
    - name: STT
      description: Speech-to-Text services
    - name: Unmute STT Bridge
      description: SLNG native WebSocket STT protocol bridge.
    - name: Unmute TTS Bridge
      description: SLNG native WebSocket TTS protocol bridge.
servers:
  production:
    host: api.slng.ai
    protocol: wss
    description: Production
    security:
      - $ref: '#/components/securitySchemes/bearer'
  staging:
    host: stageapi.slng.ai
    protocol: wss
    description: Staging
    security:
      - $ref: '#/components/securitySchemes/bearer'
channels:
  /v1/stt/slng/openai/whisper:large-v3:
    address: /v1/stt/slng/openai/whisper:large-v3
    title: Whisper Large v3
    summary: Whisper Large v3
    description: >-
      Stream real-time transcripts from OpenAI Whisper Large v3 over WebSocket
      with VAD, partial results, and automatic language detection across 99
      languages.
    tags:
      - name: Whisper Large v3
    servers:
      - $ref: '#/servers/production'
      - $ref: '#/servers/staging'
    messages:
      SlngWhisperLargeV3SttInitRequest:
        $ref: '#/components/messages/SlngWhisperLargeV3SttInitRequest'
      SttAudioMessage:
        $ref: '#/components/messages/SttAudioMessage'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      SlngWhisperSttReadyResponse:
        $ref: '#/components/messages/SlngWhisperSttReadyResponse'
      SlngWhisperSttPartialTranscript:
        $ref: '#/components/messages/SlngWhisperSttPartialTranscript'
      SlngWhisperSttFinalTranscript:
        $ref: '#/components/messages/SlngWhisperSttFinalTranscript'
      SttErrorResponse:
        $ref: '#/components/messages/SttErrorResponse'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngWhisper'
  /v1/stt/slng/deepgram/nova:3-en:
    address: /v1/stt/slng/deepgram/nova:3-en
    title: Nova 3 (English)
    summary: Nova 3 (English)
    description: >-
      Stream real-time English transcripts from SLNG-hosted Deepgram Nova 3 over
      WebSocket with low-latency partials, finals, and speaker diarization.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3EnSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3EnSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsEn:
        $ref: '#/components/messages/DeepgramSttResultsEn'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaEn'
  /v1/stt/slng/deepgram/nova:3-te:
    address: /v1/stt/slng/deepgram/nova:3-te
    title: Nova 3 (Telugu)
    summary: Nova 3 (Telugu)
    description: >-
      Stream real-time Telugu speech-to-text from SLNG-hosted Deepgram Nova 3
      over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3TeSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3TeSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsTe:
        $ref: '#/components/messages/DeepgramSttResultsTe'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaTe'
  /v1/stt/slng/deepgram/nova:3-mr:
    address: /v1/stt/slng/deepgram/nova:3-mr
    title: Nova 3 (Marathi)
    summary: Nova 3 (Marathi)
    description: >-
      Stream real-time Marathi speech-to-text from SLNG-hosted Deepgram Nova 3
      over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3MrSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3MrSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsMr:
        $ref: '#/components/messages/DeepgramSttResultsMr'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaMr'
  /v1/stt/slng/deepgram/nova:3-kn:
    address: /v1/stt/slng/deepgram/nova:3-kn
    title: Nova 3 (Kannada)
    summary: Nova 3 (Kannada)
    description: >-
      Stream real-time Kannada speech-to-text from SLNG-hosted Deepgram Nova 3
      over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3KnSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3KnSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsKn:
        $ref: '#/components/messages/DeepgramSttResultsKn'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaKn'
  /v1/stt/slng/deepgram/nova:3-es:
    address: /v1/stt/slng/deepgram/nova:3-es
    title: Nova 3 (Spanish)
    summary: Nova 3 (Spanish)
    description: >-
      Stream real-time Spanish speech-to-text from SLNG-hosted Deepgram Nova 3
      over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3EsSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3EsSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsEs:
        $ref: '#/components/messages/DeepgramSttResultsEs'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaEs'
  /v1/stt/slng/deepgram/nova:3-in:
    address: /v1/stt/slng/deepgram/nova:3-in
    title: Nova 3 (Indonesian)
    summary: Nova 3 (Indonesian)
    description: >-
      Stream real-time Indonesian speech-to-text from SLNG-hosted Deepgram Nova
      3 over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3InSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3InSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsIn:
        $ref: '#/components/messages/DeepgramSttResultsIn'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaIn'
  /v1/stt/slng/deepgram/nova:3-hi:
    address: /v1/stt/slng/deepgram/nova:3-hi
    title: Nova 3 (Hindi)
    summary: Nova 3 (Hindi)
    description: >-
      Stream real-time Hindi speech-to-text from SLNG-hosted Deepgram Nova 3
      over WebSocket with low-latency partial and final transcripts and VAD.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3HiSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3HiSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsHi:
        $ref: '#/components/messages/DeepgramSttResultsHi'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaHi'
  /v1/stt/slng/deepgram/nova:3-multi:
    address: /v1/stt/slng/deepgram/nova:3-multi
    title: Nova 3 (Multi-Language)
    summary: Nova 3 (Multi-Language)
    description: >-
      Stream real-time multilingual transcripts from SLNG-hosted Deepgram Nova 3
      over WebSocket with automatic language detection across supported
      languages.
    tags:
      - name: Deepgram Nova 3
    servers:
      - $ref: '#/servers/production'
    messages:
      SlngDeepgramNova3MultiSttInitRequest:
        $ref: '#/components/messages/SlngDeepgramNova3MultiSttInitRequest'
      DeepgramSttBinaryAudio:
        $ref: '#/components/messages/DeepgramSttBinaryAudio'
      SttFinalizeMessage:
        $ref: '#/components/messages/SttFinalizeMessage'
      SttCloseMessage:
        $ref: '#/components/messages/SttCloseMessage'
      KeepaliveMessage:
        $ref: '#/components/messages/KeepaliveMessage'
      DeepgramSttMetadata:
        $ref: '#/components/messages/DeepgramSttMetadata'
      DeepgramSttResultsMulti:
        $ref: '#/components/messages/DeepgramSttResultsMulti'
      DeepgramSttError:
        $ref: '#/components/messages/DeepgramSttError'
    bindings:
      ws:
        method: GET
        headers:
          $ref: '#/components/schemas/WebsocketHeadersSlngNovaMulti'
operations:
  sttWhisperLargeV3ReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Initialize session on Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SlngWhisperLargeV3SttInitRequest
    description: Initialize session on Whisper Large v3
    tags: []
  sttWhisperLargeV3ReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Send audio frame to Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SttAudioMessage
    description: Send audio frame to Whisper Large v3
    tags: []
  sttWhisperLargeV3ReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Force-finalize buffered audio on Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Whisper Large v3
    tags: []
  sttWhisperLargeV3ReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Close audio stream on Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SttCloseMessage
    description: Close audio stream on Whisper Large v3
    tags: []
  sttWhisperLargeV3SendReady:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Receive ready signal from Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SlngWhisperSttReadyResponse
    description: Receive ready signal from Whisper Large v3
    tags: []
  sttWhisperLargeV3SendPartialTranscript:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Receive partial transcript from Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SlngWhisperSttPartialTranscript
    description: Receive partial transcript from Whisper Large v3
    tags: []
  sttWhisperLargeV3SendFinalTranscript:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Receive final transcript from Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SlngWhisperSttFinalTranscript
    description: Receive final transcript from Whisper Large v3
    tags: []
  sttWhisperLargeV3SendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3'
    summary: Receive error from Whisper Large v3
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/SttErrorResponse
    description: Receive error from Whisper Large v3
    tags: []
  sttSlngDeepgramNova3EnReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Initialize session on Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/SlngDeepgramNova3EnSttInitRequest
    description: Initialize session on Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Initialize session on Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/SlngDeepgramNova3TeSttInitRequest
    description: Initialize session on Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Initialize session on Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/SlngDeepgramNova3MrSttInitRequest
    description: Initialize session on Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Initialize session on Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/SlngDeepgramNova3KnSttInitRequest
    description: Initialize session on Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EnReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Send audio frame to Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/DeepgramSttBinaryAudio
    description: Send audio frame to Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Send audio frame to Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/DeepgramSttBinaryAudio
    description: Send audio frame to Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Send audio frame to Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/DeepgramSttBinaryAudio
    description: Send audio frame to Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Send audio frame to Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/DeepgramSttBinaryAudio
    description: Send audio frame to Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EnReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Force-finalize buffered audio on Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Force-finalize buffered audio on Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Force-finalize buffered audio on Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Force-finalize buffered audio on Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EnReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Close audio stream on Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/SttCloseMessage
    description: Close audio stream on Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Close audio stream on Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/SttCloseMessage
    description: Close audio stream on Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Close audio stream on Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/SttCloseMessage
    description: Close audio stream on Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Close audio stream on Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/SttCloseMessage
    description: Close audio stream on Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EnReceiveKeepalive:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Send keepalive on Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/KeepaliveMessage
    description: Send keepalive on Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeReceiveKeepalive:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Send keepalive on Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/KeepaliveMessage
    description: Send keepalive on Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrReceiveKeepalive:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Send keepalive on Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/KeepaliveMessage
    description: Send keepalive on Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnReceiveKeepalive:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Send keepalive on Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/KeepaliveMessage
    description: Send keepalive on Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EnSendMetadata:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Receive Deepgram session metadata from Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/DeepgramSttMetadata
    description: >
      Receive Deepgram Metadata message. Sent when the backend connects and
      again after the session ends. Informational — do not wait for it before
      streaming audio.
    tags: []
  sttSlngDeepgramNova3TeSendMetadata:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Receive Deepgram session metadata from Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/DeepgramSttMetadata
    description: >
      Receive Deepgram Metadata message. Sent when the backend connects and
      again after the session ends. Informational — do not wait for it before
      streaming audio.
    tags: []
  sttSlngDeepgramNova3MrSendMetadata:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Receive Deepgram session metadata from Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/DeepgramSttMetadata
    description: >
      Receive Deepgram Metadata message. Sent when the backend connects and
      again after the session ends. Informational — do not wait for it before
      streaming audio.
    tags: []
  sttSlngDeepgramNova3KnSendMetadata:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Receive Deepgram session metadata from Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/DeepgramSttMetadata
    description: >
      Receive Deepgram Metadata message. Sent when the backend connects and
      again after the session ends. Informational — do not wait for it before
      streaming audio.
    tags: []
  sttSlngDeepgramNova3EnSendResults:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Receive transcription results from Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/DeepgramSttResultsEn
    description: >
      Receive Deepgram Results message. Use is_final to distinguish partial
      (interim) from final transcripts, and speech_final for end-of-utterance.
    tags: []
  sttSlngDeepgramNova3TeSendResults:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Receive transcription results from Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/DeepgramSttResultsTe
    description: >
      Receive Deepgram Results message. Use is_final to distinguish partial
      (interim) from final transcripts, and speech_final for end-of-utterance.
    tags: []
  sttSlngDeepgramNova3MrSendResults:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Receive transcription results from Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/DeepgramSttResultsMr
    description: >
      Receive Deepgram Results message. Use is_final to distinguish partial
      (interim) from final transcripts, and speech_final for end-of-utterance.
    tags: []
  sttSlngDeepgramNova3KnSendResults:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Receive transcription results from Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/DeepgramSttResultsKn
    description: >
      Receive Deepgram Results message. Use is_final to distinguish partial
      (interim) from final transcripts, and speech_final for end-of-utterance.
    tags: []
  sttSlngDeepgramNova3EnSendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en'
    summary: Receive error from Deepgram Nova 3 (English)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/DeepgramSttError
    description: Receive error from Deepgram Nova 3 (English)
    tags: []
  sttSlngDeepgramNova3TeSendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te'
    summary: Receive error from Deepgram Nova 3 (Telugu)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-te/messages/DeepgramSttError
    description: Receive error from Deepgram Nova 3 (Telugu)
    tags: []
  sttSlngDeepgramNova3MrSendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr'
    summary: Receive error from Deepgram Nova 3 (Marathi)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-mr/messages/DeepgramSttError
    description: Receive error from Deepgram Nova 3 (Marathi)
    tags: []
  sttSlngDeepgramNova3KnSendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn'
    summary: Receive error from Deepgram Nova 3 (Kannada)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-kn/messages/DeepgramSttError
    description: Receive error from Deepgram Nova 3 (Kannada)
    tags: []
  sttSlngDeepgramNova3EsReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Initialize session on Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/SlngDeepgramNova3EsSttInitRequest
    description: Initialize session on Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3EsReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Send audio frame to Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/DeepgramSttBinaryAudio
    description: Send audio frame to Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3EsReceiveFinalize:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Force-finalize buffered audio on Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/SttFinalizeMessage
    description: Force-finalize buffered audio on Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3EsReceiveClose:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Close audio stream on Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/SttCloseMessage
    description: Close audio stream on Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3EsReceiveKeepalive:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Send keepalive on Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/KeepaliveMessage
    description: Send keepalive on Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3EsSendMetadata:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Receive Deepgram session metadata from Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/DeepgramSttMetadata
    description: >
      Receive Deepgram Metadata message. Sent when the backend connects and
      again after the session ends. Informational — do not wait for it before
      streaming audio.
    tags: []
  sttSlngDeepgramNova3EsSendResults:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Receive transcription results from Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/DeepgramSttResultsEs
    description: >
      Receive Deepgram Results message. Use is_final to distinguish partial
      (interim) from final transcripts, and speech_final for end-of-utterance.
    tags: []
  sttSlngDeepgramNova3EsSendError:
    action: send
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es'
    summary: Receive error from Deepgram Nova 3 (Spanish)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/DeepgramSttError
    description: Receive error from Deepgram Nova 3 (Spanish)
    tags: []
  sttSlngDeepgramNova3InReceiveInit:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-in'
    summary: Initialize session on Deepgram Nova 3 (Indonesian)
    messages:
      - $ref: >-
          #/channels/~1v1~1stt~1slng~1deepgram~1nova:3-in/messages/SlngDeepgramNova3InSttInitRequest
    description: Initialize session on Deepgram Nova 3 (Indonesian)
    tags: []
  sttSlngDeepgramNova3InReceiveAudio:
    action: receive
    channel:
      $ref: '#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-in'
    summary: Send audio frame to Deepgram Nova 3 (Indonesian)
    messages:
      - $re

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slng/refs/heads/main/asyncapi/slng-stt-slng-asyncapi.yml