v0.3.0 — Strict output formats, telephony & clearer limits
output_formatis now strictly validated — unsupported values return400instead of silently falling back. Supported:containerraw/wav,encodingpcm_s16le/pcm_mulaw/pcm_alaw,sample_rate8000/16000/22050.- Telephony encodings added — 8 kHz μ-law (
pcm_mulaw) and A-law (pcm_alaw) for Twilio/SIP media streams. - Removed formats —
mp3,pcm_f32le, and sample rates24000/44100/48000are no longer accepted. - Streaming is
raw-only —wavis available on/tts/bytesonly;/tts/sseand/tts/websocketrequireraw. - Limits clarified as per-org — rate and concurrency limits are shared across all of an org’s API keys; extra keys don’t add capacity. Concurrency is measured per active-speech turn, not per call.
- Dutch voices are now tagged
nl-NL(BCP-47 dialect) instead of barenl.
v0.2.0 — Cartesia-compatible API
- Cartesia-compatible surface:
POST /tts/bytes,POST /tts/sse,GET /tts/websocket,/voicesCRUD,POST /voices/clone - Model:
gepard-1.0 - Real-time WebSocket streaming with per-transcript billing
- Voice cloning and the full Cartesia voice library
- API keys now use the
sk_996_<prefix>_<secret>format, scoped to a project - Prepaid credits: 1 credit per character, $5 per 1M characters, credits never expire
- Per-project tiers (rate + concurrency): tier1 / tier2 / tier3, with auto-upgrade to tier2 at $50 lifetime spend
v0.1.0 — Initial Release
- OpenAI-compatible TTS API (deprecated; replaced by the Cartesia-compatible surface above)