Wave Form API
One unified interface for all state-of-the-art text-to-speech providers. Experiment freely, switch providers effortlessly, and never get locked in. Unified markup, unified billing, unified syntax—all in one place.
📝 Unified Syntax
The same expressive markup works everywhere. Use [laugh] (excited) syntax with any provider—Wave Form handles the translation automatically. No need to learn provider-specific syntax.
🔀 Easy Provider Switching
With Wave Form, switching between Cartesia, ElevenLabs, Hume, Inworld, and Orpheus is as simple as changing a single parameter.
🧪 Experiment Freely
Want to compare voices across providers? Test different models? Find the perfect fit for your use case? Wave Form makes it easy to experiment with all state-of-the-art TTS providers through one consistent interface.
💳 Unified Billing
One credit system, one bill, one dashboard. No need to manage multiple accounts, API keys, or billing relationships. Use credits across all providers seamlessly.
🔌 Unified Interface
One API, one integration, infinite possibilities. Build once, use everywhere. Your code doesn't need to know which provider you're using—just send text and get audio.
"Hello! [laugh] (excited) That's amazing! [pause]"This text will be synthesized with a laugh, excited tone, and a pause - all using our unified markup syntax.
Wave Form supports multiple state-of-the-art TTS providers, each with different voice options and characteristics:
- Cartesia
- ElevenLabs
- Hume
- Inworld
- Orpheus
Each provider has different credit costs per request. Credit costs may vary and are subject to change. Check your dashboard for current pricing information.
New users start with 100 free credits. Get your API key from the developer dashboard.
Pricing coming soon: For users who need more than the basic free tier, we're working on flexible pricing plans. Stay tuned!
Want to try a different provider? Just change one parameter:
// Try Cartesia
POST https://wave-form-api.onrender.com/tts/synthesize
{
"text": "Hello! [laugh] (excited)",
"provider_id": "cartesia",
"voice_id": "voice-id"
}
// Switch to ElevenLabs - same code, just change provider_id
POST https://wave-form-api.onrender.com/tts/synthesize
{
"text": "Hello! [laugh] (excited)",
"provider_id": "elevenlabs",
"voice_id": "voice-id"
}
// Try Hume - still the same code!
POST https://wave-form-api.onrender.com/tts/synthesize
{
"text": "Hello! [laugh] (excited)",
"provider_id": "hume",
"voice_id": "voice-id"
}That's it! No code changes, no new integrations, no learning new APIs. The same markup, the same interface, the same billing—just different providers.
