Switch to Speechify from inside speech-sdk
Speechify is now a direct provider in speech-sdk. Switch existing calls over with a factory function and an API key, no new client required.
If your app already runs on speech-sdk, the open-source multi-provider TTS library from Jellypod, you can now reach Speechify without leaving it. PR #125 added Speechify as a first-class direct provider, so switching over is a factory call and an env var, not a new client or a rewritten error path.
speech-sdk isn’t ours, and that’s the point
speech-sdk is Jellypod’s project, not Speechify’s. We also ship our own official SDK (@speechify/api) for anyone who wants to talk to us directly, no abstraction layer involved, docs at docs.speechify.ai.
But most developers evaluating TTS providers aren’t starting from a blank editor. They’re already inside something, speech-sdk, an agent framework, an internal wrapper someone wrote two years ago and never documented. Contributing the Speechify provider directly to a library other people already depend on means teams who picked speech-sdk months ago can point existing calls at us today, without touching the abstraction they built their app around.
How the switch works
Install the SDK and set your key:
npm install @speech-sdk/core
export SPEECHIFY_API_KEY=your-key-here
Speechify is wired up as a direct provider, not through the gateway string-routing path, so you reach it through the createSpeechify() factory rather than a plain provider/model string:
import { generateSpeech } from '@speech-sdk/core';
import { createSpeechify } from '@speech-sdk/core/providers';
const speechify = createSpeechify(); // reads SPEECHIFY_API_KEY
const result = await generateSpeech({
model: speechify('simba-english'),
text: 'Hello from Speechify, through speech-sdk.',
voice: 'george',
});
result.audio.uint8Array; // Uint8Array
result.audio.mediaType; // "audio/mpeg"
Two models ship in this PR: simba-english (the default) and simba-multilingual. Output is fixed at 48kHz. Streaming works too, through streamSpeech(), though the stream route can’t emit wav so it defaults to mp3. generateSpeech() supports wav and mp3 natively.
If you don’t already have a key, grab one from platform.speechify.ai/api-keys, the SpeechifyAI Build console, the developer platform behind the API, not the consumer reading app.
What switching saves you
Speechify’s API starts from $6 per 1M characters on the Scale tier ($8 on Pro, $10 on Starter), per the pricing page. For comparison, ElevenLabs’ own pricing page lists $0.10 per 1K characters for Multilingual v2/v3, their standard model, and $0.05 per 1K for Flash/Turbo, their real-time model, that’s $100 and $50 per 1M respectively, flat across every ElevenLabs tier from pay-as-you-go through Business. That’s roughly five to sixteen times the cost depending on tier and model.
The models in this speech-sdk PR are simba-english and simba-multilingual, both Simba 1.6 variants. Our flagship model, Simba 3.2, is a separate generation that sits at #1 on the Artificial Analysis TTS leaderboard — an independent benchmark of the whole industry — and ranks as the #1 real-time voice on the blind-listening Voice Arena leaderboard, where the only model above us isn’t real-time. Simba 3.2 isn’t in speech-sdk yet. If you want it today, send model: "simba-3.2" through our official @speechify/api SDK.
Why now
Speechify contributed this provider so speech-sdk’s existing users, whoever they are, can point a call at us without adopting a second SDK. If speech-sdk is where your TTS calls already live, Speechify is one factory call away, and at these rates it’s worth the five minutes to test.
FAQ
Is speech-sdk built or owned by Speechify? No. speech-sdk is an open-source project maintained by Jellypod. Speechify contributed the provider integration in PR #125 so the SDK’s existing users can reach Speechify’s models without leaving the abstraction they’ve already built on.
Do I need a separate account for speech-sdk and Speechify?
No. speech-sdk is just the SDK layer. You authenticate directly against Speechify with your own SPEECHIFY_API_KEY. speech-sdk doesn’t proxy or meter your usage.
Can I mix Speechify with other providers in the same app?
Yes. Call speechify('simba-english') for one request and another provider’s factory or model string for another, in the same codebase, without maintaining two separate clients.
Does streaming work with Speechify through speech-sdk?
Yes, via streamSpeech(). The underlying Speechify stream endpoint can’t return wav, so streamed output defaults to mp3. generateSpeech() supports wav natively.
What’s the difference between the Speechify app and the Speechify API? The Speechify app most people know is the consumer reading tool. The API is SpeechifyAI Build, a separate developer platform at docs.speechify.ai, with its own console, keys, and pricing.