# SLNG Documentation - [SLNG: the execution layer for voice](https://docs.slng.ai/index.md): Text-to-speech, speech-to-text, and voice agents through one API. Your orchestrator stays, your models stay. Every turn is routed and optimized for lower cost and lower latency. - [Getting started with SLNG](https://docs.slng.ai/getting-started.md): Authenticate, send your first text-to-speech and speech-to-text requests, and stream over WebSocket with SLNG in about five minutes. - [Authentication & API Keys](https://docs.slng.ai/authentication.md): Create and manage SLNG keys in the Dashboard, then authenticate requests over HTTP and WebSocket, including key rotation and bringing your own provider key. - [Overview](https://docs.slng.ai/tts/overview.md) - [HTTP examples](https://docs.slng.ai/examples/tts-http.md): Generate speech audio with the SLNG TTS HTTP API. Code samples in curl, Python, and Node.js for basic requests, voice selection, and streaming responses. - [WebSocket examples](https://docs.slng.ai/examples/tts-websocket.md): Stream speech with the SLNG TTS WebSocket API. Python and Node.js code samples for sub-100ms latency, mid-sentence interrupt, and continuous text input. - [Overview](https://docs.slng.ai/stt/overview.md): Access STT models from multiple providers through a single platform. The execution layer routes each request based on language, accent, noise, and cost. - [HTTP examples](https://docs.slng.ai/examples/stt-http.md): Code samples in curl, Python, and Node.js for basic transcription, word timestamps, and diarization. - [WebSocket examples](https://docs.slng.ai/examples/stt-websocket.md): Code samples in Python and Node.js for basic transcription, word timestamps, and diarization. - [How to use Batch API](https://docs.slng.ai/batch-guide.md): Submit audio for asynchronous transcription on the SLNG Batch API using URL input, presigned S3 upload, or inline base64. Supported formats and limits. - [Managed Agents on SLNG](https://docs.slng.ai/voice-agents.md): Managed Agents pair an LLM with SLNG's STT and TTS models. Create an agent once, then dispatch it to phone calls or web sessions, with shared tools, Custom Code, MCP servers, and template variables. - [API examples](https://docs.slng.ai/examples/agents-api.md): Code samples for the SLNG Voice Agent API in JavaScript and Python. Create, list, update, test, and delete voice agents through the agent lifecycle. - [Configuration](https://docs.slng.ai/examples/agents-config.md): Configure SLNG voice agents. Write effective system prompts, attach shared tools and MCP servers, and use template variables to personalize calls at dispatch time. - [Dispatching outbound calls](https://docs.slng.ai/examples/agents-calls.md): Send outbound voice agent calls on SLNG with E.164 numbers, SIP trunks, template variables, and call status webhooks. JavaScript and Python code examples. - [Dashboard](https://docs.slng.ai/dashboard/agent-infra.md): Use Managed Agents in the SLNG Dashboard to create voice agents from templates, configure prompts and models, test in-browser, and monitor live call traffic. - [Telephony](https://docs.slng.ai/dashboard/telephony.md): Set up SIP trunks and phone-number connections in the SLNG Dashboard for outbound and inbound voice agent calls, including BYOC and managed providers. - [Vault](https://docs.slng.ai/dashboard/vault.md): Store organization-wide variables and secrets in the SLNG Dashboard and reference them from your voice agents with the {{$NAME}} syntax. - [Bring Your Own Key](https://docs.slng.ai/dashboard/byok.md): Register your own LLM and speech model providers in the SLNG Dashboard so managed voice agents run on your API keys and provider contracts. - [Embed on your website](https://docs.slng.ai/agents/embed-web.md): Add a browser-based voice session with a SLNG voice agent to any web page using LiveKit, a React frontend, and a backend proxy that hides your SLNG key. - [Voice platform integrations](https://docs.slng.ai/integrations/overview.md): Use SLNG STT and TTS through LiveKit Agents, Cognigy Voice Gateway, and Jambonz with no protocol rewrites. Region overrides included. - [LiveKit plugin for SLNG](https://docs.slng.ai/agents/livekit-plugin.md): Use the livekit-plugins-slng Python package to connect LiveKit Agents to STT and TTS models on the SLNG platform, with failover, warm standby connections, and low-latency turn finalization. - [Pipecat plugin for SLNG](https://docs.slng.ai/agents/pipecat-plugin.md): Use the pipecat-slng Python package to connect a Pipecat pipeline to any STT or TTS model on the SLNG gateway by swapping a single model string. - [Drop-in gateway](https://docs.slng.ai/integrations/gateway.md): Point your existing voice stack at the SLNG platform and keep your code. Route speech-to-text and text-to-speech through one base URL to add caching, regional routing, and provider flexibility. - [SDKs and tools](https://docs.slng.ai/sdks/index.md): Install the voiceai CLI, the JavaScript or Python SDK, or drop the slng agent skills into your coding agent. - [Command-line interface](https://docs.slng.ai/sdks/cli.md): Install the voiceai CLI and run text-to-speech, speech-to-text, and streaming examples from a terminal. - [JavaScript SDK](https://docs.slng.ai/sdks/javascript.md): Install voiceai-sdk on npm and call text-to-speech, speech-to-text, and streaming endpoints from Node, Bun, or Deno. - [Python SDK](https://docs.slng.ai/sdks/python.md): Install voiceai-sdk on PyPI and call text-to-speech, speech-to-text, and streaming endpoints with sync or async clients. - [Agent skills](https://docs.slng.ai/sdks/skills.md): Install the slng-ai/skills pack so coding agents like Claude Code can call text-to-speech, transcription, and voice-agent APIs on your behalf. - [n8n node](https://docs.slng.ai/sdks/n8n.md): Install the n8n-nodes-slng community node to run SLNG text-to-speech, speech-to-text, and voice-agent calls inside n8n workflows. - [HTTP vs. WebSocket protocols](https://docs.slng.ai/protocols.md): Compare HTTP and WebSocket protocols on SLNG. Latency, flow, complexity, and when to use each for text-to-speech and speech-to-text workloads. - [WebSocket API reference](https://docs.slng.ai/websockets.md): Stream text-to-speech and speech-to-text in real time over WebSocket. Message format, init handshake, sub-100ms streaming, and reconnection patterns. - [WebSocket integration guide](https://docs.slng.ai/websocket-guide.md): Production patterns for SLNG WebSocket integrations. Reconnection, backpressure, audio buffering, error handling, and troubleshooting common issues. - [Error Codes & Troubleshooting](https://docs.slng.ai/reference/errors.md): Authentication, WebSocket, and pronunciation-dictionary error codes for the SLNG API, plus fixes for common streaming and audio-format issues. - [SLNG changelog](https://docs.slng.ai/changelog.md): Release notes for the SLNG speech and language API. New TTS and STT models, voice agent features, breaking changes, and bug fixes. - [The Execution Layer](https://docs.slng.ai/execution-layer/index.md): This layer is built to give you control of your voice calls. It reduces latency and model cost across the voice pipeline, using your existing tools, while improving reliability. - [How It Works](https://docs.slng.ai/execution-layer/how-it-works.md): SLNG runs three stages between your orchestrator and the models, one for each part of the voice pipeline. Each removes a category of unnecessary compute. - [Regional Execution](https://docs.slng.ai/execution-layer/adaptive.md): Not every turn deserves the same execution path. The execution layer adapts on four dimensions, from geography and compliance to cost, latency, and workload. - [STT Performance Layer](https://docs.slng.ai/execution-layer/stt-performance-layer.md): The first stage of the execution layer routes each turn's audio to the transcription model best suited to it, balancing accuracy, latency, activity detection and diarization. - [Context Router](https://docs.slng.ai/execution-layer/context-router.md): Not every turn in a voice call needs full LLM inference. SLNG allocates reasoning where it's needed and resolves repeatable turns through shorter paths. - [TTS Path Optimization](https://docs.slng.ai/execution-layer/tts-path-optimization.md): TTS on the execution layer is assembly, not generation. Output is served from cache when possible and synthesized only when genuinely new. - [Integration Guide](https://docs.slng.ai/context-router/index.md): Point your voice agent to our Context Router endpoint to add response caching without changing your agent logic. - [Bring your own LLM ](https://docs.slng.ai/context-router/untitled-page.md) - [Connect ElevenLabs to the Context Router](https://docs.slng.ai/llm-router/elevenlabs.md): Configure an ElevenLabs Conversational AI agent to use SLNG's OpenAI-compatible Context Router as a custom LLM, with response caching. - [Connect Vapi to the Context Router](https://docs.slng.ai/llm-router/vapi.md): Point a Vapi assistant at SLNG's OpenAI-compatible Context Router as a custom model to add response caching with a base-URL swap. - [BYOK Voice Models](https://docs.slng.ai/execution-layer/byok.md): Pass your own provider key on requests so billing runs against your provider account, while the SLNG cache still applies on top. - [Pronunciation dictionaries](https://docs.slng.ai/pronunciation-dictionaries.md): Create reusable pronunciation dictionaries and attach them to any SLNG TTS request so brand names, acronyms, and domain terms are spoken the way you expect. - [API Reference](https://docs.slng.ai/api-reference/overview.md): Every SLNG endpoint, grouped by capability: the Unified API, the Execution layer, text-to-speech, speech-to-text, voice agents, batch, and orchestrator bridges. - [Unified STT](https://docs.slng.ai/api-reference/unified-api/unmute-stt-bridge/unmute-stt-bridge-http.md): Transcribe audio via SLNG's native WebSocket protocol bridge. The model_variant path parameter specifies the target STT model (e.g., deepgram/nova:3, slng/openai/whisper:large-v3). - [Unified STT](https://docs.slng.ai/api-reference/unified-api/unmute-stt-bridge/unmute-stt-bridge-ws.md): Stream audio to any SLNG-supported STT model over the unified WebSocket protocol with init, audio, finalize, partial, and final transcript messages. - [Unified TTS](https://docs.slng.ai/api-reference/unified-api/unmute-tts-bridge/unmute-tts-bridge-http.md): Synthesize speech via SLNG's native WebSocket protocol bridge. The model_variant path parameter specifies the target TTS model (e.g., deepgram/aura:2). - [Unified TTS](https://docs.slng.ai/api-reference/unified-api/unmute-tts-bridge/unmute-tts-bridge-ws.md): Stream synthesized audio from any SLNG-supported TTS model over the unified WebSocket protocol with init, text, flush, and binary audio frames. - [Parameters coverage](https://docs.slng.ai/execution-layer/unified-api-parameters.md): Compatibility matrix for the SLNG Unified API. Which TTS and STT request parameters are supported by Deepgram, ElevenLabs, Cartesia, Sarvam, and Rime. - [Supported models](https://docs.slng.ai/execution-layer/unified-api-models.md): Full list of TTS and STT models reachable through the SLNG Unified API. Deepgram Nova and Aura, Rime Arcana, ElevenLabs, Cartesia, Sarvam, and more. - [Aura 2 (English)](https://docs.slng.ai/api-reference/tts/deepgram-aura-2/aura-2-english-http.md): Synthesize English speech using SLNG-hosted Deepgram Aura 2. - [Aura 2 (English)](https://docs.slng.ai/api-reference/tts/deepgram-aura-2/aura-2-english-ws.md): Stream low-latency conversational English text-to-speech from SLNG-hosted Deepgram Aura 2 over WebSocket, optimized for production voice agents. - [Inworld Max 1.5](https://docs.slng.ai/api-reference/tts/inworld-max-1-5/inworld-max-1-5-http.md): Synthesize speech using SLNG-hosted Inworld Max 1.5. - [Inworld Max 1.5](https://docs.slng.ai/api-reference/tts/inworld-max-1-5/inworld-max-1-5-ws.md): Stream multilingual speech synthesis from SLNG-hosted Inworld Max 1.5 over WebSocket using SLNG's unified low-latency TTS protocol. - [Fish TTS 2.1 Pro](https://docs.slng.ai/api-reference/tts/fish-tts-2-1-pro/fish-tts-2-1-pro-http.md): Synthesize speech with SLNG-hosted Fish TTS 2.1 Pro in a single HTTP request. The response is binary audio in the format set by `format` (MP3 by default). - [Fish TTS 2.1 Pro](https://docs.slng.ai/api-reference/tts/fish-tts-2-1-pro/fish-tts-2-1-pro-ws.md): Stream speech synthesis from SLNG-hosted Fish TTS 2.1 Pro over a native MessagePack WebSocket. Open the session with a start frame carrying voice and audio settings, send text frames as input arrives, then flush or stop to finish; the server streams back binary audio chunks and a finish frame when s… - [Cartesia Sonic 3](https://docs.slng.ai/api-reference/tts/cartesia-sonic-3/cartesia-sonic-3-ws.md): Stream low-latency speech synthesis from Cartesia Sonic 3 over WebSocket with a multilingual catalog of voices and context-aware controls. - [Cartesia Sonic 3.5](https://docs.slng.ai/api-reference/tts/cartesia-sonic-3-5/cartesia-sonic-3-5-ws.md): Stream low-latency speech synthesis from Cartesia Sonic 3.5 over WebSocket with a multilingual catalog of voices and context-aware controls. - [Aura 2](https://docs.slng.ai/api-reference/tts/deepgram-aura-2/aura-2-http.md): Synthesize speech using Deepgram Aura 2 for conversational voice agents. - [Aura 2](https://docs.slng.ai/api-reference/tts/deepgram-aura-2/aura-2-ws.md): Stream low-latency conversational text-to-speech from Deepgram Aura 2 over WebSocket as raw binary frames, optimized for ultra-low-latency voice agents. - [Fish Audio TTS S2 Pro](https://docs.slng.ai/api-reference/tts/fish-audio-tts-s2-pro/fish-audio-tts-s2-pro-http.md): Synthesize speech with Fish Speech S2 Pro over one-shot HTTP. Returns binary audio in the requested format. MessagePack requests may include inline reference audio for voice cloning. - [Fish Audio TTS S2 Pro](https://docs.slng.ai/api-reference/tts/fish-audio-tts-s2-pro/fish-audio-tts-s2-pro-ws.md): Stream speech synthesis from Fish Speech S2 Pro over a native MessagePack WebSocket. Send a start frame followed by text frames; receive binary audio chunks. - [Fish Audio TTS S2.1 Pro](https://docs.slng.ai/api-reference/tts/fish-audio-tts-s2-1-pro/fish-audio-tts-s2-1-pro-http.md): Synthesize speech with Fish Speech S2.1 Pro over one-shot HTTP. Returns binary audio in the requested format. MessagePack requests may include inline reference audio for voice cloning. - [Fish Audio TTS S2.1 Pro](https://docs.slng.ai/api-reference/tts/fish-audio-tts-s2-1-pro/fish-audio-tts-s2-1-pro-ws.md): Stream speech synthesis from Fish Speech S2.1 Pro over a native MessagePack WebSocket. Send a start frame followed by text frames; receive binary audio chunks. - [Gradium TTS](https://docs.slng.ai/api-reference/tts/gradium-tts/gradium-tts-default-http.md): Real-time multilingual text-to-speech with streaming WebSocket and one-shot HTTP synthesis - [Gradium TTS](https://docs.slng.ai/api-reference/tts/gradium-tts/gradium-tts-default-ws.md): Real-time multilingual text-to-speech with streaming WebSocket and one-shot HTTP synthesis - [Kugel 1 Turbo](https://docs.slng.ai/api-reference/tts/kugel-1-turbo/kugel-1-turbo-ws.md): Stream low-latency high-quality speech from KugelAudio Kugel 1 Turbo over WebSocket with expressiveness controls and SLNG's unified TTS protocol. - [Kugel 1](https://docs.slng.ai/api-reference/tts/kugel-1/kugel-1-ws.md): Stream high-quality speech synthesis from KugelAudio Kugel 1 over WebSocket with expressiveness controls and SLNG's unified TTS protocol. - [Kugel 2](https://docs.slng.ai/api-reference/tts/kugel-2/kugel-2-ws.md): Stream high-quality speech synthesis from KugelAudio Kugel 2 over WebSocket with expressiveness controls and SLNG's unified TTS protocol. - [Kugel 2 Turbo](https://docs.slng.ai/api-reference/tts/kugel-2-turbo/kugel-2-turbo-ws.md): Stream low-latency high-quality speech synthesis from KugelAudio Kugel 2 Turbo over WebSocket with expressiveness controls and SLNG's unified TTS protocol. - [Murf Falcon](https://docs.slng.ai/api-reference/tts/murf-falcon/murf-falcon-ws.md): Stream high-quality multilingual speech synthesis from Murf Falcon over WebSocket with selectable encodings, sample rates, and SLNG's unified TTS protocol. - [Bulbul v3](https://docs.slng.ai/api-reference/tts/sarvam-ai-bulbul-v3/bulbul-v3-http.md): Synthesize speech using Sarvam AI Bulbul with high-quality multilingual TTS for Indian languages and 30+ speaker voices. - [Bulbul v3](https://docs.slng.ai/api-reference/tts/sarvam-ai-bulbul-v3/bulbul-v3-ws.md): Stream multilingual Indian-language speech from Sarvam AI Bulbul v3 over WebSocket with 30+ speaker voices and SLNG's unified low-latency TTS protocol. - [Bulbul Stream v3](https://docs.slng.ai/api-reference/tts/sarvam-ai-bulbul-stream-v3/bulbul-stream-v3-http.md): HTTP-streaming multilingual TTS for Indian languages with 30+ speaker voices. Returns raw audio bytes (chunked) in the codec selected via `output_audio_codec`. Unlike `sarvam/bulbul:v3`, no `X-Duration` header is sent and no JSON envelope is used. - [Soniox TTS v1](https://docs.slng.ai/api-reference/tts/soniox-tts-v1/soniox-tts-v1-http.md): Real-time text-to-speech with streaming WebSocket and one-shot HTTP synthesis - [Soniox TTS v1](https://docs.slng.ai/api-reference/tts/soniox-tts-v1/soniox-tts-v1-ws.md): Stream real-time speech synthesis from Soniox TTS v1 over WebSocket with low-latency incremental audio output and SLNG's unified TTS protocol. - [Pronunciation dictionaries](https://docs.slng.ai/pronunciation-dictionaries.md): Create reusable pronunciation dictionaries and attach them to any SLNG TTS request so brand names, acronyms, and domain terms are spoken the way you expect. - [Create pronunciation dictionary](https://docs.slng.ai/api-reference/tts/pronunciation-dictionaries/create-pronunciation-dictionary-http.md): Create a reusable pronunciation dictionary for TTS rewrite rules. - [List pronunciation dictionaries](https://docs.slng.ai/api-reference/tts/pronunciation-dictionaries/list-pronunciation-dictionaries-http.md): List pronunciation dictionaries for the authenticated organization. - [Get pronunciation dictionary](https://docs.slng.ai/api-reference/tts/pronunciation-dictionaries/get-pronunciation-dictionary-http.md): Read one pronunciation dictionary by name from the authenticated organization. - [Delete pronunciation dictionary](https://docs.slng.ai/api-reference/tts/pronunciation-dictionaries/delete-pronunciation-dictionary-http.md): Delete one pronunciation dictionary by name from the authenticated organization. - [HTTP examples](https://docs.slng.ai/examples/tts-http.md): Generate speech audio with the SLNG TTS HTTP API. Code samples in curl, Python, and Node.js for basic requests, voice selection, and streaming responses. - [WebSocket examples](https://docs.slng.ai/examples/tts-websocket.md): Stream speech with the SLNG TTS WebSocket API. Python and Node.js code samples for sub-100ms latency, mid-sentence interrupt, and continuous text input. - [Nova 3 (English)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-english-http.md): Transcribe English audio using SLNG-hosted Deepgram Nova 3. - [Nova 3 (English)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-english-ws.md): Stream real-time English transcripts from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partials, finals, and speaker diarization. - [Nova 3 (Hindi)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-hindi-http.md): Transcribe Hindi audio using SLNG-hosted Deepgram Nova 3. - [Nova 3 (Hindi)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-hindi-ws.md): Stream real-time Hindi speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Nova 3 (Indonesian)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-indonesian-ws.md): Stream real-time Indonesian speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Nova 3 (Kannada)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-kannada-ws.md): Stream real-time Kannada speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Nova 3 (Marathi)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-marathi-ws.md): Stream real-time Marathi speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Nova 3 (Spanish)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-spanish-http.md): Transcribe Spanish audio using SLNG-hosted Deepgram Nova 3. - [Nova 3 (Spanish)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-spanish-ws.md): Stream real-time Spanish speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Nova 3 (Telugu)](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-telugu-ws.md): Stream real-time Telugu speech-to-text from SLNG-hosted Deepgram Nova 3 over WebSocket with low-latency partial and final transcripts and VAD. - [Speechmatics Realtime v2 (Indonesian)](https://docs.slng.ai/api-reference/stt/speechmatics-realtime-v2/speechmatics-realtime-v2-indonesian-ws.md): Real-time Indonesian speech-to-text from SLNG-hosted Speechmatics over WebSocket. Stream binary audio and receive partial and final transcripts with word timing, confidence, and optional diarization. - [Nova 2](https://docs.slng.ai/api-reference/stt/deepgram-nova-2/nova-2-http.md): Transcribe audio using Deepgram Nova 2 with VAD and speaker diarization. - [Nova 2](https://docs.slng.ai/api-reference/stt/deepgram-nova-2/nova-2-ws.md): Stream real-time speech-to-text transcripts from Deepgram Nova 2 over WebSocket with voice activity detection, speaker diarization, and partial results. - [Nova 3](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-http.md): Transcribe audio using Deepgram Nova 3 with VAD and speaker diarization. - [Nova 3](https://docs.slng.ai/api-reference/stt/deepgram-nova-3/nova-3-ws.md): Stream real-time speech-to-text transcripts from Deepgram Nova 3 over WebSocket with voice activity detection, speaker diarization, and partial results. - [Nova 3 Medical](https://docs.slng.ai/api-reference/stt/deepgram-nova-3-medical/nova-3-medical-http.md): Transcribe medical audio using Deepgram Nova 3 Medical with specialized vocabulary. - [Nova 3 Medical](https://docs.slng.ai/api-reference/stt/deepgram-nova-3-medical/nova-3-medical-ws.md): Stream real-time medical transcription from Deepgram Nova 3 Medical over WebSocket with healthcare-specific vocabulary, VAD, and speaker diarization. - [Fish Audio ASR](https://docs.slng.ai/api-reference/stt/fish-audio-asr/fish-audio-asr-http.md): Transcribe audio with Fish Audio speech-to-text, with an optional language hint and per-segment timestamps. - [Gradium STT](https://docs.slng.ai/api-reference/stt/gradium-stt/gradium-stt-default-ws.md): Real-time multilingual speech-to-text via streaming WebSocket - [Reson8 STT v1](https://docs.slng.ai/api-reference/stt/reson8-stt-v1/reson8-stt-v1-ws.md): Real-time speech-to-text transcription using Reson8 via WebSocket. Supports streaming audio with word-level timestamps, confidence scores, and partial results. - [Saaras v3](https://docs.slng.ai/api-reference/stt/sarvam-ai-saaras/saaras-v3-http.md): Transcribe audio using Sarvam AI Saaras with domain-aware speech recognition for 23 languages and flexible output modes. - [Saaras v3](https://docs.slng.ai/api-reference/stt/sarvam-ai-saaras/saaras-v3-ws.md): "Stream real-time speech-to-text transcripts from Sarvam AI Saaras v3 over WebSocket with voice activity detection across 23 Indian languages. Session configuration is provided via query parameters on the WebSocket upgrade URL: `language-code`, `mode`, `sample_rate`, `input_audio_codec`, `high_vad_s… - [Speech AI Real-time v5](https://docs.slng.ai/api-reference/stt/soniox-speech-ai-real-time-v5/speech-ai-real-time-v5-ws.md): Stream real-time transcripts from Soniox Speech AI v5 over WebSocket with speaker diarization, language detection, and configurable endpoint detection. - [Speechmatics Realtime v2](https://docs.slng.ai/api-reference/stt/speechmatics-realtime-v2/speechmatics-realtime-v2-ws.md): Real-time speech-to-text transcription with Speechmatics over WebSocket. Stream binary audio and receive partial and final transcripts with word timing, confidence, and optional diarization. - [HTTP examples](https://docs.slng.ai/examples/stt-http.md): Code samples in curl, Python, and Node.js for basic transcription, word timestamps, and diarization. - [WebSocket examples](https://docs.slng.ai/examples/stt-websocket.md): Code samples in Python and Node.js for basic transcription, word timestamps, and diarization. - [List agents](https://docs.slng.ai/api-reference/agents/list-agents.md): List all voice agents for your organisation. - [Create agent](https://docs.slng.ai/api-reference/agents/create-agent.md): Create a new voice agent. - [Import agent](https://docs.slng.ai/api-reference/agents/import-agent.md): Create a new voice agent from an agent configuration document. - [Get agent](https://docs.slng.ai/api-reference/agents/get-agent.md): Get a single voice agent by ID. - [Replace agent](https://docs.slng.ai/api-reference/agents/replace-agent.md): Replace a voice agent, including its complete shared tool and MCP attachment lists. - [Delete agent](https://docs.slng.ai/api-reference/agents/delete-agent.md): Soft-delete a voice agent. - [Update agent (partial)](https://docs.slng.ai/api-reference/agents/update-agent-partial.md): Partially update a voice agent. Shared tool and MCP attachments cannot be changed with PATCH; download the full config and use PUT instead. - [Download agent config](https://docs.slng.ai/api-reference/agents/download-agent-config.md): Download the agent's current configuration as a canonical JSON config document. - [List SIP trunk options](https://docs.slng.ai/api-reference/agents/list-sip-trunk-options.md): List the organisation's inbound and outbound SIP trunks as assignment options for this agent. Each option reports whether it is currently selectable and, when it is not, the reason (for example, the trunk is inactive or already assigned to another agent). - [Duplicate agent](https://docs.slng.ai/api-reference/agents/duplicate-agent.md): Create a server-side copy of an existing voice agent. - [List agent versions](https://docs.slng.ai/api-reference/versions/list-agent-versions.md): List configuration versions for a voice agent (paginated, newest first). - [Get agent version](https://docs.slng.ai/api-reference/versions/get-agent-version.md): Get one version including its full config document. - [Update version label](https://docs.slng.ai/api-reference/versions/update-version-label.md): Set or clear a version's label. The label is the only mutable field on a version; the configuration itself is immutable. - [Download version config](https://docs.slng.ai/api-reference/versions/download-version-config.md): Download the config document recorded for this version as a JSON file attachment (`*-v{version_number}.agent.json`), in the same canonical format as the current-config download. The `ETag` header carries the config content hash; send it back in `If-None-Match` to receive `304 Not Modified`. - [Preview version restore](https://docs.slng.ai/api-reference/versions/preview-version-restore.md): Compute what restoring this version would change, without applying anything. - [Accept version restore](https://docs.slng.ai/api-reference/versions/accept-version-restore.md): Apply a previously previewed restore. The hashes bind the acceptance to the exact preview that was reviewed; if the agent, its resources, or the name policy changed since the preview, the request fails with a conflict and a new preview is required. A successful restore records a new version with sou… - [List calls](https://docs.slng.ai/api-reference/calls/list-calls.md): List calls for a voice agent (paginated). - [Dispatch call](https://docs.slng.ai/api-reference/calls/dispatch-call.md): Dispatch an outbound call for a voice agent. - [Export calls (CSV)](https://docs.slng.ai/api-reference/calls/export-calls-csv.md): Export calls for a voice agent as a CSV file download. Supports the same filters as the call list. The export is not paginated; all matching calls are streamed. - [Get call](https://docs.slng.ai/api-reference/calls/get-call.md): Get details of a specific call. - [Create web session](https://docs.slng.ai/api-reference/sessions/create-web-session.md): Create a browser session for a voice agent. - [List Tools](https://docs.slng.ai/api-reference/tools/list-tools.md): List your organisation's live tools. Each item carries its latest published version and a config_valid flag. Filter by name and page with limit and offset. - [Create Tool](https://docs.slng.ai/api-reference/tools/create-tool.md): Create an organisation tool draft from one of eight tool types. Curated capability types are rejected, the code type needs the code-tools feature, and managed singleton types (send_sms, transfer_call, end_call) return the existing instance instead of a duplicate. Returns 201 with the new draft. - [Get Tool](https://docs.slng.ai/api-reference/tools/get-tool.md): Return one tool visible to your organisation with its current publish gates. Custom Code responses include code_src, dependencies, declared secrets, and the introspected argument schema. Curated tools are returned with source set to curated and are read-only. A tool owned by another organisation ret… - [Delete Tool](https://docs.slng.ai/api-reference/tools/delete-tool.md): Soft-delete an organisation tool. If the tool is still referenced by an agent or an active call, returns 409 with code TOOL_DELETE_BLOCKED and a blockers array listing what holds the reference. - [Update Tool](https://docs.slng.ai/api-reference/tools/update-tool.md): Patch fields on an organisation tool draft. Curated tools are read-only and return 403. Typed (non-code) tools reject code_src, declared_secrets, and dependencies. The tool_type is immutable, and a name already used by another tool returns 409. - [Introspect Tool](https://docs.slng.ai/api-reference/tools/introspect-tool.md): Run a Custom Code draft in a prepared sandbox to derive and validate its argument schema. Requires the code-tools feature. Returns 409 with code PREPARING while the sandbox is still starting, and can time out. - [Run Tool](https://docs.slng.ai/api-reference/tools/run-tool.md): Test-run a prepared draft with sample input and confirmed side effects. Context-bound tool types return 400, curated tools return 403 (duplicate one first), and non-api_request tools must be built before running or return 409. An api_request run uses optimistic concurrency and returns 409 with code… - [Publish Tool](https://docs.slng.ai/api-reference/tools/publish-tool.md): Run the publish gates for the draft and, when they all pass, create the next immutable version. If any gate fails, returns 409 with the same PublishResult body, published set to false, and the per-gate check results. - [Duplicate Tool](https://docs.slng.ai/api-reference/tools/duplicate-tool.md): Copy the published snapshot or current draft of a visible tool into a new organisation-owned tool. Curated capability types cannot be duplicated. Returns 201 with the new tool. - [List Tool Versions](https://docs.slng.ai/api-reference/tools/list-tool-versions.md): List the immutable published versions of a tool in ascending version order. Page with limit and offset. - [Get Tool Version](https://docs.slng.ai/api-reference/tools/get-tool-version.md): Return one immutable published version of a tool by its version number. - [Preview Tool Attachment Upgrade](https://docs.slng.ai/api-reference/tools/preview-tool-attachment-upgrade.md): Preview upgrading one agent attachment to a published tool version. Returns the parameter diff, any blocking issues, and the hashes needed to accept. If the sandbox is still installing dependencies, returns 202 with a Retry-After header and preparation_state set to preparing. - [Accept Tool Attachment Upgrade](https://docs.slng.ai/api-reference/tools/accept-tool-attachment-upgrade.md): Apply a previewed upgrade to one agent attachment. Uses optimistic concurrency, so if any preview hash no longer matches it returns 409, and a stale attachment returns 409 with code TOOL_ATTACHMENT_STALE. - [List MCP Servers](https://docs.slng.ai/api-reference/mcp-servers/list-mcp-servers.md): Return the organisation's live (not soft-deleted) MCP servers, ordered by name then id. Each item reports the capability status, when capabilities were last observed, and the discovered tool count. - [Create MCP Server](https://docs.slng.ai/api-reference/mcp-servers/create-mcp-server.md): Register an MCP server for the organisation and schedule an immediate capability probe. The url_template, auth, and headers are validated and every referenced Vault secret must already exist. A duplicate live name returns 409. - [Get MCP Server](https://docs.slng.ai/api-reference/mcp-servers/get-mcp-server.md): Return the full MCP server record, including its most recently discovered capabilities and tool schemas. Secret values are never exposed. - [Delete MCP Server](https://docs.slng.ai/api-reference/mcp-servers/delete-mcp-server.md): Soft-delete the MCP server. Returns 409 with code MCP_SERVER_IN_USE and a list of blockers when the server is still referenced by an active agent or a non-terminal call. - [Update MCP Server](https://docs.slng.ai/api-reference/mcp-servers/update-mcp-server.md): Apply a partial update. The fields you send are merged over the stored configuration, then the merged url_template, auth, headers, and Vault secret references are re-validated. Changing connection behavior resets discovered capabilities and reschedules a probe. - [Connect MCP Server](https://docs.slng.ai/api-reference/mcp-servers/connect-mcp-server.md): Open a live connection to the MCP server and refresh its stored capabilities and tool list. Returns a ConnectResult with the connection status, round-trip latency, reported server info, protocol version, discovered tools, an event log, and any error. Secret values are scrubbed from the result. - [List Vault](https://docs.slng.ai/api-reference/vault/list-vault.md): List every Vault entry for the authenticated organisation, ordered by name. Secret values are masked (value null, has_value true); variable values are included for authorized readers. - [Create Vault Entry](https://docs.slng.ai/api-reference/vault/create-vault-entry.md): Create a Vault entry. Set kind to `secret` for a write-once credential whose value is never read back, or `variable` for a value readable by authorized callers. The name must be unique within the organisation; a duplicate name returns 409. Records the caller as the creator. - [Get Vault Entry](https://docs.slng.ai/api-reference/vault/get-vault-entry.md): Fetch a single Vault entry by name. Secret values are never returned; variable values are included for authorized readers. - [Delete Vault Entry](https://docs.slng.ai/api-reference/vault/delete-vault-entry.md): Delete a Vault entry by name. The request is refused with 409 when active or call-pinned resources still reference the entry; remove those references or end the pinned calls first. - [Rotate Vault Entry](https://docs.slng.ai/api-reference/vault/rotate-vault-entry.md): Overwrite the stored value of a Vault entry. For a secret this is the only way the value ever changes, and it is still never read back. Rotation locks the closure of active inbound agents that reference the entry, bumps its revision, and records who rotated it and when. To change only the descriptio… - [List Vault References](https://docs.slng.ai/api-reference/vault/list-vault-references.md): List the resources that reference a Vault entry. Each item reports where the reference sits and whether it blocks deletion of the entry. - [Update Vault Description](https://docs.slng.ai/api-reference/vault/update-vault-description.md): Update only the description of a Vault entry. This never touches the stored value and does not lock dependent resources. An empty or whitespace-only description is stored as null. To change the value, use the rotate endpoint instead. - [List Client Models](https://docs.slng.ai/api-reference/client-models/list-client-models.md): Return a paginated list of the client models owned by your organisation, each with its configured fallback cascade. Credential values are never returned; every model reports `has_api_key`, `has_vertex_credentials`, and `has_aws_credentials` instead. - [Create Client Model](https://docs.slng.ai/api-reference/client-models/create-client-model.md): Register a client model that holds your provider credentials and return the created record with status 201. The organisation is taken from your authenticated API key, never the request body. The `api_key`, `vertex_credentials`, and `aws_credentials` fields are write-only: stored encrypted and never… - [Get Client Model](https://docs.slng.ai/api-reference/client-models/get-client-model.md): Return one client model owned by your organisation, including its fallback cascade. A model owned by another organisation returns 404. Credential values are never returned; the `has_api_key`, `has_vertex_credentials`, and `has_aws_credentials` flags report whether each secret is stored. - [Update Client Model](https://docs.slng.ai/api-reference/client-models/update-client-model.md): Update one client model owned by your organisation. Send the fields you want to change (at least one is required); omitted fields keep their stored values. A model owned by another organisation returns 404. The write-only `api_key`, `vertex_credentials`, and `aws_credentials` fields overwrite the st… - [Delete Client Model](https://docs.slng.ai/api-reference/client-models/delete-client-model.md): Delete one client model owned by your organisation and return status 204. A model owned by another organisation returns 404. - [How to use Batch API](https://docs.slng.ai/batch-guide.md): Submit audio for asynchronous transcription on the SLNG Batch API using URL input, presigned S3 upload, or inline base64. Supported formats and limits. - [List batch jobs](https://docs.slng.ai/api-reference/speechmatics/list-batch-jobs.md): Returns a paginated list of jobs for your organization. Supports filtering by status, model, and submission date range, plus sorting. - [Create batch job](https://docs.slng.ai/api-reference/speechmatics/create-batch-job.md): Submit audio for asynchronous transcription via `application/json`. Provide exactly one input: a public HTTPS `input_url`, an `s3_key` from a preceding presign call, or inline `input_base64`. For the presigned-upload flow, the first call (`mode: "presign"`) returns **200 OK** with an upload URL — th… - [Get batch job](https://docs.slng.ai/api-reference/speechmatics/get-batch-job.md): Returns the full details of a job (status, config, timestamps, error info). Poll until `status` reaches `DONE` or `FAILED`. - [Delete batch job](https://docs.slng.ai/api-reference/speechmatics/delete-batch-job.md): Delete a completed or failed job. Only jobs in a terminal status (`DONE` or `FAILED`) can be deleted. - [Get batch job files](https://docs.slng.ai/api-reference/speechmatics/get-batch-job-files.md): Returns signed download URLs for the input audio and the output transcripts of a completed job. Outputs are returned per available format (`json`, `txt`, `srt`); missing formats are omitted. - [Get current account](https://docs.slng.ai/api-reference/account/get-current-account.md): Return the account, organization, and API key associated with the bearer token in the request. Use this to confirm which key is in use and which organization and plan tier it belongs to. - [Cognigy STT](https://docs.slng.ai/api-reference/bridges/cognigy-stt-bridge/cognigy-stt-bridge-http.md): Transcribe audio via Cognigy Voice Gateway protocol bridge. - [Cognigy STT](https://docs.slng.ai/api-reference/bridges/cognigy-stt-bridge/cognigy-stt-bridge-ws.md): Stream live audio to SLNG over the Cognigy Voice Gateway WebSocket protocol and receive real-time STT transcripts from any supported model. - [Cognigy TTS](https://docs.slng.ai/api-reference/bridges/cognigy-tts-bridge/cognigy-tts-bridge-http.md): Synthesize speech via Cognigy Voice Gateway protocol bridge. - [Cognigy TTS](https://docs.slng.ai/api-reference/bridges/cognigy-tts-bridge/cognigy-tts-bridge-ws.md): Stream synthesized speech from SLNG over the Cognigy Voice Gateway WebSocket protocol using any supported text-to-speech model and voice. - [Jambonz STT](https://docs.slng.ai/api-reference/bridges/jambonz-stt-bridge/jambonz-stt-bridge-http.md): Transcribe audio via Jambonz custom STT protocol bridge. The model_variant path parameter specifies the target STT model (e.g., deepgram/nova:3, slng/openai/whisper:large-v3). - [Jambonz STT](https://docs.slng.ai/api-reference/bridges/jambonz-stt-bridge/jambonz-stt-bridge-ws.md): Reference for the Jambonz custom WebSocket STT bridge channel, including init, audio, stop messages and the model_variant routing parameter. - [Jambonz TTS](https://docs.slng.ai/api-reference/bridges/jambonz-tts-bridge/jambonz-tts-bridge-http.md): Synthesize speech via Jambonz custom TTS protocol bridge. The model_variant path parameter specifies the target TTS model (e.g., deepgram/aura:2). - [Jambonz TTS](https://docs.slng.ai/api-reference/bridges/jambonz-tts-bridge/jambonz-tts-bridge-ws.md): Reference for the Jambonz custom WebSocket TTS bridge channel, including stream, flush, stop messages, binary audio frames, and model_variant routing. - [Model Catalog](https://docs.slng.ai/models/index.md): Browse every TTS and STT model on SLNG in one place. Filter by type, language, or region to find models deployed near your users. - [Text-to-Speech Models](https://docs.slng.ai/models/tts.md): Browse every TTS model on SLNG: Cartesia, Deepgram Aura, ElevenLabs, KugelAudio, Murf, Rime Arcana, Sarvam, and Soniox voices. - [Speech-to-Text Models](https://docs.slng.ai/models/stt.md): Browse every STT model on SLNG: Deepgram Nova, Sarvam Saaras, Soniox Speech AI, and Reson8 transcription, grouped by provider. - [Models by Region](https://docs.slng.ai/models/by-region.md): See which SLNG TTS and STT models are deployed in each AWS region across North America, Europe, and Asia-Pacific for low-latency routing. - [Models by Language](https://docs.slng.ai/models/by-language.md): Browse SLNG TTS and STT models grouped by supported language: English, Spanish, French, German, Hindi, Japanese, Mandarin, and 30+ Indian languages. - [Cartesia Sonic 3](https://docs.slng.ai/voices/cartesia-sonic-3.md): Browse Cartesia Sonic 3 voices on SLNG with audio samples — low-latency multilingual TTS across 40+ languages including English, Spanish, French, and Hindi. - [Deepgram Aura](https://docs.slng.ai/voices/deepgram-aura.md): Browse Deepgram Aura 2 voices on SLNG with audio samples — natural conversational TTS across English, Spanish, Dutch, French, German, Italian, and Japanese. - [Fish Audio](https://docs.slng.ai/voices/fish-audio.md): Browse Fish Audio S2.1 Pro and S2 Pro voices on SLNG with audio samples — expressive multilingual TTS referenced by voice-model ID. - [Kugel](https://docs.slng.ai/voices/kugel.md): Browse KugelAudio Kugel voices on SLNG with audio samples — expressive multilingual TTS across 25+ languages including English, Hindi, and Chinese. - [Murf Falcon](https://docs.slng.ai/voices/murf.md): Browse Murf Falcon voices on SLNG — real-time multilingual TTS over WebSocket with English, Spanish, French, German, Italian, Hindi, and Chinese. - [Orpheus](https://docs.slng.ai/voices/orpheus.md): Browse Orpheus English voices on SLNG with audio samples, emotion-control tags, and recommended use cases for natural conversational speech synthesis. - [Rime Arcana voices](https://docs.slng.ai/voices/rime-arcana.md): Browse Rime Arcana v2 and v3 voices on SLNG with audio samples and characteristics — supports English, Spanish, French, German, Arabic, and Hindi. - [Sarvam Bulbul v3](https://docs.slng.ai/voices/sarvam-bulbul.md): Browse Sarvam Bulbul v3 voices on SLNG — multilingual TTS for 11 Indian languages including Hindi, Tamil, Telugu, Marathi, and Indian English. - [Soniox TTS v1](https://docs.slng.ai/voices/soniox.md): Browse Soniox TTS v1 voices on SLNG with audio samples — real-time low-latency text-to-speech with 60+ supported languages and streaming WebSocket synthesis. ## OpenAPI Specs - [agents.oas](/api-reference/agents/agents.oas.yaml) - [client-models.oas](/api-reference/agents/client-models.oas.yaml) - [mcp.oas](/api-reference/agents/mcp.oas.yaml) - [shared-resources.oas](/api-reference/agents/shared-resources.oas.yaml) - [tools.oas](/api-reference/agents/tools.oas.yaml) - [vault.oas](/api-reference/agents/vault.oas.yaml) - [batch.oas](/api-reference/batch/batch.oas.json) - [gateway.oas](/api-reference/gateway.oas.yaml) - [me.oas](/api-reference/me/me.oas.json) - [bridges-cognigy.oas](/api-reference/openapi/bridges-cognigy.oas.yaml) - [bridges-jambonz.oas](/api-reference/openapi/bridges-jambonz.oas.yaml) - [bridges-unmute.oas](/api-reference/openapi/bridges-unmute.oas.yaml) - [management-slng.oas](/api-reference/openapi/management-slng.oas.yaml) - [stt-deepgram.oas](/api-reference/openapi/stt-deepgram.oas.yaml) - [stt-fish.oas](/api-reference/openapi/stt-fish.oas.yaml) - [stt-sarvam.oas](/api-reference/openapi/stt-sarvam.oas.yaml) - [stt-slng.oas](/api-reference/openapi/stt-slng.oas.yaml) - [tts-deepgram.oas](/api-reference/openapi/tts-deepgram.oas.yaml) - [tts-elevenlabs.oas](/api-reference/openapi/tts-elevenlabs.oas.yaml) - [tts-fish.oas](/api-reference/openapi/tts-fish.oas.yaml) - [tts-gradium.oas](/api-reference/openapi/tts-gradium.oas.yaml) - [tts-pronunciation-dictionaries.oas](/api-reference/openapi/tts-pronunciation-dictionaries.oas.yaml) - [tts-sarvam.oas](/api-reference/openapi/tts-sarvam.oas.yaml) - [tts-slng.oas](/api-reference/openapi/tts-slng.oas.yaml) - [tts-soniox.oas](/api-reference/openapi/tts-soniox.oas.yaml) ## AsyncAPI Specs - [bridges-cognigy.asyncapi](/api-reference/asyncapi/bridges-cognigy.asyncapi.yaml) - [bridges-jambonz.asyncapi](/api-reference/asyncapi/bridges-jambonz.asyncapi.yaml) - [bridges-unmute.asyncapi](/api-reference/asyncapi/bridges-unmute.asyncapi.yaml) - [cognigy.asyncapi](/api-reference/asyncapi/cognigy.asyncapi.yaml) - [deepgram.asyncapi](/api-reference/asyncapi/deepgram.asyncapi.yaml) - [elevenlabs.asyncapi](/api-reference/asyncapi/elevenlabs.asyncapi.yaml) - [slng.asyncapi](/api-reference/asyncapi/slng.asyncapi.yaml) - [stt-deepgram.asyncapi](/api-reference/asyncapi/stt-deepgram.asyncapi.yaml) - [stt-gradium.asyncapi](/api-reference/asyncapi/stt-gradium.asyncapi.yaml) - [stt-reson8.asyncapi](/api-reference/asyncapi/stt-reson8.asyncapi.yaml) - [stt-sarvam.asyncapi](/api-reference/asyncapi/stt-sarvam.asyncapi.yaml) - [stt-slng.asyncapi](/api-reference/asyncapi/stt-slng.asyncapi.yaml) - [stt-soniox.asyncapi](/api-reference/asyncapi/stt-soniox.asyncapi.yaml) - [stt-speechmatics.asyncapi](/api-reference/asyncapi/stt-speechmatics.asyncapi.yaml) - [tts-cartesia.asyncapi](/api-reference/asyncapi/tts-cartesia.asyncapi.yaml) - [tts-deepgram.asyncapi](/api-reference/asyncapi/tts-deepgram.asyncapi.yaml) - [tts-elevenlabs.asyncapi](/api-reference/asyncapi/tts-elevenlabs.asyncapi.yaml) - [tts-fish.asyncapi](/api-reference/asyncapi/tts-fish.asyncapi.yaml) - [tts-gradium.asyncapi](/api-reference/asyncapi/tts-gradium.asyncapi.yaml) - [tts-kugelaudio.asyncapi](/api-reference/asyncapi/tts-kugelaudio.asyncapi.yaml) - [tts-murf.asyncapi](/api-reference/asyncapi/tts-murf.asyncapi.yaml) - [tts-sarvam.asyncapi](/api-reference/asyncapi/tts-sarvam.asyncapi.yaml) - [tts-slng.asyncapi](/api-reference/asyncapi/tts-slng.asyncapi.yaml) - [tts-soniox.asyncapi](/api-reference/asyncapi/tts-soniox.asyncapi.yaml)