The voice layer for autonomous systems. Text to speech for voice agents, built as an API: phone lines, IVR, dispatch, support bots, anything where a bot talks to a person.
- Streaming audio as it is generated. Playback starts before the whole clip has rendered.
- 23 languages, one engine, six voices. A cloned voice keeps the same speaker across all of them.
- Reads the hard parts right. Numbers, dates, addresses and order IDs come out correct, not approximated.
- Every render watermarked, detector 1.0000, covering EU AI Act Article 50 for generated audio.
- First audio byte in 146 ms over the open internet, 116 ms p50 first audio, server side warm.
| Repo | What it is |
|---|---|
| gandr | Official Python client (pip install gandr) |
| gandr-js | Official JavaScript client (npm install gandr) |
| gandr-mcp | Text to speech inside any MCP client (Claude Desktop, Cursor) |
| gandr-pipecat | Pipecat integration (community) |
| gandr-livekit | LiveKit Agents plugin + a ready voice-agent template |
| gandr-haystack | Haystack component |
| gandr-langchain | LangChain tool (pip install gandr-langchain) |
| gandr-ai-sdk | Vercel AI SDK speech provider (npm install gandr-ai-sdk) |
| gandr-crewai | CrewAI tool (pip install gandr-crewai) |
| dify-plugin | Dify model plugin (Dify Marketplace) |
| mastra-voice-gandr | Mastra voice (npm install mastra-voice-gandr) |
| n8n-nodes-gandr | n8n community node, speech inside any workflow |
| examples | LiveKit agents, Pipecat bots, batch IVR, WebSocket streaming |
| community-integrations | Third-party integration guides, submissions welcome |
Free key at gandr.ai: 50,000 tokens, no end date. Docs at gandr.ai/docs. An OpenAI-compatible endpoint at https://tts.gandr.ai/v1.