Soniox API reference
Soniox API reference for Speech-to-Text and Text-to-Speech.
Base URLs
API base URLs depend on two factors: the specific service you are calling (Speech-to-Text, Text-to-Speech, Authentication) and your project's region.
For a complete list of regional domains (e.g., US, EU, Japan) and their corresponding REST and WebSocket endpoints, please refer to our Data residency guide.
REST API
OpenAPI schema: https://soniox.com/docs/openapi.yaml
Authentication
Create and manage API keys for authentication.
- Create temporary API key: Create short-lived API keys.
Speech-to-Text
REST API for Speech-to-Text is available at https://api.soniox.com/v1 and includes:
- Files: Manage audio files by uploading, listing, retrieving, and deleting them.
- Transcriptions: Create and manage transcriptions for audio files.
- STT models: List available STT models.
See Get started for an introduction.
Text-to-Speech
REST API for Text-to-Speech is available at https://tts-rt.soniox.com/tts.
- Generate TTS: Synthesize speech from text.
- TTS models: List available TTS models.
See Get started for an introduction.
Errors
REST API responses and async transcription failures carry a stable
error_type you can branch on in code. The WebSocket APIs currently return
only an HTTP status code (error_code) and a human-readable
error_message. See the Errors reference for the
full list of error types, their causes, and how to resolve them.
WebSocket API
Realtime Speech-to-Text
Use WebSocket API to transcribe and translate live audio streams in real-time.
- Endpoint:
wss://stt-rt.soniox.com - Reference: WebSocket API
Realtime Text-to-Speech
Use WebSocket API for low-latency, streaming speech synthesis.
- Endpoint:
wss://tts-rt.soniox.com/tts-websocket - Reference: WebSocket API
React Native
Build speech-to-text workflows in React Native with real-time API.
Create temporary API key POST
Creates a short-lived API key for specific temporary use cases. The key will automatically expire after the specified duration. Use `single_use` and `max_session_duration_seconds` to limit how the key can be used by a client. See the [Temporary API keys guide](https://soniox.com/docs/guides/temporary-api-keys) for details.