Hosts and authentication
Synthesize speech (HTTP)
POST /v1/rime-tts returns audio bytes in the format named by your Accept header (audio/mpeg, audio/wav, audio/webm;codecs=opus, audio/ogg;codecs=opus, audio/L16, audio/PCMU):
Stream speech (WebSocket /ws3)
Synthesis arguments go in the query string; auth goes in the connection header. Send {"text": ...} messages (buffered by sentence by default) and operations ({"operation": "flush" | "clear" | "eos"}); receive JSON events: chunk (base64 audio), timestamps (word-level), done, error.
modelId explicitly on /ws3. Without it, requests are served by the Mist v3 backend, and speakers outside the Mist v3 catalog fail with a “Speaker not found” error. Message schemas: Coda WebSocket reference · Buffering control: Segmentation · Web-app bridge pattern: Next.js voice-agent guide
List voices
Both voice endpoints are public; no API key required.Check vocabulary coverage (/oov)
Returns the input words that are not in Rime’s pronunciation dictionary:
Normalize text (/textnorm)
Preview exactly how numbers, dates, and phone numbers will be spoken. Note the host: optimize.rime.ai.
Common parameters
Where to go deeper
- API reference index: every endpoint across every model
- WebSocket API overview: endpoint comparison, timestamps, interruption handling
- Build a voice agent: complete apps in Next.js, Vite, Express, plain Node, and FastAPI
- Rime CLI and the hosted MCP server: tooling around this same API

