Skip to main content
Cloud Arcana requests switch to Coda on August 15, 2026 at 12:00 UTC. Before then, update cloud traffic that sets modelId to arcana, arcanav2, or arcanav3.
Check your voices before you plan anything else. Coda serves 56 of Arcana’s 64 featured voices, or 87%. If your voice is not on Coda, choose a replacement and compare it on your own text before switching. Start with step 2. Rime’s write-up on how the Coda voices were chosen explains how the lineup was curated.
Plan your cutover against 12:00 UTC rather than against a local calendar date. If you operate outside the Americas, the switch lands in the middle of your working day on August 15, not at the end of it. Moving earlier gives you room to test on your own schedule. See the sunset notice for the summary.
This guide covers cloud API traffic. Existing Arcana on-prem images remain available and are not part of this cutover.

The request does not change

Coda and Arcana share the same endpoints, parameters, and transports. Nothing about the shape of your request needs to change: speedAlpha also behaves the same on both: above 1.0 is faster. Only Mist v2 inverts it, so that caveat does not apply here. See Speed. So the only edit to your request body is the value of modelId, and possibly speaker and lang. Three things change, and all three are about the voice.

What changes

Most featured Arcana speakers are also served by Coda. Check every speaker you use in the Coda catalog rather than assuming that a shared model API means a shared voice lineup. Whichever voice you land on determines lang. Every Coda voice serves exactly one language and none crosses between them, so Coda covers eight languages but a Coda voice does not. Picking a language narrows which voices you can use; see the language note on Voices. Even where a name survives, the audio differs. Coda and Arcana are trained separately, so a shared name is a starting point rather than a guarantee, and you should compare before you switch.

Step 1: find everywhere you set a model

Three identifiers resolve to Arcana and all three are affected: arcana, arcanav2, and arcanav3. Search your code, configuration files, environment variables, and per-environment deploys for all three. Requests that omit modelId resolve to Mist v3 and are unaffected. This is a common false alarm, so confirm which of your call sites actually set the parameter before treating them as work.
No response header names the model that served a request, and the API returns no request or correlation ID. You cannot confirm from a response that a call stopped using Arcana. Coverage is established by inventory and configuration review across every environment, language, and transport you use, not by inspecting a reply. Record which environments you checked, because that record is the only evidence you will have.

Step 2: check every voice you use

Search the Coda catalog for each Arcana speaker you use. Two outcomes: The name is there. Keep it and go to step 4. The name survives; the sound still changes. The name is not there. Expect this for voices outside Arcana’s featured set, since Coda’s catalog was chosen for the styles customers ask for most rather than assembled by porting everything. Choose a replacement from the same language section, matching on the attributes the catalog publishes for every voice: gender, age, and country. Then compare candidates on your own text. Rime’s write-up on how the Coda voices were chosen explains the four style categories the lineup is organized around. The catalog’s dialect, demographic, genre, and styles fields are populated for roughly a third to a half of Coda voices, so they cannot be relied on to narrow a search. To hear candidates rather than read about them, use the Rime dashboard or ask an assistant connected to the hosted MCP server to synthesize a line with each.

Step 3: check your language has a destination

For cloud migrations, Coda serves the following Arcana languages: Hindi uses different voice names on Coda. Arcana serves anaya, anil, and arya, while Coda serves nadi and taru.

Step 4: hear the difference before you switch

Synthesize the same sentence with both voices and listen before you commit. Set RIME_API_KEY in your shell; your key stays on the machine running these commands and is never placed in a URL.
Play both and compare. Use text from your own product rather than a generic sentence: the differences that matter usually show up on your domain vocabulary, your numbers, and your longest utterances, not on a greeting. Both requests must name a supported combination of speaker, modelId, and lang. An unsupported combination does not reliably return an error, so a file that plays does not by itself prove the pairing was valid. Check the voice against the Coda catalog first.

Step 5: stage the cutover

Move a slice of traffic rather than all of it. Put the modelId value behind a flag or an environment variable so it can be changed and reverted without a deploy, then raise the share of Coda traffic while watching whatever quality signal you already collect: call completion, transfer or escalation rate, replay complaints, or your own evaluation set. Do one environment at a time and keep the previous value revertible until the deadline. Because no response identifies the serving model, your flag state is the record of what is live.

Step 6: verify before the deadline

Confirm, per environment:
  1. No call site sets arcana, arcanav2, or arcanav3, including configuration and environment variables.
  2. Every speaker you now send is listed on Coda for the lang you send with it.
  3. Each language you use was exercised at least once, since behavior and voice availability differ by language.
  4. Each transport you use was exercised, since HTTP and the two WebSocket endpoints are separate paths.
One request does not establish coverage across languages and transports. Treat the matrix of language times transport as the unit of verification.

After August 15

An unrecognized modelId resolves to Mist v3 rather than returning an error, so a cloud call site you missed may keep working while producing a different voice than you intended. Nothing will alert you, which is why step 6 checks configuration instead of waiting for failures. If you are not finished, contact support@rime.ai before the date rather than after.
  • Coda voices: the full catalog to choose replacements from, grouped by language.
  • Models: what Coda supports and how cloud and on-prem availability differ.
  • Speed: timeScaleFactor is the parameter Rime recommends going forward for Coda.