asyncapi: 3.0.0
info:
  title: SLNG Gateway API - SLNG (WebSocket)
  version: 0.2.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
servers:
  production:
    host: api.slng.ai
    protocol: wss
    description: Production
  staging:
    host: stageapi.slng.ai
    protocol: wss
    description: Staging
channels:
  /v1/stt/slng/openai/whisper:large-v3:
    address: /v1/stt/slng/openai/whisper:large-v3
    title: openai/whisper:large-v3 WebSocket
    summary: openai/whisper:large-v3 - websocket
    description: Real-time speech-to-text transcription using OpenAI's Whisper Large v3 model via WebSocket. Supports streaming audio input with intelligent Voice Activity Detection (VAD), partial transcripts for immediate feedback, and automatic language detection. Perfect for live transcription, voice commands, and real-time captioning.
    tags:
      - name: Whisper Large v3
    servers:
      - $ref: "#/servers/production"
      - $ref: "#/servers/staging"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/openai/whisper:large-v3-compressed:
    address: /v1/stt/slng/openai/whisper:large-v3-compressed
    title: openai/whisper:large-v3-compressed WebSocket
    summary: openai/whisper:large-v3-compressed - websocket
    description: Real-time speech-to-text transcription using OpenAI's Whisper Large v3 model via WebSocket with compressed audio support. Supports streaming audio input with intelligent Voice Activity Detection (VAD), partial transcripts for immediate feedback, and automatic language detection.
    tags:
      - name: Whisper Large v3 (Compressed)
    servers:
      - $ref: "#/servers/production"
      - $ref: "#/servers/staging"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/speechmatics:en:
    address: /v1/stt/slng/speechmatics:en
    title: speechmatics:en WebSocket
    summary: speechmatics:en - websocket
    description: Speech-to-Text. Real-time speech-to-text transcription using Speechmatics model hosted by SLNG via WebSocket. Supports streaming audio input with intelligent Voice Activity Detection (VAD), partial transcripts for immediate feedback. Perfect for live transcription, voice commands, and real-time captioning. Supports English and Spanish with high accuracy.
    tags:
      - name: Speechmatics EN
    servers:
      - $ref: "#/servers/production"
      - $ref: "#/servers/staging"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/speechmatics:es:
    address: /v1/stt/slng/speechmatics:es
    title: speechmatics:es WebSocket
    summary: speechmatics:es - websocket
    description: Speech-to-Text. Real-time speech-to-text transcription using Speechmatics model hosted by SLNG via WebSocket. Supports streaming audio input with intelligent Voice Activity Detection (VAD), partial transcripts for immediate feedback. Perfect for live transcription, voice commands, and real-time captioning. Supports English and Spanish with high accuracy.
    tags:
      - name: Speechmatics ES
    servers:
      - $ref: "#/servers/staging"
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/deepgram/nova:3-en:
    address: /v1/stt/slng/deepgram/nova:3-en
    title: deepgram/nova:3-en WebSocket
    summary: deepgram/nova:3-en - websocket
    description: Speech-to-Text API for converting audio files to text using SLNG deepgram/nova. Real-time speech-to-text transcription with ultra-low latency using Deepgram's Nova model. Optimized for streaming audio with intelligent Voice Activity Detection (VAD) and speaker diarization.
    tags:
      - name: Deepgram Nova 3 English
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/deepgram/nova:3-es:
    address: /v1/stt/slng/deepgram/nova:3-es
    title: deepgram/nova:3-es WebSocket
    summary: deepgram/nova:3-es - websocket
    description: Speech-to-Text API for converting audio files to text using SLNG deepgram/nova. Real-time speech-to-text transcription with ultra-low latency using Deepgram's Nova model. Optimized for streaming audio with intelligent Voice Activity Detection (VAD) and speaker diarization.
    tags:
      - name: Deepgram Nova 3 Spanish
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/deepgram/nova:3-hi:
    address: /v1/stt/slng/deepgram/nova:3-hi
    title: deepgram/nova:3-hi WebSocket
    summary: deepgram/nova:3-hi - websocket
    description: Speech-to-Text API for converting audio files to text using SLNG deepgram/nova. Real-time speech-to-text transcription with ultra-low latency using Deepgram's Nova model. Optimized for streaming audio with intelligent Voice Activity Detection (VAD) and speaker diarization.
    tags:
      - name: Deepgram Nova 3 Hindi
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/stt/slng/deepgram/nova:3-multi:
    address: /v1/stt/slng/deepgram/nova:3-multi
    title: deepgram/nova:3-multi WebSocket
    summary: deepgram/nova:3-multi - websocket
    description: Speech-to-Text API for converting audio files to text using SLNG deepgram/nova. Real-time speech-to-text transcription with ultra-low latency using Deepgram's Nova model. Optimized for streaming audio with intelligent Voice Activity Detection (VAD) and speaker diarization.
    tags:
      - name: Deepgram Nova 3 Multi-Language
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SttWebsocketRequest"
      response:
        $ref: "#/components/messages/SttWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/canopylabs/orpheus:en:
    address: /v1/tts/slng/canopylabs/orpheus:en
    title: canopylabs/orpheus:en WebSocket
    summary: canopylabs/orpheus:en - websocket
    description: Text-to-Speech API for generating speech from text using SLNG canopylabs/orpheus. High-quality streaming TTS with emotion control, hosted on SLNG infrastructure. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Orpheus English
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/myshell/melo:v1:
    address: /v1/tts/slng/myshell/melo:v1
    title: myshell/melo:v1 WebSocket
    summary: myshell/melo:v1 - websocket
    description: Text-to-Speech API for generating speech from text using SLNG myshell/melo. Melo - High-quality TTS model deployed on SLNG infrastructure. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Melo v1
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/geneing/kokoro:v1:
    address: /v1/tts/slng/geneing/kokoro:v1
    title: geneing/kokoro:v1 WebSocket
    summary: geneing/kokoro:v1 - websocket
    description: Text-to-Speech API for generating speech from text using SLNG geneing/kokoro. Kokoro TTS model deployed on SLNG infrastructure. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Kokoro v1
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:3-en:
    address: /v1/tts/slng/rime/arcana:3-en
    title: rime/arcana:3-en WebSocket
    summary: rime/arcana:3-en - websocket
    description: Text-to-Speech API for generating English speech using Rime Arcana v3 TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana v3
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana3TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:3-fr:
    address: /v1/tts/slng/rime/arcana:3-fr
    title: rime/arcana:3-fr WebSocket
    summary: rime/arcana:3-fr - websocket
    description: Text-to-Speech API for generating French speech using Rime Arcana v3 TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana v3
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana3TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:3-hi:
    address: /v1/tts/slng/rime/arcana:3-hi
    title: rime/arcana:3-hi WebSocket
    summary: rime/arcana:3-hi - websocket
    description: Text-to-Speech API for generating Hindi speech using Rime Arcana v3 TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana v3
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana3TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana/{lang}:
    address: /v1/tts/slng/rime/arcana/{lang}
    title: rime/arcana/{lang} WebSocket
    summary: rime/arcana/{lang} - websocket
    description: Text-to-Speech API for generating speech from text using SLNG rime/arcana. Rime Arcana TTS model supporting multiple languages. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/TtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:ar:
    address: /v1/tts/slng/rime/arcana:ar
    title: rime/arcana:ar WebSocket
    summary: rime/arcana:ar - websocket
    description: Text-to-Speech API for generating Arabic speech from text using Rime Arcana TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana Arabic
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana2TtsWebsocketRequestAr"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:de:
    address: /v1/tts/slng/rime/arcana:de
    title: rime/arcana:de WebSocket
    summary: rime/arcana:de - websocket
    description: Text-to-Speech API for generating German speech from text using Rime Arcana TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana German
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana2TtsWebsocketRequestDe"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:en:
    address: /v1/tts/slng/rime/arcana:en
    title: rime/arcana:en WebSocket
    summary: rime/arcana:en - websocket
    description: Text-to-Speech API for generating English speech from text using Rime Arcana TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana English
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana2TtsWebsocketRequestEn"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:es:
    address: /v1/tts/slng/rime/arcana:es
    title: rime/arcana:es WebSocket
    summary: rime/arcana:es - websocket
    description: Text-to-Speech API for generating Spanish speech from text using Rime Arcana TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana Spanish
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana2TtsWebsocketRequestEs"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/rime/arcana:fr:
    address: /v1/tts/slng/rime/arcana:fr
    title: rime/arcana:fr WebSocket
    summary: rime/arcana:fr - websocket
    description: Text-to-Speech API for generating French speech from text using Rime Arcana TTS model. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Rime Arcana French
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngRimeArcana2TtsWebsocketRequestFr"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/deepgram/aura:2:
    address: /v1/tts/slng/deepgram/aura:2
    title: deepgram/aura:2 WebSocket
    summary: deepgram/aura:2 - websocket
    description: Text-to-Speech API for generating speech from text using SLNG deepgram/aura. Real-time conversational TTS designed for voice agents with ultra-low latency. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Aura 2 (SLNG)
    servers:
      - $ref: "#/servers/production"
      - $ref: "#/servers/staging"
    messages:
      request:
        $ref: "#/components/messages/SlngDeepgramAuraTtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/deepgram/aura:2-en:
    address: /v1/tts/slng/deepgram/aura:2-en
    title: deepgram/aura:2-en WebSocket
    summary: deepgram/aura:2-en - websocket
    description: Text-to-Speech API for generating speech from text using SLNG deepgram/aura. Real-time conversational TTS designed for voice agents with ultra-low latency. English voices only. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Aura 2 English (SLNG)
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngDeepgramAuraTtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
  /v1/tts/slng/deepgram/aura:2-es:
    address: /v1/tts/slng/deepgram/aura:2-es
    title: deepgram/aura:2-es WebSocket
    summary: deepgram/aura:2-es - websocket
    description: Text-to-Speech API for generating speech from text using SLNG deepgram/aura. Real-time conversational TTS designed for voice agents with ultra-low latency. Spanish voices only. Establishes a WebSocket connection for real-time text-to-speech.
    tags:
      - name: Aura 2 Spanish (SLNG)
    servers:
      - $ref: "#/servers/production"
    messages:
      request:
        $ref: "#/components/messages/SlngDeepgramAuraTtsWebsocketRequest"
      response:
        $ref: "#/components/messages/TtsWebsocketResponse"
    bindings:
      ws:
        method: GET
        headers:
          $ref: "#/components/schemas/WebsocketHeaders"
operations:
  sttWhisperLargeV3Send:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3"
    summary: Send audio frames to Whisper Large v3
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/request"
    description: Send audio frames to Whisper Large v3
    tags: []
  sttWhisperLargeV3Receive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3"
    summary: Receive transcripts from Whisper Large v3
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3/messages/response"
    description: Receive transcripts from Whisper Large v3
    tags: []
  sttWhisperLargeV3CompressedSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3-compressed"
    summary: Send audio frames to Whisper Large v3 (Compressed)
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3-compressed/messages/request"
    description: Send audio frames to Whisper Large v3 (Compressed)
    tags: []
  sttWhisperLargeV3CompressedReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3-compressed"
    summary: Receive transcripts from Whisper Large v3 (Compressed)
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1openai~1whisper:large-v3-compressed/messages/response"
    description: Receive transcripts from Whisper Large v3 (Compressed)
    tags: []
  sttSlngDeepgramNova3EnSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en"
    summary: Send audio frames to SLNG Deepgram Nova 3 EN
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/request"
    description: Send audio frames to SLNG Deepgram Nova 3 EN
    tags: []
  sttSlngDeepgramNova3EnReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en"
    summary: Receive transcripts from SLNG Deepgram Nova 3 EN
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-en/messages/response"
    description: Receive transcripts from SLNG Deepgram Nova 3 EN
    tags: []
  sttSlngDeepgramNova3EsSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es"
    summary: Send audio frames to SLNG Deepgram Nova 3 ES
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/request"
    description: Send audio frames to SLNG Deepgram Nova 3 ES
    tags: []
  sttSlngDeepgramNova3EsReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es"
    summary: Receive transcripts from SLNG Deepgram Nova 3 ES
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-es/messages/response"
    description: Receive transcripts from SLNG Deepgram Nova 3 ES
    tags: []
  sttSlngDeepgramNova3HiSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-hi"
    summary: Send audio frames to SLNG Deepgram Nova 3 HI
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-hi/messages/request"
    description: Send audio frames to SLNG Deepgram Nova 3 HI
    tags: []
  sttSlngDeepgramNova3HiReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-hi"
    summary: Receive transcripts from SLNG Deepgram Nova 3 HI
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-hi/messages/response"
    description: Receive transcripts from SLNG Deepgram Nova 3 HI
    tags: []
  sttSlngDeepgramNova3MultiSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-multi"
    summary: Send audio frames to SLNG Deepgram Nova 3 Multi
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-multi/messages/request"
    description: Send audio frames to SLNG Deepgram Nova 3 Multi
    tags: []
  sttSlngDeepgramNova3MultiReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-multi"
    summary: Receive transcripts from SLNG Deepgram Nova 3 Multi
    messages:
      - $ref: "#/channels/~1v1~1stt~1slng~1deepgram~1nova:3-multi/messages/response"
    description: Receive transcripts from SLNG Deepgram Nova 3 Multi
    tags: []
  ttsOrpheusEnSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1canopylabs~1orpheus:en"
    summary: Send synthesis requests to Orpheus English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1canopylabs~1orpheus:en/messages/request"
    description: Send synthesis requests to Orpheus English
    tags: []
  ttsOrpheusEnReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1canopylabs~1orpheus:en"
    summary: Receive audio chunks from Orpheus English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1canopylabs~1orpheus:en/messages/response"
    description: Receive audio chunks from Orpheus English
    tags: []
  ttsRimeArcanaLangSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana~1%7Blang%7D"
    summary: Send synthesis requests to Rime Arcana
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana~1%7Blang%7D/messages/request"
    description: Send synthesis requests to Rime Arcana
  ttsRimeArcanaLangReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana~1%7Blang%7D"
    summary: Receive audio chunks from Rime Arcana
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana~1%7Blang%7D/messages/response"
    description: Receive audio chunks from Rime Arcana
  ttsRimeArcanaArSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:ar"
    summary: Send synthesis requests to Rime Arcana Arabic
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:ar/messages/request"
    description: Send synthesis requests to Rime Arcana Arabic
    tags: []
  ttsRimeArcanaArReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:ar"
    summary: Receive audio chunks from Rime Arcana Arabic
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:ar/messages/response"
    description: Receive audio chunks from Rime Arcana Arabic
    tags: []
  ttsRimeArcanaDeSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:de"
    summary: Send synthesis requests to Rime Arcana German
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:de/messages/request"
    description: Send synthesis requests to Rime Arcana German
    tags: []
  ttsRimeArcanaDeReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:de"
    summary: Receive audio chunks from Rime Arcana German
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:de/messages/response"
    description: Receive audio chunks from Rime Arcana German
    tags: []
  ttsRimeArcanaEnSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:en"
    summary: Send synthesis requests to Rime Arcana English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:en/messages/request"
    description: Send synthesis requests to Rime Arcana English
    tags: []
  ttsRimeArcanaEnReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:en"
    summary: Receive audio chunks from Rime Arcana English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:en/messages/response"
    description: Receive audio chunks from Rime Arcana English
    tags: []
  ttsRimeArcanaEsSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:es"
    summary: Send synthesis requests to Rime Arcana Spanish
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:es/messages/request"
    description: Send synthesis requests to Rime Arcana Spanish
    tags: []
  ttsRimeArcanaEsReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:es"
    summary: Receive audio chunks from Rime Arcana Spanish
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:es/messages/response"
    description: Receive audio chunks from Rime Arcana Spanish
    tags: []
  ttsRimeArcanaFrSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:fr"
    summary: Send synthesis requests to Rime Arcana French
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:fr/messages/request"
    description: Send synthesis requests to Rime Arcana French
    tags: []
  ttsRimeArcanaFrReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:fr"
    summary: Receive audio chunks from Rime Arcana French
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1rime~1arcana:fr/messages/response"
    description: Receive audio chunks from Rime Arcana French
    tags: []
  ttsSlngDeepgramAura2Send:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2"
    summary: Send synthesis requests to SLNG Deepgram Aura 2
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2/messages/request"
    description: Send synthesis requests to SLNG Deepgram Aura 2
    tags: []
  ttsSlngDeepgramAura2Receive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2"
    summary: Receive audio chunks from SLNG Deepgram Aura 2
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2/messages/response"
    description: Receive audio chunks from SLNG Deepgram Aura 2
    tags: []
  ttsSlngDeepgramAura2EnSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-en"
    summary: Send synthesis requests to SLNG Deepgram Aura 2 English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-en/messages/request"
    description: Send synthesis requests to SLNG Deepgram Aura 2 English
    tags: []
  ttsSlngDeepgramAura2EnReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-en"
    summary: Receive audio chunks from SLNG Deepgram Aura 2 English
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-en/messages/response"
    description: Receive audio chunks from SLNG Deepgram Aura 2 English
    tags: []
  ttsSlngDeepgramAura2EsSend:
    action: send
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-es"
    summary: Send synthesis requests to SLNG Deepgram Aura 2 Spanish
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-es/messages/request"
    description: Send synthesis requests to SLNG Deepgram Aura 2 Spanish
    tags: []
  ttsSlngDeepgramAura2EsReceive:
    action: receive
    channel:
      $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-es"
    summary: Receive audio chunks from SLNG Deepgram Aura 2 Spanish
    messages:
      - $ref: "#/channels/~1v1~1tts~1slng~1deepgram~1aura:2-es/messages/response"
    description: Receive audio chunks from SLNG Deepgram Aura 2 Spanish
    tags: []
components:
  messages:
    SlngDeepgramAuraTtsWebsocketRequest:
      name: SlngDeepgramAuraTtsWebsocketRequest
      title: SLNG Deepgram Aura TTS WebSocket Request
      summary: WebSocket request for SLNG-hosted Deepgram Aura TTS (encoding restricted to linear16/mulaw/alaw)
      payload:
        $ref: "#/components/schemas/SlngDeepgramAuraTtsWebsocketRequestMessage"
    SlngRimeArcana2TtsWebsocketRequestFr:
      name: SlngRimeArcana2TtsWebsocketRequestFr
      title: Rime Arcana French TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana2TtsWebsocketRequestMessageFr"
      examples:
        - name: init
          summary: Initialize French TTS session
          payload:
            type: init
            model: rime/arcana:fr
            speaker: destin
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send French text to synthesize
          payload:
            type: text
            text: Bonjour depuis Rime Arcana Français.
    SlngRimeArcana2TtsWebsocketRequestEs:
      name: SlngRimeArcana2TtsWebsocketRequestEs
      title: Rime Arcana Spanish TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana2TtsWebsocketRequestMessageEs"
      examples:
        - name: init
          summary: Initialize Spanish TTS session
          payload:
            type: init
            model: rime/arcana:es
            speaker: seraphina
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send Spanish text to synthesize
          payload:
            type: text
            text: Hola desde Rime Arcana Español.
    SlngRimeArcana2TtsWebsocketRequestEn:
      name: SlngRimeArcana2TtsWebsocketRequestEn
      title: Rime Arcana English TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana2TtsWebsocketRequestMessageEn"
      examples:
        - name: init
          summary: Initialize English TTS session
          payload:
            type: init
            model: rime/arcana:en
            speaker: astra
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send English text to synthesize
          payload:
            type: text
            text: Hello from Rime Arcana English.
    SlngRimeArcana2TtsWebsocketRequestDe:
      name: SlngRimeArcana2TtsWebsocketRequestDe
      title: Rime Arcana German TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana2TtsWebsocketRequestMessageDe"
      examples:
        - name: init
          summary: Initialize German TTS session
          payload:
            type: init
            model: rime/arcana:de
            speaker: lorelei
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send German text to synthesize
          payload:
            type: text
            text: Hallo von Rime Arcana Deutsch.
    SlngRimeArcana2TtsWebsocketRequestAr:
      name: SlngRimeArcana2TtsWebsocketRequestAr
      title: Rime Arcana Arabic TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana2TtsWebsocketRequestMessageAr"
      examples:
        - name: init
          summary: Initialize Arabic TTS session
          payload:
            type: init
            model: rime/arcana:ar
            speaker: sakina
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send Arabic text to synthesize
          payload:
            type: text
            text: مرحبا من رايم أركانا العربية.
    SlngRimeArcana3TtsWebsocketRequest:
      name: SlngRimeArcana3TtsWebsocketRequest
      title: Rime Arcana v3 TTS WebSocket Request
      contentType: application/json
      payload:
        $ref: "#/components/schemas/SlngRimeArcana3TtsWebsocketRequestMessage"
      examples:
        - name: init
          summary: Initialize Rime Arcana v3 TTS session
          payload:
            type: init
            model: rime/arcana:3-en
            speaker: astra
            config:
              sample_rate: 22050
              encoding: linear16
        - name: text
          summary: Send text to synthesize
          payload:
            type: text
            text: Hello from Rime Arcana v3. Testing text-to-speech synthesis.
    TtsWebsocketResponse:
      name: TtsWebsocketResponse
      title: TTS WebSocket Response
      payload:
        $ref: "#/components/schemas/TtsWebsocketMessage"
    TtsWebsocketRequest:
      name: TtsWebsocketRequest
      title: TTS WebSocket Request
      payload:
        $ref: "#/components/schemas/TtsWebsocketRequestMessage"
    SttWebsocketResponse:
      name: SttWebsocketResponse
      title: STT WebSocket Response
      payload:
        $ref: "#/components/schemas/SttWebsocketMessage"
    SttWebsocketRequest:
      name: SttWebsocketRequest
      title: STT WebSocket Request
      payload:
        $ref: "#/components/schemas/SttWebsocketRequestMessage"
  schemas:
    SlngDeepgramAuraTtsWebsocketRequestMessage:
      oneOf:
        - title: Init Message
          type: object
          description: Initialize a session with model and voice configuration before sending text.
          required:
            - type
            - model
          properties:
            type:
              const: init
              type: string
              default: init
            model:
              $ref: "#/components/schemas/TtsModel"
            voice:
              type: string
              description: Voice identifier
            config:
              type: object
              description: Synthesis configuration options
              properties:
                sample_rate:
                  $ref: "#/components/schemas/SampleRate"
                encoding:
                  type: string
                  description: Audio encoding format (mp3/opus not supported for self-hosted Deepgram WebSocket streaming)
                  default: linear16
                  enum:
                    - linear16
                    - mulaw
                    - alaw
                language:
                  $ref: "#/components/schemas/LanguageCode"
                speed:
                  type: number
                  description: Speech speed multiplier (e.g., 1.0 for normal)
        - title: Text Message
          type: object
          description: Send text to synthesize into audio output.
          required:
            - type
            - text
          properties:
            type:
              const: text
            text:
              type: string
              description: Text to synthesize
            flush:
              type: boolean
              description: Whether to flush remaining audio immediately after this text
        - title: Flush Message
          type: object
          description: Force any buffered text/audio to be finalized and delivered.
          required:
            - type
          properties:
            type:
              const: flush
        - title: Clear Message
          type: object
          description: Clear any queued text/audio from the current session.
          required:
            - type
          properties:
            type:
              const: clear
        - title: Cancel Message
          type: object
          description: Cancel the current generation and stop any further audio.
          required:
            - type
          properties:
            type:
              const: cancel
    LanguageCode:
      type: string
      description: ISO-639-1 language code.
      enum:
        - en
        - ja
        - zh
        - de
        - hi
        - fr
        - ko
        - pt
        - it
        - es
        - id
        - nl
        - tr
        - fil
        - pl
        - sv
        - bg
        - ro
        - ar
        - cs
        - el
        - fi
        - hr
        - ms
        - sk
        - da
        - ta
        - uk
        - ru
        - hu
        - no
        - vi
    SampleRate:
      type: integer
      description: Audio sample rate in Hz.
      enum:
        - 8000
        - 16000
        - 22050
        - 24000
        - 32000
        - 44100
        - 48000
    TtsModel:
      type: string
      description: TTS model identifier.
      enum:
        - aura:2
        - eleven:3
        - eleven-flash:2
        - eleven-flash:2.5
        - eleven-multilingual:2
        - canopylabs/orpheus:en
        - deepgram/aura:2
        - deepgram/aura:2-en
        - deepgram/aura:2-es
        - geneing/kokoro:v1
        - myshell/melo:v1
        - rime/arcana:3-en
        - rime/arcana:3-fr
        - rime/arcana:3-hi
        - rime/arcana:ar
        - rime/arcana:de
        - rime/arcana:en
        - rime/arcana:es
        - rime/arcana:fr
    SlngRimeArcana2TtsWebsocketRequestMessageFr:
      description: WebSocket request messages for French Rime Arcana TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageFr"
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageFr"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    TtsCancelMessage:
      title: Cancel Message
      type: object
      description: Cancel the current generation and stop any further audio.
      required:
        - type
      properties:
        type:
          const: cancel
    TtsClearMessage:
      title: Clear Message
      type: object
      description: Clear any queued text/audio from the current session.
      required:
        - type
      properties:
        type:
          const: clear
    TtsFlushMessage:
      title: Flush Message
      type: object
      description: Force any buffered text/audio to be finalized and delivered.
      required:
        - type
      properties:
        type:
          const: flush
    SlngRimeArcana2TtsTextMessageFr:
      title: Text Message (French)
      description: Send French text to synthesize into audio output.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.
    SlngRimeArcana2TtsTextMessageBase:
      title: Text Message Base
      type: object
      description: Base schema for text messages to synthesize into audio output.
      required:
        - type
        - text
      properties:
        type:
          const: text
        text:
          type: string
          description: The text to synthesize.
        flush:
          type: boolean
          description: Whether to flush the buffer after this text.
    SlngRimeArcana2TtsInitMessageFr:
      title: Init Message (French)
      description: Initialize a French Rime Arcana TTS session.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageBase"
        - type: object
          properties:
            speaker:
              $ref: "#/components/schemas/SlngRimeArcana2SpeakerFr"
    SlngRimeArcana2SpeakerFr:
      type: string
      description: Available French voice speakers for SLNG-hosted Rime Arcana v2.
      default: destin
      enum:
        - destin
        - livet_aurelie
        - morel_marianne
        - serrin_joseph
        - solstice
    SlngRimeArcana2TtsInitMessageBase:
      title: Init Message Base
      type: object
      description: Base initialization message for Rime Arcana TTS sessions.
      required:
        - type
        - model
      properties:
        type:
          const: init
        model:
          type: string
          description: The model identifier.
        config:
          $ref: "#/components/schemas/SlngRimeArcana2TtsConfig"
    SlngRimeArcana2TtsConfig:
      type: object
      description: Audio configuration settings for Rime Arcana TTS.
      properties:
        sample_rate:
          allOf:
            - $ref: "#/components/schemas/SampleRate"
            - default: 22050
        encoding:
          type: string
          description: Audio encoding format.
          enum:
            - linear16
            - mp3
            - opus
          default: linear16
    SlngRimeArcana2TtsWebsocketRequestMessageEs:
      description: WebSocket request messages for Spanish Rime Arcana TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageEs"
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageEs"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    SlngRimeArcana2TtsTextMessageEs:
      title: Text Message (Spanish)
      description: Send Spanish text to synthesize into audio output.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: Hola desde Rime Arcana Español. Probando la síntesis de texto a voz.
    SlngRimeArcana2TtsInitMessageEs:
      title: Init Message (Spanish)
      description: Initialize a Spanish Rime Arcana TTS session.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageBase"
        - type: object
          properties:
            speaker:
              $ref: "#/components/schemas/SlngRimeArcana2SpeakerEs"
    SlngRimeArcana2SpeakerEs:
      type: string
      description: Available Spanish voice speakers for SLNG-hosted Rime Arcana v2.
      default: seraphina
      enum:
        - eris
        - lark
        - nova
        - pola
        - seraphina
        - sirius
        - ursa
    SlngRimeArcana2TtsWebsocketRequestMessageEn:
      description: WebSocket request messages for English Rime Arcana TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageEn"
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageEn"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    SlngRimeArcana2TtsTextMessageEn:
      title: Text Message (English)
      description: Send English text to synthesize into audio output.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: Hello from Rime Arcana English. Testing text to speech synthesis.
    SlngRimeArcana2TtsInitMessageEn:
      title: Init Message (English)
      description: Initialize an English Rime Arcana TTS session.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageBase"
        - type: object
          properties:
            speaker:
              $ref: "#/components/schemas/SlngRimeArcana2SpeakerEn"
    SlngRimeArcana2SpeakerEn:
      type: string
      description: Available English voice speakers for SLNG-hosted Rime Arcana v2.
      default: astra
      enum:
        - ahmed_mohamed
        - albion
        - andersen_johan
        - anderson_emily
        - anderson_jake
        - anderson_james
        - anderson_kevin
        - andromeda
        - arcade
        - astra
        - atrium
        - bauer_felix
        - bennett_emily
        - bennett_ryan
        - biondi_paul
        - bond
        - brooks_jordan
        - brown_alex
        - brown_joshua
        - brown_liam
        - brown_madison
        - brown_matthew
        - brown_sophia
        - brown_steven
        - brunetti_tony
        - bruno_katie
        - carter_colin
        - celeste
        - chatterjee_rini
        - chen_david
        - chen_mei
        - clark_tyler
        - cohen_emily
        - cohen_jared
        - collins_emily
        - cooper_logan
        - cupola
        - das_sourav
        - davies_james
        - day
        - dela cruz_maria
        - dela_cristina
        - diallo_amara
        - dubois_emma
        - duncan_colin
        - duval_pierre
        - eliphas
        - estelle
        - esther
        - eucalyptus
        - evans_jason
        - fern
        - fernandez_carlos
        - goldberg_ryan
        - gomez_daniela
        - gomez_diego
        - gomez_isabel
        - gomez_isabella
        - gomez_javon
        - gonzalez_maya
        - gonzalez_michael
        - gonzalez_ryan
        - grayson_avery
        - hanson_ryan
        - harris_luke
        - harris_lynette
        - harrison_brianna
        - harrison_joey
        - harrison_mary
        - hassan_omar
        - henderson_brittney
        - hernandez_juanita
        - holliday_jewel
        - iyer_arun
        - jensen_mikkel
        - johnny_jackson
        - johnson_amber
        - johnson_angela
        - johnson_asha
        - johnson_avery
        - johnson_brianna
        - johnson_cynthia
        - johnson_elijah
        - johnson_james
        - johnson_jessica
        - johnson_joshua
        - johnson_latisha
        - johnson_lisa
        - johnson_madison
        - johnson_malachi
        - johnson_marcel
        - johnson_mary
        - johnson_matt
        - johnson_matthew
        - johnson_melissa
        - johnson_monique
        - johnson_nia
        - johnson_tasha
        - johnson_tia
        - johnson_walter
        - kelly_aoife
        - kelly_jennifer
        - kelly_john
        - kelly_maureen
        - khan_fatima
        - khan_umar
        - kim_ashley
        - kim_daniel
        - kim_jaehyun
        - kim_sunny
        - kima
        - lee_sarah
        - levi_david
        - levine_emily
        - levine_joshua
        - levy_hannah
        - li_michael
        - li_wei
        - li_xiao
        - lintel
        - luna
        - lyra
        - maddox_emily
        - maguire_jason
        - malik_ahmad
        - marinelli_giulia
        - marlu
        - martinez_amber
        - martinez_ana
        - martinez_dylan
        - martinez_jaime
        - martinez_leticia
        - martinez_rosa
        - martinez_ryan
        - masonry
        - mbunda_james
        - mccarthy_james
        - mccarthy_teresa
        - mcdowell_peter
        - mckinley_robert
        - mendoza_alonzo
        - mendoza_jesus
        - mendoza_luz
        - merritt_jimmy
        - miller_cameron
        - miller_dylan
        - miller_judy
        - miller_kelsey
        - miller_lisa
        - miller_logan
        - miyamoto_akari
        - montgomery_elise
        - montgomery_emily
        - morgan_brianna
        - morgan_charles
        - morgan_jeremy
        - morris_colin
        - morris_james
        - morris_leticia
        - morris_melvin
        - morton_daine
        - moss
        - moyo_david
        - murphy_colin
        - murphy_emily
        - murphy_grace
        - murphy_hannah
        - murphy_liam
        - murphy_nolan
        - murphy_sean
        - neal_colin
        - novak_emily
        - nowak_joanna
        - nowak_michal
        - o'connor_brian
        - oculus
        - olsson_erik
        - orion
        - parapet
        - park_minseo
        - park_somin
        - park_sumin
        - parker_chloe
        - patel_amit
        - patel_asha
        - pham_daniel
        - pilaster
        - pola
        - ramirez_maya
        - ramos_raul
        - reddy_arjun
        - reddy_sunil
        - ricci_giulia
        - ricci_lorenzo
        - rodrigues_miguel
        - rodriguez_carla
        - rodriguez_carlos
        - rodriguez_eduardo
        - rodriguez_isabela
        - rodriguez_miguel
        - rossi_matteo
        - santos_angelica
        - schmidt_joshua
        - schmidt_julia
        - schmidt_sophie
        - schneider_eric
        - schneider_jack
        - sharma_amit
        - silva_ana
        - singh_anjali
        - sirius
        - smith_adrian-rungopher
        - smith_heather
        - smith_lisa
        - smith_michael
        - smith_mike
        - stucco
        - tauro
        - thalassa
        - thomas_sarah
        - thompson_kevin
        - torres_miguel
        - tran_david
        - tran_jessica
        - tran_tu
        - transom
        - truss
        - tupou_leilani
        - ursa
        - vashti
        - vespera
        - walnut
        - wang_mei
        - watson_emily
        - williams_anna
        - williams_brian
        - williams_darnell
        - williams_jennifer
        - williams_jordan
        - williams_nathan
        - williams_ryan
        - williams_terence
        - williams_tiffany
        - wilson_emma
        - wong_kenny
        - wright_cooper
        - wright_jason
        - wright_julianne
        - wright_michael
        - zhang_mei
    SlngRimeArcana2TtsWebsocketRequestMessageDe:
      description: WebSocket request messages for German Rime Arcana TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageDe"
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageDe"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    SlngRimeArcana2TtsTextMessageDe:
      title: Text Message (German)
      description: Send German text to synthesize into audio output.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: Hallo von Rime Arcana Deutsch. Test der Sprachsynthese.
    SlngRimeArcana2TtsInitMessageDe:
      title: Init Message (German)
      description: Initialize a German Rime Arcana TTS session.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageBase"
        - type: object
          properties:
            speaker:
              $ref: "#/components/schemas/SlngRimeArcana2SpeakerDe"
    SlngRimeArcana2SpeakerDe:
      type: string
      description: Available German voice speakers for SLNG-hosted Rime Arcana v2.
      default: lorelei
      enum:
        - bergmann_katharina
        - lorelei
        - rosenfeld_steffi
        - runa
        - sigurd
    SlngRimeArcana2TtsWebsocketRequestMessageAr:
      description: WebSocket request messages for Arabic Rime Arcana TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageAr"
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageAr"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    SlngRimeArcana2TtsTextMessageAr:
      title: Text Message (Arabic)
      description: Send Arabic text to synthesize into audio output.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: مرحبا من رايم أركانا العربية. اختبار تحويل النص إلى كلام.
    SlngRimeArcana2TtsInitMessageAr:
      title: Init Message (Arabic)
      description: Initialize an Arabic Rime Arcana TTS session.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsInitMessageBase"
        - type: object
          properties:
            speaker:
              $ref: "#/components/schemas/SlngRimeArcana2SpeakerAr"
    SlngRimeArcana2SpeakerAr:
      type: string
      description: Available Arabic voice speakers for SLNG-hosted Rime Arcana v2.
      default: sakina
      enum:
        - haqq
        - layla
        - qadir
        - sakina
        - shams
    SlngRimeArcana3TtsWebsocketRequestMessage:
      description: WebSocket request messages for Rime Arcana v3 TTS.
      oneOf:
        - $ref: "#/components/schemas/SlngRimeArcana3TtsInitMessage"
        - $ref: "#/components/schemas/SlngRimeArcana3TtsTextMessage"
        - $ref: "#/components/schemas/TtsFlushMessage"
        - $ref: "#/components/schemas/TtsClearMessage"
        - $ref: "#/components/schemas/TtsCancelMessage"
    SlngRimeArcana3TtsTextMessage:
      title: Text Message (Arcana v3)
      description: Send text to synthesize into audio output using Rime Arcana v3.
      allOf:
        - $ref: "#/components/schemas/SlngRimeArcana2TtsTextMessageBase"
      example:
        type: text
        text: Hello from Rime Arcana v3. Testing text-to-speech synthesis.
    SlngRimeArcana3TtsInitMessage:
      title: Init Message (Arcana v3)
      type: object
      description: Initialize a Rime Arcana v3 TTS session with multilingual support.
      required:
        - type
        - model
      properties:
        type:
          const: init
        model:
          type: string
          description: The model identifier.
        speaker:
          $ref: "#/components/schemas/SlngRimeArcana3Speaker"
        config:
          $ref: "#/components/schemas/SlngRimeArcana2TtsConfig"
    SlngRimeArcana3Speaker:
      type: string
      description: Voice speaker ID for Rime Arcana v3.
      default: astra
      enum:
        - ahmed_mohamed
        - akari
        - albion
        - alfhild
        - alzira
        - amarante
        - anaya
        - andersen_johan
        - anderson_emily
        - anderson_jake
        - anderson_james
        - anderson_kevin
        - andromeda
        - anil
        - aravind
        - arcade
        - arif
        - arya
        - astra
        - atrium
        - aurelie
        - aurelio
        - aurélie
        - aviva
        - baldur
        - baltasar
        - batin
        - bauer_felix
        - bennett_emily
        - bennett_ryan
        - biondi_paul
        - bond
        - brooks_jordan
        - brown_alex
        - brown_joshua
        - brown_liam
        - brown_madison
        - brown_matthew
        - brown_sophia
        - brown_steven
        - brunetti_tony
        - bruno_katie
        - carter_colin
        - celeste
        - celestino
        - celso
        - chandani
        - chandrika
        - chatterjee_rini
        - chen_david
        - chen_mei
        - clark_tyler
        - cohen_emily
        - cohen_jared
        - collins_emily
        - cooper_logan
        - cupola
        - das_sourav
        - davies_james
        - day
        - dela cruz_maria
        - dela_cristina
        - destin
        - devi
        - diallo_amara
        - dubois_emma
        - duncan_colin
        - dusk
        - duval_pierre
        - eliphas
        - estela
        - estelle
        - esther
        - eucalyptus
        - evans_jason
        - fadil
        - fern
        - fernandez_carlos
        - freya
        - goldberg_ryan
        - gomez_daniela
        - gomez_diego
        - gomez_isabel
        - gomez_isabella
        - gomez_javon
        - gonzalez_maya
        - gonzalez_michael
        - gonzalez_ryan
        - grayson_avery
        - hanson_ryan
        - harris_luke
        - harris_lynette
        - harrison_brianna
        - harrison_joey
        - harrison_mary
        - hassan_omar
        - henderson_brittney
        - hernandez_juanita
        - holliday_jewel
        - isadora
        - iyer_arun
        - jade
        - jensen_mikkel
        - johnny_jackson
        - johnson_amber
        - johnson_angela
        - johnson_asha
        - johnson_avery
        - johnson_brianna
        - johnson_cynthia
        - johnson_elijah
        - johnson_james
        - johnson_jessica
        - johnson_joshua
        - johnson_latisha
        - johnson_lisa
        - johnson_madison
        - johnson_malachi
        - johnson_marcel
        - johnson_mary
        - johnson_matt
        - johnson_matthew
        - johnson_melissa
        - johnson_monique
        - johnson_nia
        - johnson_tasha
        - johnson_tia
        - johnson_walter
        - kelly_aoife
        - kelly_jennifer
        - kelly_john
        - kelly_maureen
        - khan_fatima
        - khan_umar
        - kim_ashley
        - kim_daniel
        - kim_jaehyun
        - kim_sunny
        - kima
        - kumara
        - lark
        - layla
        - lee_sarah
        - levi_david
        - levine_emily
        - levine_joshua
        - levy_hannah
        - li_michael
        - li_wei
        - li_xiao
        - liesel
        - lintel
        - livet_aurelie
        - lorelei
        - lucia
        - luna
        - luz
        - lyra
        - lúcia
        - maddox_emily
        - maguire_jason
        - malik_ahmad
        - mar
        - marinelli_giulia
        - marlu
        - martinez_amber
        - martinez_ana
        - martinez_dylan
        - martinez_jaime
        - martinez_leticia
        - martinez_rosa
        - martinez_ryan
        - masonry
        - mbunda_james
        - mccarthy_james
        - mccarthy_teresa
        - mcdowell_peter
        - mckinley_robert
        - mendoza_alonzo
        - mendoza_jesus
        - mendoza_luz
        - merritt_jimmy
        - miller_cameron
        - miller_dylan
        - miller_judy
        - miller_kelsey
        - miller_lisa
        - miller_logan
        - miyamoto_akari
        - montgomery_elise
        - montgomery_emily
        - morel_marianne
        - morgan_brianna
        - morgan_charles
        - morgan_jeremy
        - morris_colin
        - morris_james
        - morris_leticia
        - morris_melvin
        - morton_daine
        - moss
        - moyo_david
        - murphy_colin
        - murphy_emily
        - murphy_grace
        - murphy_hannah
        - murphy_liam
        - murphy_nolan
        - murphy_sean
        - neal_colin
        - noa
        - nova
        - novak_emily
        - nowak_joanna
        - nowak_michal
        - nozomi
        - o'connor_brian
        - oculus
        - olsson_erik
        - ori
        - orion
        - parapet
        - park_minseo
        - park_somin
        - park_sumin
        - parker_chloe
        - patel_amit
        - patel_asha
        - pham_daniel
        - pilaster
        - pola
        - qadir
        - raghavan
        - raiden
        - ramirez_maya
        - ramos_raul
        - ravindu
        - reddy_arjun
        - reddy_sunil
        - ren
        - ricci_giulia
        - ricci_lorenzo
        - rodrigues_miguel
        - rodriguez_carla
        - rodriguez_carlos
        - rodriguez_eduardo
        - rodriguez_isabela
        - rodriguez_miguel
        - rosenfeld_steffi
        - rossi_matteo
        - runa
        - sai
        - sakina
        - sakura
        - salik
        - santos_angelica
        - schmidt_joshua
        - schmidt_julia
        - schmidt_sophie
        - schneider_eric
        - schneider_jack
        - seraphina
        - seraphine
        - shai
        - sharma_amit
        - silva_ana
        - singh_anjali
        - sirius
        - sithara
        - smith_adrian-rungopher
        - smith_heather
        - smith_lisa
        - smith_michael
        - smith_mike
        - sol
        - solstice
        - stucco
        - séraphine
        - taru
        - tauro
        - thalassa
        - thomas_sarah
        - thompson_kevin
        - torres_miguel
        - tran_david
        - tran_jessica
        - tran_tu
        - transom
        - truss
        - tupou_leilani
        - ursa
        - vashti
        - vespera
        - violette
        - wajd
        - walnut
        - wang_mei
        - watson_emily
        - williams_anna
        - williams_brian
        - williams_darnell
        - williams_jennifer
        - williams_jordan
        - williams_nathan
        - williams_ryan
        - williams_terence
        - williams_tiffany
        - wilson_emma
        - wong_kenny
        - wright_cooper
        - wright_jason
        - wright_julianne
        - wright_michael
        - yamini
        - yukiko
        - zahir
        - zhang_mei
    TtsWebsocketMessage:
      oneOf:
        - title: Ready Message
          type: object
          description: Indicates the session is ready to receive messages.
          required:
            - type
            - session_id
          properties:
            type:
              const: ready
            session_id:
              type: string
              description: Unique session identifier
        - title: Audio Chunk
          type: object
          description: Chunk of base64-encoded audio data.
          required:
            - type
            - data
          properties:
            type:
              const: audio_chunk
            data:
              type: string
              format: byte
              description: Base64-encoded audio data
            sequence:
              type: integer
              description: Sequence number for ordering chunks
        - title: Segment Start
          type: object
          description: Signals the start of a synthesized segment.
          required:
            - type
            - segment_id
          properties:
            type:
              const: segment_start
            segment_id:
              type: string
              description: Unique segment identifier
        - title: Segment End
          type: object
          description: Signals the end of a synthesized segment.
          required:
            - type
            - segment_id
          properties:
            type:
              const: segment_end
            segment_id:
              type: string
              description: Unique segment identifier
        - title: Flushed
          type: object
          description: Acknowledges that buffered output was flushed.
          required:
            - type
          properties:
            type:
              const: flushed
        - title: Cleared
          type: object
          description: Acknowledges that queued output was cleared.
          required:
            - type
          properties:
            type:
              const: cleared
        - title: Audio End
          type: object
          description: Signals the end of audio generation.
          required:
            - type
          properties:
            type:
              const: audio_end
            duration:
              type: number
              description: Total audio duration
        - title: Error Message
          type: object
          description: Indicates an error occurred during synthesis.
          required:
            - type
            - code
            - message
          properties:
            type:
              const: error
            code:
              type: string
              description: Error code.
              enum:
                - auth_error
                - config_error
                - rate_limit
                - provider_error
            message:
              type: string
              description: Human-readable error description
    TtsWebsocketRequestMessage:
      oneOf:
        - title: Init Message
          type: object
          description: Initialize a session with model and voice configuration before sending text.
          required:
            - type
            - model
          properties:
            type:
              const: init
              type: string
              default: init
            model:
              $ref: "#/components/schemas/TtsModel"
            voice:
              type: string
              description: Voice identifier
            config:
              type: object
              description: Synthesis configuration options
              properties:
                sample_rate:
                  $ref: "#/components/schemas/SampleRate"
                encoding:
                  type: string
                  description: Audio encoding format
                  enum:
                    - linear16
                    - mp3
                    - opus
                language:
                  $ref: "#/components/schemas/LanguageCode"
                speed:
                  type: number
                  description: Speech speed multiplier (e.g., 1.0 for normal)
        - title: Text Message
          type: object
          description: Send text to synthesize into audio output.
          required:
            - type
            - text
          properties:
            type:
              const: text
            text:
              type: string
              description: Text to synthesize
            flush:
              type: boolean
              description: Whether to flush remaining audio immediately after this text
        - title: Flush Message
          type: object
          description: Force any buffered text/audio to be finalized and delivered.
          required:
            - type
          properties:
            type:
              const: flush
        - title: Clear Message
          type: object
          description: Clear any queued text/audio from the current session.
          required:
            - type
          properties:
            type:
              const: clear
        - title: Cancel Message
          type: object
          description: Cancel the current generation and stop any further audio.
          required:
            - type
          properties:
            type:
              const: cancel
    WebsocketHeaders:
      type: object
      properties:
        X-Region-Override:
          type: string
          description: Optional. Specify a target region for this model. If not provided, the system will automatically select an appropriate region.
        Upgrade:
          type: string
          enum:
            - websocket
        Connection:
          type: string
          enum:
            - Upgrade
    SttWebsocketMessage:
      oneOf:
        - title: Ready Message
          type: object
          description: Indicates the session is ready to receive audio.
          required:
            - type
            - session_id
          properties:
            type:
              const: ready
            session_id:
              type: string
              description: Unique session identifier
        - title: Partial Transcript
          type: object
          description: Interim transcription result (when enable_partials is true).
          required:
            - type
            - transcript
          properties:
            type:
              const: partial_transcript
            transcript:
              type: string
              description: Transcribed text so far
            confidence:
              type: number
              description: Confidence score (0-1)
        - title: Final Transcript
          type: object
          description: Final transcription result with optional metadata.
          required:
            - type
            - transcript
          properties:
            type:
              const: final_transcript
            transcript:
              type: string
              description: Complete transcribed text
            confidence:
              type: number
              description: Overall confidence score (0-1)
            language:
              $ref: "#/components/schemas/LanguageCode"
            duration:
              type: number
              description: Audio duration
        - title: Error Message
          type: object
          description: Indicates an error occurred during recognition.
          required:
            - type
            - code
            - message
          properties:
            type:
              const: error
            code:
              type: string
              description: Error code (e.g., auth_error, config_error, rate_limit, provider_error)
            message:
              type: string
              description: Human-readable error description
    SttWebsocketRequestMessage:
      oneOf:
        - title: Init Message
          type: object
          description: Initialize a session with recognition configuration before streaming audio.
          required:
            - type
          properties:
            type:
              const: init
              type: string
              default: init
            config:
              type: object
              description: Recognition configuration options
              properties:
                language:
                  $ref: "#/components/schemas/LanguageCode"
                sample_rate:
                  $ref: "#/components/schemas/SampleRate"
                encoding:
                  type: string
                  description: Audio encoding format
                  enum:
                    - linear16
                    - mp3
                    - opus
                enable_vad:
                  type: boolean
                  description: Enable Voice Activity Detection
                enable_diarization:
                  type: boolean
                  description: Enable speaker diarization
                enable_word_timestamps:
                  type: boolean
                  description: Include word-level timestamps in transcripts
                enable_partials:
                  type: boolean
                  description: Enable partial/interim transcription results
        - title: Audio Message
          type: object
          description: Stream an audio frame to be transcribed.
          required:
            - type
            - data
          properties:
            type:
              const: audio
            data:
              type: string
              format: byte
              description: Base64-encoded audio data
        - title: Finalize Message
          type: object
          description: Signal that no more audio frames will be sent.
          required:
            - type
          properties:
            type:
              const: finalize
