Skip to main content
Generate a WAV file with one authenticated request to Rime’s text-to-speech API. Choose a language tab, copy the complete script, and run it from your terminal.

Prerequisites

You need:
  • A Rime API token: Create a free Rime account and copy your API key from the API Tokens page.
  • A language runtime, depending on which tab you follow:
    • cURL: a terminal with cURL installed (included with macOS and most Linux distributions).
    • Python: Python 3.10 or later.
    • JavaScript: Node.js 18 or later.
    • TypeScript: Node.js 18+ plus tsx (npm install -g tsx).
Code blocks in this guide are tabbed. Pick cURL, Python, JavaScript, or TypeScript in each block to follow your preferred language.
These examples call Rime’s HTTPS API with a standard library or built-in fetch. Rime does not publish an npm or PyPI SDK. Framework-specific starters are available for Next.js, Vite, Express, plain Node, and FastAPI.

Copy the request

Create a file called rime_hello_world.py, rime_hello_world.js, or rime_hello_world.ts (or run the cURL version directly in your terminal) and paste the full script:

Run it

The cURL tab runs the request directly. For Python, JavaScript, or TypeScript, run:
A successful request writes output.wav and prints:

Build the request step by step

Create a file called rime_hello_world.py, rime_hello_world.js, or rime_hello_world.ts and import the required library modules:
Set the request headers with your Rime API key and the expected audio format:
Set the text, speaker, and model in the request body:
This payload includes the three required parameters:
  • text is the content to synthesize.
  • speaker selects a voice from the voice catalog.
  • modelId selects the model. Use coda for the flagship voice lineup or mistv3 for the lowest time to first audio.
The Coda API reference lists the optional request parameters.Send the POST request and write the streamed audio response to a file:
These examples stream the response but write each chunk to disk. Interactive applications can play chunks as they arrive so speech begins before the complete response is generated. The LiveKit quickstart shows this pattern in a conversational agent.

Choose a voice

Change the speaker parameter to use another voice:
Browse all available voices on the Voices page.

Custom pronunciation

Custom pronunciation is supported on Mist v1 and Mist v2 only. Coda, Arcana, and Mist v3 do not support phonemizeBetweenBrackets.
The mistv2 model lets you specify the pronunciation of brand names or uncommon words using the Rime phonetic alphabet. Add the custom pronunciation in curly brackets and set phonemizeBetweenBrackets to true:
See the Rime phonetic alphabet for the full symbol reference, and Pronunciation control for an overview of all the ways to control pronunciation.

Production choices

The LiveKit quickstart extends the same streaming API into a real-time voice agent. These references cover the main model, voice, latency, and transport decisions:

Models

Compare Coda (flagship) and Mist v3 (fast)

Voices

Browse all available voice options

Latency

Optimize for real-time performance

Coda Streaming API

Stream audio with our flagship model