> 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.

# Simplismart

[Simplismart](https://docs.simplismart.ai) hosts open text-to-speech models: Orpheus for English, Veena for Hindi and English, and Qwen 3 TTS on a dedicated deployment. Simplismart tuning is passed in `synthesizer.options`.

```json
{
  "verb": "say",
  "text": "Hi there, your order ships today.",
  "synthesizer": {
    "vendor": "simplismart",
    "language": "en-US",
    "voice": "tara",
    "options": {
      "temperature": 0.7,
      "top_p": 0.9
    }
  }
}
```

You can also set these in the portal under **Extra Options** on the speech credential, in which case they apply to every request that uses that credential. Settings supplied on the verb take precedence.

## Credential

Create an API key in your Simplismart account. jambonz sends the key as `Authorization: Bearer <api key>`. Add it as a **Simplismart** speech credential in the portal or API, using the vendor id `simplismart`. Simplismart is used for text-to-speech only.

The credential can also set a default model and an API host; see [Models](#models) and [Endpoint override](#endpoint-override).

## Models

| Model                          | Notes                                                                                                |
| ------------------------------ | ---------------------------------------------------------------------------------------------------- |
| `canopylabs/orpheus-3b-0.1-ft` | Orpheus 3B, English. Default.                                                                        |
| `maya-research/Veena`          | Veena, Hindi and English. Default when `synthesizer.language` is Hindi (`hi-*`) and no model is set. |
| `qwen-tts`                     | Qwen 3 TTS. Served from a dedicated Simplismart deployment, so set the API host as well.             |

The model is chosen in this order: `options.model_id` on the verb, then the model on the credential, then Veena for a Hindi language, then Orpheus. Any model id that contains `qwen` is sent to Simplismart's Qwen endpoint; every other model uses the Orpheus/Veena endpoint.

## Voices and languages

The portal lists these voices:

| Language     | Voices                                                                              |
| ------------ | ----------------------------------------------------------------------------------- |
| English (US) | `tara` (default), `leah`, `jess`, `mia`, `zoe` (female); `leo`, `dan`, `zac` (male) |
| Hindi        | `kavya` (default), `maitri` (female); `agastya`, `vinaya` (male)                    |

Qwen 3 TTS uses its own voice names, such as `Chelsie`; enter them as a custom voice.

Orpheus and Veena have no language parameter, so `synthesizer.language` only picks the default model. For Qwen, jambonz sends a language name derived from `synthesizer.language`: `en` English, `zh` Chinese, `ja` Japanese, `ko` Korean, `de` German, `fr` French, `ru` Russian, `pt` Portuguese, `es` Spanish and `it` Italian. Any other language is sent as `English`. Set `options.language` to send a different name.

jambonz treats Simplismart audio as 16-bit PCM at 24 kHz and resamples it to the call's rate.

## Options

Every option is optional. An option you don't set is not sent, so Simplismart's own default applies.

**`model_id`** `string`

`canopylabs/orpheus-3b-0.1-ft`, `maya-research/Veena` or `qwen-tts`. Overrides the model on the credential.

---

### Orpheus and Veena

These are sent only to the Orpheus/Veena endpoint and are ignored for Qwen.

**`temperature`** `number`

Sampling temperature.

---

**`top_p`** `number`

Nucleus sampling threshold.

---

**`repetition_penalty`** `number`

Penalty for repeated tokens.

---

**`max_tokens`** `integer`

Maximum audio tokens generated per request. jambonz sends one request per sentence.

---

### Qwen

These are sent only to the Qwen endpoint and are ignored for Orpheus and Veena.

**`language`** `string`

Language name, such as `English` or `Chinese`. Overrides the name jambonz derives from `synthesizer.language`.

---

**`leading_silence`** `boolean`

Whether Qwen adds silence before the speech.

---

## Endpoint override

To use a dedicated deployment, such as one serving Qwen 3 TTS, set the **API host** on the credential, or `api_uri` in its **Extra Options** or in `synthesizer.options`. It is a host name such as `my-deployment.simplismart.live`; a scheme and trailing `/` are accepted and ignored. Leave it out to use `api.simplismart.live`.

## Streaming

Simplismart has no token-streaming websocket, so it does not support [TTS streaming](/guides/features/tts-streaming): use it for one-shot `say`, not for `say` with `stream: true` or the `agent` verb.