> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.jambonz.org/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.jambonz.org/_mcp/server.

# Rime Labs

Rime Labs tuning is passed in `synthesizer.options`. Which fields apply depends on the model — Rime's model families expose quite different controls.

```json
{
  "verb": "say",
  "text": "Thanks for calling, how can I help you today?",
  "synthesizer": {
    "vendor": "rimelabs",
    "language": "eng",
    "voice": "luna",
    "options": {
      "speedAlpha": 1.0,
      "reduceLatency": true
    }
  }
}
```

## mist, mistv2 and v1

**`speedAlpha`** `number`

Speaking rate. Defaults to `1.0`. Values **above** `1.0` are slower and below are faster — the opposite of a multiplier, so `0.9` speeds the voice up.

---

**`reduceLatency`** `boolean`

Defaults to `true`. Reduces time-to-first-audio at a small cost in prosody.

---

**`pauseBetweenBrackets`** `boolean`

Treat bracketed numbers in the text as pause durations in milliseconds — `<200>` inserts a 200 ms pause.

---

**`phonemizeBetweenBrackets`** `boolean`

Treat bracketed text as explicit phonemes rather than words, for controlling pronunciation of names and jargon.

---

**`inlineSpeedAlpha`** `string`

Per-segment speed values, letting one utterance change pace partway through.

---

## arcana

Arcana is a sampling-based model and takes the usual generation controls instead:

**`temperature`** `number`

Sampling temperature. Higher values give more varied delivery.

---

**`top_p`** `number`

Nucleus sampling cutoff.

---

**`repetition_penalty`** `number`

Discourages repeated audio patterns.

---

**`max_tokens`** `number`

Caps the audio generated for one request.

---

## coda

**`timeScaleFactor`** `number`

Playback speed — above `1.0` slows down, below speeds up. **Applies to the non-streaming HTTP path only**, so it affects `say` but not token streaming.

---

**`segment`** `string`

How text is chunked over the streaming websocket: `immediate`, `never`, or `bySentence`. `bySentence` generally gives the best prosody; `immediate` the lowest latency.

---

> **Warning**
>
> These three groups are not interchangeable. Sending `speedAlpha` to arcana, or `temperature` to mistv2, has no effect rather than raising an error — check which model the credential uses before concluding a value is wrong.

## Streaming

Rime Labs supports [TTS streaming](/guides/features/tts-streaming) with word-level alignment and a native clear for barge-in. Its flush ends the vendor connection, so jambonz redials per turn.