Soniox
Realtime multilingual speech-to-text with Soniox.
Overview
SonioxSTTService streams audio to Soniox's real-time WebSocket API, with endpoint detection, speaker diarization, language identification and context.
Installation
bun add @pipedog/sonioxPrerequisites
- A Soniox account and API key, passed as
apiKey(the examples readSONIOX_API_KEY).
SonioxSTTService
Configuration
Prop
Type
Settings
Runtime-updatable settings, passed as settings: new SonioxSTTService.Settings({...}). Settings you leave out keep their defaults.
| Setting | Default | Description |
|---|---|---|
model | "stt-rt-v5" | Soniox model. |
language | Language. | |
languageHints, languageHintsStrict | Bias language detection. | |
context | A SonioxContextObject. | |
enableSpeakerDiarization, enableLanguageIdentification | Diarization and language ID. | |
maxEndpointDelayMs, endpointSensitivity, endpointLatencyAdjustmentLevel | Endpointing. | |
clientReferenceId | Your own reference. |
Usage
import { Language } from "@pipedog/core/transcriptions/language";
import { SonioxSTTService } from "@pipedog/soniox/stt";
const stt = new SonioxSTTService({
apiKey: process.env.SONIOX_API_KEY ?? "",
settings: new SonioxSTTService.Settings({ languageHints: [Language.EN, Language.ES] }),
});Notes
- With
vadForceTurnEndpoint(default), a VAD stop sends a finalize message.
Runtimes
| Runtime | Works | What it needs |
|---|---|---|
| Bun | ✅ yes | Nothing. |
| Node.js | ✅ yes | Nothing. |
| Deno | ✅ yes | Nothing. |
| Cloudflare Workers | ✅ yes | Nothing. |
Generated from pipecat.runtimes and pipecat.compat in packages/soniox/package.json: ✅ means the compat smoke test passes on that runtime.
The service uses fetch and the global WebSocket (through core's websocketConnect, which sends the auth header on the handshake on Cloudflare Workers too). Pass no SDK; nothing is Node-only.
pipedog is an unofficial community TypeScript port of Pipecat. It is not affiliated with or endorsed by Daily or the Pipecat project.
Portions adapted from the Pipecat documentation, Copyright (c) 2024–2025 Daily, BSD-2-Clause (see apps/docs/LICENSE-pipecat-docs).