Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getpatter.com/llms.txt

Use this file to discover all available pages before exploring further.

Telnyx TTS

TelnyxTTS is a streaming text-to-speech provider that talks to Telnyx’s wss://api.telnyx.com/v2/text-to-speech/speech endpoint. It exposes the same synthesize / synthesizeStream shape as Patter’s other TTS adapters (ElevenLabsTTS, CartesiaTTS).

Why use it

If you’re already on Telnyx for telephony (see Carrier — Telnyx), keeping TTS on the same vendor avoids fanning out to a third-party voice cloud:
  • One bill, one credential. No extra ElevenLabs / Cartesia / Rime account to manage.
  • On-network audio path. Synthesised audio comes back through Telnyx’s edge instead of egressing from a third-party TTS region.
  • Telnyx NaturalHD voices. Five high-quality voices are bundled (astra, luna, atlas, hera, zeus).
Telnyx returns audio as base64-encoded MP3 frames. TelnyxTTS.synthesize() returns raw MP3 bytes, so downstream code that expects PCM should pipe through an MP3 decoder (e.g. ffmpeg). For a fully PCM-native pipeline pair Telnyx with ElevenLabsTTS.forTelnyx() or CartesiaTTS instead.

Install

TelnyxTTS ships in the core getpatter package — no extras needed:
npm install getpatter

Quickstart

// npx tsx example.ts
import { Patter, Telnyx, DeepgramSTT } from "getpatter";
import { TelnyxTTS } from "getpatter/dist/providers/telnyx-tts";

const phone = new Patter({ carrier: new Telnyx(), phoneNumber: "+15550001234" });

const agent = phone.agent({
  stt: new DeepgramSTT(),                                // DEEPGRAM_API_KEY from env
  tts: new TelnyxTTS(process.env.TELNYX_API_KEY!, "Telnyx.NaturalHD.astra"),
  systemPrompt: "You are a helpful assistant.",
});

await phone.serve({ agent });

Constructor

new TelnyxTTS(
  apiKey: string,
  voice: string = "Telnyx.NaturalHD.astra",
  baseUrl: string = "wss://api.telnyx.com/v2/text-to-speech/speech",
)
ParameterDefaultDescription
apiKey— requiredTelnyx API v2 key (Bearer token).
voice"Telnyx.NaturalHD.astra"Telnyx voice ID. See supported voices.
baseUrlTelnyx prod URLOverride for testing.

Voices

Voice IDDescription
Telnyx.NaturalHD.astra (default)Neutral female.
Telnyx.NaturalHD.lunaSoft female.
Telnyx.NaturalHD.atlasAuthoritative male.
Telnyx.NaturalHD.heraWarm female.
Telnyx.NaturalHD.zeusDeep male.
Pass any other voice ID Telnyx publishes as a plain string.

API surface

TelnyxTTS exposes two methods, matching the rest of Patter’s TTS adapters:
// Buffer the full utterance
const audio: Buffer = await tts.synthesize("Hello from Telnyx!");

// Or stream MP3 chunks as they arrive
for await (const chunk of tts.synthesizeStream("Hello from Telnyx!")) {
  handle(chunk);              // raw MP3 bytes — decode before playback
}

Pricing

Telnyx TTS pricing is bundled with your Telnyx plan — see the Telnyx TTS pricing page. Patter does not charge a TTS line item for TelnyxTTS; the cost shows up on your Telnyx invoice alongside the carrier minutes. See Metrics for how to register a custom rate via the pricing option on new Patter({...}) if you want it surfaced in the dashboard.

See also