Skip to main content
Mist v1 (mist) and Mist v2 (mistv2) are legacy models, and our docs no longer cover them. Both retire on December 3, 2026. After that date, Mist v3 serves HTTP requests that name either model. Each request keeps its voice if Mist v3 has it, and otherwise gets a comparable Mist v3 voice. We recommend switching before December 3, so that you can choose the replacement voices yourself. The move covers HTTP requests, so WebSocket clients need a change before then, and Move WebSocket clients off /ws2 walks through it. Mist v3 is the closest match, and Coda offers Rime’s highest voice quality. If you’d like help with the move, we’re happy to help at support@rime.ai. Mist v3 serves the same four languages as Mist v2: English, French, German, and Spanish. Most requests need only a new modelId and a check of the voice. The sections below cover the features that work differently.

Change the model ID

Search your code, configuration files, and environment variables for both legacy identifiers:
Replace them with mistv3. Requests that omit modelId are already served by Mist v3.

Check your voice

About half of the Mist v2 voices are also on Mist v3. Look up each speaker you use in the Mist v3 catalog.
  • If the voice is listed, keep the name and listen to your production text. The two models were trained separately. Expect the audio to differ.
  • If it isn’t listed, choose a replacement in the same language from the catalog, or ask us at support@rime.ai for a close match. If you don’t choose one, Mist v3 uses a comparable voice from December 3.
A successful response doesn’t prove the voice is supported: a request can return audio for a pairing the catalog doesn’t list.

Ask for audio, not JSON

Mist v1 and Mist v2 can return a JSON envelope with base64 audio in audioContent. Mist v3 always streams audio bytes in the format you name in the Accept header. Set Accept to a type such as audio/wav or audio/mpeg, and write the response body to a file or a player. If Accept is missing, Mist v3 streams headerless 16-bit PCM, which most players won’t open. It’s best to make this change before December 3. See the Mist v3 HTTP reference for every format. Server-sent events (Accept: text/event-stream) are Mist v2 only. Before December 3, move them to HTTP streaming or the Mist v3 WebSocket.

Move WebSocket clients off /ws2

The move to Mist v3 on December 3 covers HTTP requests. To keep a WebSocket client that uses Mist v1 or Mist v2 working, switch it before that date.
/ws2 serves only the legacy models. Connect to Mist v3 at wss://mist.api.rime.ai/ws, and choose a Mist v3 voice in your start message. The messages differ from those of /ws2, and the Mist v3 WebSocket reference walks through them. If you turn on word timestamps, they arrive in the done event. The Rime SDK for Python, Node.js, Go, and Rust manages the connection for you: set the model to mistv3 and stream your text. To keep the /ws2 JSON messages, connect to wss://users-ws.rime.ai/ws3 with modelId=mistv3 instead. The one difference is the done event. /ws2 adds a done: true field and /ws3 doesn’t. Match on type === "done", which works on both. See the /ws3 reference.

Update speed settings

On Mist v2, speedAlpha below 1.0 is faster. On Mist v3, speedAlpha runs the other way. Use timeScaleFactor instead. Like Mist v2’s speedAlpha, it’s faster below 1.0. Move your value to timeScaleFactor, then listen to the result and adjust it. inlineSpeedAlpha keeps the Mist v2 direction on Mist v3. It works over HTTP only. See Speed.

Check pronunciation and normalization settings

  • phonemizeBetweenBrackets works on English Mist v3 only. French, German, and Spanish requests ignore it. See Custom pronunciation.
  • noTextNormalization has no effect on Mist v3, which always normalizes text. Remove it, and see Text normalization if you relied on it.