# Soniox Documentation > Soniox provides speech AI APIs for Speech-to-Text, Text-to-Speech, Speech Translation, SDKs, integrations, and production deployment guidance. ## Instructions for AI Agents - For clean Markdown of any docs page, append `.mdx` to the page URL. The Docs links below already point to MDX pages. - For full documentation content in one file, use https://soniox.com/docs/llms-full.txt. - For AI client integration, connect to the Soniox docs MCP server at https://soniox.com/docs/api/mcp/mcp. - Use the API Reference tree for endpoint discovery; generated endpoint pages are listed there instead of summarized in the main Docs section. - Prefer the most specific guide, SDK, or API reference page for implementation details. ## Docs - [Overview](https://soniox.com/docs/index.mdx): Use this overview to understand Soniox products, core API capabilities, and where to start with speech-to-text, text-to-speech, translation, and voice AI. - Speech-to-Text - [Get started](https://soniox.com/docs/stt/get-started.mdx): Use this page when someone wants to set up Soniox Speech-to-Text and run their first transcription examples. - Real-time API - [Real-time transcription](https://soniox.com/docs/stt/rt/real-time-transcription.mdx): Use this page to stream live audio to the real-time Speech-to-Text WebSocket API and process provisional and final tokens. - [Endpoint detection](https://soniox.com/docs/stt/rt/endpoint-detection.mdx): Use this page to enable real-time endpoint detection, handle final tokens and the token, and tune endpoint behavior with endpoint_latency_adjustment_level, endpoint_sensitivity, and max_endpoint_delay_ms. - [Manual finalization](https://soniox.com/docs/stt/rt/manual-finalization.mdx): Use this page to manually finalize real-time Speech-to-Text audio with a finalize control message and handle the token. - [Connection keepalive](https://soniox.com/docs/stt/rt/connection-keepalive.mdx): Use this page to keep a real-time Speech-to-Text WebSocket session open during pauses by sending keepalive control messages. - [Limits & quotas](https://soniox.com/docs/stt/rt/limits-and-quotas.mdx): Use this page to check real-time Speech-to-Text WebSocket rate, concurrency, and stream duration limits. - [Error handling](https://soniox.com/docs/stt/rt/error-handling.mdx): Use this page to handle real-time Speech-to-Text WebSocket error responses, early session termination, and streaming cadence issues. - Async API - [Async transcription](https://soniox.com/docs/stt/async/async-transcription.mdx): Use this page to transcribe recorded audio files asynchronously from a public URL or uploaded file and retrieve results later. - [Webhooks](https://soniox.com/docs/stt/async/webhooks.mdx): Use this page to configure Async Speech-to-Text webhooks, authenticate callback requests, and handle webhook retries. - [Limits & quotas](https://soniox.com/docs/stt/async/limits-and-quotas.mdx): Use this page to check Async Speech-to-Text file storage, file duration, pending job, and total transcription quotas. - [Error handling](https://soniox.com/docs/stt/async/error-handling.mdx): Use this page to diagnose and recover from Async Speech-to-Text upload, transcription request, and webhook delivery errors. - Shared concepts - [Supported languages](https://soniox.com/docs/stt/concepts/supported-languages.mdx): Use this page to find the languages and ISO codes supported by Soniox Speech-to-Text transcription and translation. - [Language hints](https://soniox.com/docs/stt/concepts/language-hints.mdx): Use this page to bias Speech-to-Text recognition toward expected spoken languages with the language_hints parameter. - [Language restrictions](https://soniox.com/docs/stt/concepts/language-restrictions.mdx): Use this page to restrict Speech-to-Text output to expected languages with language_hints_strict and avoid unwanted language transcription. - [Language identification](https://soniox.com/docs/stt/concepts/language-identification.mdx): Use this page to enable automatic spoken language identification and read per-token language labels in Speech-to-Text output. - [Speaker diarization](https://soniox.com/docs/stt/concepts/speaker-diarization.mdx): Use this page to enable speaker diarization and interpret speaker labels in Speech-to-Text transcripts. - [Context](https://soniox.com/docs/stt/concepts/context.mdx): Use this page to improve Speech-to-Text transcription and translation accuracy with structured context, custom vocabulary, and translation terms. - [Timestamps](https://soniox.com/docs/stt/concepts/timestamps.mdx): Use this page to understand per-token Speech-to-Text timestamps and align transcript tokens with audio timing. - [Confidence scores](https://soniox.com/docs/stt/concepts/confidence-scores.mdx): Use this page to understand per-token confidence scores in Speech-to-Text responses and how to use them for quality checks. - [Models](https://soniox.com/docs/stt/models.mdx): Use this page to choose current Speech-to-Text model names and review STT model aliases, changelog entries, and deprecation timelines. - Text-to-Speech - [Get started](https://soniox.com/docs/tts/get-started.mdx): Start here to run your first Soniox Text-to-Speech request using the REST or real-time WebSocket API. - Real-time API - [Real-time generation](https://soniox.com/docs/tts/rt/real-time-generation.mdx): Use this page to stream text into the Soniox real-time Text-to-Speech WebSocket API and receive audio chunks as they are generated. - [Streams](https://soniox.com/docs/tts/rt/streams.mdx): Use this page to run and route multiple concurrent Soniox Text-to-Speech streams on one WebSocket connection. - [Stream termination](https://soniox.com/docs/tts/rt/termination.mdx): Use this page to correctly finish, cancel, and clean up Soniox real-time Text-to-Speech streams. - [Connection keepalive](https://soniox.com/docs/tts/rt/connection-keepalive.mdx): Use this page to keep a Soniox real-time Text-to-Speech WebSocket open during idle periods. - [Timestamps](https://soniox.com/docs/tts/rt/timestamps.mdx): Use this page to request character-level timestamps from the Soniox real-time Text-to-Speech WebSocket API and align spoken audio with the text that produced it. - [Limits & quotas](https://soniox.com/docs/tts/rt/limits-and-quotas.mdx): Use this page to check Soniox real-time Text-to-Speech WebSocket limits for connections, streams, rate limits, and duration. - REST API - [Generate speech](https://soniox.com/docs/tts/rest-api/generate-speech.mdx): Use this page to generate speech with the Soniox Text-to-Speech REST API using a single HTTP request. - [Limits & quotas](https://soniox.com/docs/tts/rest-api/limits-and-quotas.mdx): Use this page to check Soniox Text-to-Speech REST API rate limits, concurrent request limits, and audio duration caps. - Shared concepts - [Voices](https://soniox.com/docs/tts/concepts/voices.mdx): Use this page to choose a Soniox Text-to-Speech voice and learn which voices work across supported languages. - [Voice cloning](https://soniox.com/docs/tts/concepts/voice-cloning.mdx): Use this page to clone a custom Text-to-Speech voice from a short audio sample in the Soniox Console, wait for it to be ready, and use it in TTS requests by its voice ID. - [Supported languages](https://soniox.com/docs/tts/concepts/supported-languages.mdx): Use this page to find Soniox Text-to-Speech supported languages, ISO language codes, and script limitations. - [Language mixing](https://soniox.com/docs/tts/concepts/language-mixing.mdx): Use this page to understand how Soniox Text-to-Speech handles multilingual input and why each request uses one language. - [Audio formats](https://soniox.com/docs/tts/concepts/audio-formats.mdx): Use this page to choose Soniox Text-to-Speech output audio formats, sample rates, and bitrates. - [Speech speed](https://soniox.com/docs/tts/concepts/speech-speed.mdx): Use this page to control the speaking rate of Soniox Text-to-Speech with the speed parameter. - [Reduce silence](https://soniox.com/docs/tts/concepts/reduce-silence.mdx): Use this page to shorten the pauses between words in Soniox Text-to-Speech output with the reduce_silence parameter. - [Models](https://soniox.com/docs/tts/models.mdx): Use this page to find current Soniox Text-to-Speech models, aliases, release notes, and deprecation guidance. - Speech Translation - [Get started](https://soniox.com/docs/translation/get-started.mdx): Use this page for the entry point to Soniox speech translation, including speech-to-text vs speech-to-speech output, one-way vs two-way modes, language coverage, and runnable examples. - [Speech-to-text translation](https://soniox.com/docs/translation/stt-translation.mdx): Reference for Soniox speech-to-text translation, including one-way vs two-way modes, the unified token format with translation_status / source_language, and how to choose between real-time and async delivery. - [Real-time speech-to-text translation](https://soniox.com/docs/translation/stt-translation/rt-translation.mdx): Use this page for the real-time delivery mode of Soniox speech-to-text translation, including WebSocket streaming, mid-sentence translation behavior, quickstart, and runnable examples. - [Async speech-to-text translation](https://soniox.com/docs/translation/stt-translation/async-translation.mdx): Use this page to translate recorded audio files asynchronously using one-way or two-way speech-to-text translation examples. - [Real-time speech-to-speech translation](https://soniox.com/docs/translation/sts-translation.mdx): Use this page to combine Soniox real-time Speech-to-Text with translation and real-time Text-to-Speech into a complete real-time speech-to-speech translation pipeline. - [Supported languages](https://soniox.com/docs/translation/supported-languages.mdx): Use this page to find the Soniox speech translation language list and where to check current model coverage. - Other - [SDKs](https://soniox.com/docs/sdk.mdx): Use this page to choose the right official Soniox SDK for STT and TTS across server, browser, React, and mobile runtimes. - [Python](https://soniox.com/docs/sdk/python-SDK.mdx): Use this page to install and start using the Soniox Python SDK across real-time STT, async STT, REST TTS, and real-time TTS. - Speech-to-Text - [Real-time transcription](https://soniox.com/docs/sdk/python-SDK/stt/realtime-transcription.mdx): Use this page for Python SDK real-time Speech-to-Text sessions, including WebSocket connection setup, receiving events, endpoint detection, manual finalization, keepalive, and streaming patterns. - [Async transcription](https://soniox.com/docs/sdk/python-SDK/stt/async-transcription.mdx): Use this page for Python SDK async Speech-to-Text jobs, including creating transcriptions, polling status, fetching transcripts, listing, and deleting results. - [Webhooks](https://soniox.com/docs/sdk/python-SDK/stt/webhooks.mdx): Use this page to configure, receive, and verify async transcription webhooks with the Soniox Python SDK. - [Files](https://soniox.com/docs/sdk/python-SDK/stt/files.mdx): Use this page for uploading, retrieving, listing, and deleting audio files with the Soniox Python SDK Files API. - Text-to-Speech - [Real-time speech generation](https://soniox.com/docs/sdk/python-SDK/tts/realtime-speech-generation.mdx): Use this page for Python SDK real-time Text-to-Speech over WebSocket, including sync and async sessions, incremental text, audio events, multi-stream connections, and errors. - [REST speech generation](https://soniox.com/docs/sdk/python-SDK/tts/rest-speech-generation.mdx): Use this page for generating Text-to-Speech audio through the Python SDK REST TTS helpers, including bytes, files, typed config, and API errors. - Full SDK Reference - [Sync vs async clients](https://soniox.com/docs/sdk/python-SDK/sync-vs-async-clients.mdx): Use this page to choose between the synchronous SonioxClient and asyncio-based AsyncSonioxClient in the Python SDK. - [Node.js](https://soniox.com/docs/sdk/node-SDK.mdx): Use this page to install and configure the Soniox Node SDK, set API keys and endpoints, and start basic STT and TTS workflows. - Speech-to-Text - [Real-time transcription](https://soniox.com/docs/sdk/node-SDK/stt/realtime-transcription.mdx): Use this page to create and manage Node SDK real-time STT sessions, including audio streaming, events, endpoint detection, keepalive, and voice-agent utterance buffering. - [Async transcription](https://soniox.com/docs/sdk/node-SDK/stt/async-transcription.mdx): Use this page to create, wait for, fetch, list, and delete async speech-to-text transcription jobs with the Node SDK. - [Async translation](https://soniox.com/docs/sdk/node-SDK/stt/async-translation.mdx): Use this page to translate audio asynchronously with the Node SDK using one-way or two-way translation jobs and webhook-based completion. - [Files](https://soniox.com/docs/sdk/node-SDK/stt/files.mdx): Use this page to upload, list, retrieve, count, and delete audio files for async STT workflows with the Node SDK. - [Webhooks](https://soniox.com/docs/sdk/node-SDK/stt/webhooks.mdx): Use this page to configure, authenticate, parse, and test Soniox async STT webhooks with Node SDK framework helpers. - Text-to-Speech - [Real-time speech generation](https://soniox.com/docs/sdk/node-SDK/tts/realtime-speech-generation.mdx): Use this page to stream low-latency text-to-speech with the Node SDK over WebSocket, including incremental text, multi-stream connections, events, and defaults. - [REST speech generation](https://soniox.com/docs/sdk/node-SDK/tts/rest-speech-generation.mdx): Use this page to generate TTS audio over HTTP with the Node SDK, including writing files, receiving bytes or streams, selecting options, cancellation, and errors. - [Full SDK reference](https://soniox.com/docs/sdk/node-SDK/reference.mdx): Full SDK reference for the Node SDK - [Web](https://soniox.com/docs/sdk/web-SDK.mdx): Use this page to get started with the Soniox Web SDK for browser STT and TTS using @soniox/client. - Speech-to-Text - [Real-time transcription](https://soniox.com/docs/sdk/web-SDK/stt/realtime-transcription.mdx): Use this page to build browser real-time STT sessions with client.realtime.record and Recording lifecycle controls. - Text-to-Speech - [Real-time speech generation](https://soniox.com/docs/sdk/web-SDK/tts/realtime-speech-generation.mdx): Use this page to stream browser text-to-speech over WebSocket with the Web SDK real-time TTS APIs. - [REST speech generation](https://soniox.com/docs/sdk/web-SDK/tts/rest-speech-generation.mdx): Use this page to generate browser TTS audio over HTTP with Web SDK REST methods. - [Full SDK reference](https://soniox.com/docs/sdk/web-SDK/reference.mdx): Full SDK reference for the Web SDK - [React](https://soniox.com/docs/sdk/react-SDK.mdx): Use this page to get started with the Soniox React SDK for browser STT and TTS workflows using React hooks. - Speech-to-Text - [Real-time transcription](https://soniox.com/docs/sdk/react-SDK/stt/realtime-transcription.mdx): Use this page to build and control live speech-to-text and translation sessions in React with useRecording. - Text-to-Speech - [Real-time speech generation](https://soniox.com/docs/sdk/react-SDK/tts/realtime-speech-generation.mdx): Use this page to stream or request text-to-speech audio from React components with the useTts hook. - [Full SDK reference](https://soniox.com/docs/sdk/react-SDK/reference.mdx): Full SDK reference for the React SDK - [React Native](https://soniox.com/docs/sdk/react-native-SDK.mdx): Use this page to build React Native or Expo real-time speech-to-text apps with Soniox React hooks and a custom audio source. - Demo Apps - [Soniox Live](https://soniox.com/docs/demo-apps/soniox-live.mdx): Use this page to find the Soniox Live demo app for real-time browser and mobile transcription or translation with temporary API keys. - [Soniox Voice Agent](https://soniox.com/docs/demo-apps/soniox-voice-agent.mdx): Use this page to find the Soniox Voice Agent demo for building a real-time conversational AI assistant with STT, an LLM, TTS, and optional Twilio calls. - [Soniox Speech-to-speech Translation](https://soniox.com/docs/demo-apps/soniox-speech-to-speech-translation.mdx): Use this page to find the speech-to-speech translation demo that combines Soniox real-time STT, translation, and real-time TTS without an SDK. - [Guides](https://soniox.com/docs/guides.mdx): Use this page to find Soniox guides for streaming architectures, browser credentials, usage tracking, and real-time concurrency limits. - [Direct stream](https://soniox.com/docs/guides/direct-stream.mdx): Use this guide to build a browser direct-stream architecture where clients connect to Soniox WebSocket APIs with temporary API keys for lowest latency. - [Proxy stream](https://soniox.com/docs/guides/proxy-stream.mdx): Use this guide to proxy browser or client audio through your server before forwarding it to the Soniox WebSocket API. - [Temporary API keys](https://soniox.com/docs/guides/temporary-api-keys.mdx): Use this guide to create and restrict short-lived Soniox temporary API keys for untrusted clients and direct streaming. - [Usage logs](https://soniox.com/docs/guides/usage-logs.mdx): Use this guide to inspect Soniox per-request usage logs for cost, duration, tokens, request IDs, and client_reference_id tracking. - [Usage summary](https://soniox.com/docs/guides/usage-summary.mdx): Use this guide to retrieve Soniox daily cost and activity aggregates per model for a project. - [Concurrency limits](https://soniox.com/docs/guides/concurrency-limits.mdx): Use this guide to understand Soniox real-time concurrency limits, active request counts, limit scopes, historical per-period concurrency, and 429 cap responses. - [Integrations](https://soniox.com/docs/integrations.mdx): Use this page to find Soniox integrations for real-time speech, voice agents, automation, AI SDKs, telephony, and LangChain workflows. - [Pipecat](https://soniox.com/docs/integrations/pipecat.mdx): Use this page to start integrating Soniox STT and TTS into Pipecat pipelines and choose between the STT, TTS, voice-agent, and migration guides. - [Speech-to-Text](https://soniox.com/docs/integrations/pipecat/stt.mdx): Use this page to configure SonioxSTTService in Pipecat pipelines, including settings, language hints, context, diarization, VAD finalization, endpoint detection, and regional endpoints. - [Text-to-Speech](https://soniox.com/docs/integrations/pipecat/tts.mdx): Use this page to configure SonioxTTSService in Pipecat pipelines, including voices, cloned voices, languages, speech speed, sample rate, word timestamps, regional endpoints, and text aggregation modes. - [Build a voice agent](https://soniox.com/docs/integrations/pipecat/voice-agent.mdx): Use this page to build a Pipecat voice agent with Soniox STT and TTS, including pipeline setup, conversation history, tool calling, and Pipecat Flows. - [Migrate to Soniox](https://soniox.com/docs/integrations/pipecat/migrate.mdx): Use this page to migrate a Pipecat bot from Deepgram, ElevenLabs, AssemblyAI, Cartesia, or OpenAI STT/TTS to Soniox with settings mappings and code examples. - [LiveKit](https://soniox.com/docs/integrations/livekit.mdx): Use this page to start integrating Soniox STT and TTS with LiveKit Agents and choose between the STT, TTS, voice-agent, and migration guides. - [Speech-to-Text](https://soniox.com/docs/integrations/livekit/stt.mdx): Use this page to configure soniox.STT in LiveKit Agents, including STTOptions, language hints, context, diarization, endpoint detection, and regional WebSocket endpoints. - [Text-to-Speech](https://soniox.com/docs/integrations/livekit/tts.mdx): Use this page to configure soniox.TTS in LiveKit Agents, including model, voice, language, audio format, sample rate, regional endpoints, and runtime updates. - [Build a voice agent](https://soniox.com/docs/integrations/livekit/voice-agent.mdx): Use this page to build a LiveKit voice agent with Soniox STT and TTS, including setup, turn-taking, domain context, tool calling, and multi-agent workflows. - [Migrate to Soniox](https://soniox.com/docs/integrations/livekit/migrate.mdx): Use this page to migrate a LiveKit Agent from Deepgram, ElevenLabs, AssemblyAI, Cartesia, or OpenAI STT/TTS to Soniox with option mappings and code diffs. - LangChain - [Vercel AI SDK](https://soniox.com/docs/integrations/vercel-ai-sdk.mdx): Use this page to configure the Soniox provider for Vercel AI SDK transcription, including installation, authentication, provider options, and per-request STT settings. - [TanStack AI SDK](https://soniox.com/docs/integrations/tanstack-ai-sdk.mdx): Use this page to add Soniox transcription to the TanStack AI SDK with the Soniox adapter, authentication, model options, webhooks, and raw token metadata. - [Twilio](https://soniox.com/docs/integrations/twilio.mdx): Use this page to stream live Twilio call audio to Soniox real-time STT over WebSockets and run the example server, client, and TwiML setup. - [n8n](https://soniox.com/docs/integrations/n8n.mdx): Use this page to configure the Soniox n8n node for async transcription workflows, credentials, audio sources, webhooks, options, and cleanup. - [Community integrations](https://soniox.com/docs/integrations/community-integrations.mdx): Use this page to find unofficial community-built Soniox integrations, SDKs, and tools such as AVR, the Go STT SDK, and the SonioxPP C++ library. - [AI engineering](https://soniox.com/docs/ai-engineering.mdx): Use this page to connect Soniox docs to AI coding tools through MCP, the docs AI assistant, and LLM context files. - [Data residency](https://soniox.com/docs/data-residency.mdx): Use this page to understand Soniox data residency, regional project setup, region-specific API domains, and what data stays in the selected region. - [Security and privacy](https://soniox.com/docs/security-and-privacy.mdx): Use this page to review Soniox security, privacy, compliance certifications, data handling, logging, encryption, and access control policies. - [Community and support](https://soniox.com/docs/community-and-support.mdx): Use this page to find Soniox support options, community channels, GitHub resources, and where to contact support for production deployments. - [FAQ](https://soniox.com/docs/faq.mdx): Use this FAQ for common Soniox API troubleshooting and account questions, including WebSocket connection latency, concurrency limits, and compliance documents. - Soniox GitHub - Soniox Discord - API Status ## API Reference - [API Reference](https://soniox.com/docs/api-reference.mdx) - Auth - Speech-to-Text - Transcriptions - Files - [WebSocket API](https://soniox.com/docs/api-reference/stt/websocket-api.mdx) - [Get models](https://soniox.com/docs/api-reference/stt/get_models.mdx) - Text-to-Speech - Voices - [Create voice](https://soniox.com/docs/api-reference/tts/voices/create_voice.mdx) - [Get voices](https://soniox.com/docs/api-reference/tts/voices/get_voices.mdx) - [Get voices count](https://soniox.com/docs/api-reference/tts/voices/get_voices_count.mdx) - [Get voice](https://soniox.com/docs/api-reference/tts/voices/get_voice.mdx) - [Recompute voice](https://soniox.com/docs/api-reference/tts/voices/recompute_voice.mdx) - [Delete voice](https://soniox.com/docs/api-reference/tts/voices/delete_voice.mdx) - [Generate speech](https://soniox.com/docs/api-reference/tts/generate_tts.mdx) - [WebSocket API](https://soniox.com/docs/api-reference/tts/websocket-api.mdx) - [Get TTS models](https://soniox.com/docs/api-reference/tts/get_tts_models.mdx) - Examples - Other - [Errors](https://soniox.com/docs/api-reference/errors.mdx)