Blog · 2026-10-22
The ElevenLabs-compatible API: point your client at us
Drop-in compatible means your existing ElevenLabs integration works unchanged. Here’s what that actually buys you, and what it costs.
"Drop-in compatible" gets thrown around a lot. Here's what it means at SecretVoice, concretely: the public surface mirrors the ElevenLabs protocol: same xi-api-key auth header, same /v1/text-to-speech/{voice_id} shape, same model aliases accepted (eleven_multilingual_v2, eleven_flash_v2_5, eleven_turbo_v2_5 all map to secret-v1).
So the migration is a base-URL change:
# before: https://api.elevenlabs.io/v1/text-to-speech/velvet
# after: https://api.secretvoice.dev/v1/text-to-speech/velvet
Same header. Same payload. Same audio back.
What you get
- 29 voices, 21 languages: the same voice keeps its character in every language.
- Three delivery modes: synchronous files, HTTP streaming, and realtime WebSocket for live agents.
- Transparent pricing: 1 credit per character, published per-plan rates, no surprise seats.
- Zero-retention option: audio is never stored; transcripts are kept in history unless you pass
enable_logging=false, then nothing is retained.
If your project runs on ElevenLabs-compatible clients, and most voice-agent frameworks do, you can benchmark SecretVoice in an afternoon without touching your code. Swap the base URL, run the same prompts, and hear whether the voice fits your product.
The API reference is at secretvoice.dev/docs, the machine-readable spec at openapi.json, and agents can read the full surface at llms-full.txt.