diff --git a/.env.example b/.env.example index d4b1e7a1..59ca1336 100644 --- a/.env.example +++ b/.env.example @@ -12,6 +12,8 @@ TWILIO_AUTH_TOKEN=your-twilio-auth-token TWILIO_PHONE_NUMBER=+1xxxxxxxxxx # Telnyx (alternative to Twilio — full GA support for DTMF, transfer, recording) +# The same TELNYX_API_KEY also powers TelnyxSTT and TelnyxTTS in pipeline mode +# (on-network speech — single bill, no extra provider keys needed). # TELNYX_API_KEY=KEY... # TELNYX_CONNECTION_ID=... # TELNYX_PHONE_NUMBER=+1xxxxxxxxxx diff --git a/CHANGELOG.md b/CHANGELOG.md index 778d36fc..dca29b30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,13 @@ - Docs: `xai-tts.mdx` Voices section links the catalog and helpers in both SDKs. +- **Telnyx STT/TTS parity in `patter init`** — the setup wizard now lists + `TelnyxSTT` and `TelnyxTTS` in the pipeline provider tables (both SDKs), + so picking Telnyx as the carrier no longer hides on-network speech as a + pipeline option. Both reuse `TELNYX_API_KEY` (the same key the carrier + already reads) and the existing `telnyx-ai` pip extra. README provider + table and `.env.example` updated to match. + - **Fish Audio voice provider suite** — TTS (S2.1-Pro / S2-Pro) and ASR land in both SDKs, wired end-to-end with real pricing. One `FISH_AUDIO_API_KEY` covers both directions of the call: diff --git a/README.md b/README.md index 3a82b73d..1c676ab0 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Patter is the **full voice stack** between your application and the phone networ | Layer | Choose from | |---|---| | **LLM** — text generation | OpenAI · Anthropic · Google Gemini · Groq · Cerebras | -| **STT** — speech-to-text | Deepgram · AssemblyAI · Cartesia · Soniox · Speechmatics · Whisper · Fish Audio | +| **STT** — speech-to-text | Deepgram · AssemblyAI · Cartesia · Soniox · Speechmatics · Whisper · Fish Audio · Telnyx | | **TTS** — text-to-speech | ElevenLabs · OpenAI · Cartesia · LMNT · Rime · Telnyx · Fish Audio | | **Realtime** — all-in-one voice | OpenAI Realtime · Gemini Live · Ultravox · ElevenLabs ConvAI | | **Telephony** — phone carriers | Twilio · Telnyx · Plivo | diff --git a/libraries/python/getpatter/init/cli.py b/libraries/python/getpatter/init/cli.py index 147f36a4..1911af46 100644 --- a/libraries/python/getpatter/init/cli.py +++ b/libraries/python/getpatter/init/cli.py @@ -141,6 +141,12 @@ "env": ("XAI_API_KEY",), "extra": "xai", }, + "telnyx": { + "class": "TelnyxSTT", + "label": "Telnyx (on-network — telnyx/google/deepgram/azure)", + "env": ("TELNYX_API_KEY",), + "extra": "telnyx-ai", + }, } DEFAULT_STT = "deepgram" @@ -229,6 +235,12 @@ "env": ("XAI_API_KEY",), "extra": "xai", }, + "telnyx": { + "class": "TelnyxTTS", + "label": "Telnyx (NaturalHD — on-network)", + "env": ("TELNYX_API_KEY",), + "extra": "telnyx-ai", + }, } DEFAULT_TTS = "elevenlabs" diff --git a/libraries/typescript/src/init/cli.ts b/libraries/typescript/src/init/cli.ts index 78057775..06082f1b 100644 --- a/libraries/typescript/src/init/cli.ts +++ b/libraries/typescript/src/init/cli.ts @@ -131,6 +131,12 @@ const PIPELINE_STT: Record = { env: ['XAI_API_KEY'], extra: 'xai', }, + telnyx: { + cls: 'TelnyxSTT', + label: 'Telnyx (on-network — telnyx/google/deepgram/azure)', + env: ['TELNYX_API_KEY'], + extra: 'telnyx-ai', + }, }; const DEFAULT_STT = 'deepgram'; @@ -219,6 +225,12 @@ const PIPELINE_TTS: Record = { env: ['XAI_API_KEY'], extra: 'xai', }, + telnyx: { + cls: 'TelnyxTTS', + label: 'Telnyx (NaturalHD — on-network)', + env: ['TELNYX_API_KEY'], + extra: 'telnyx-ai', + }, }; const DEFAULT_TTS = 'elevenlabs';