> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# Mistral

> Learn how to use Mistral's Voxtral TTS voices with SignalWire AI Voice applications.

Mistral's Voxtral text-to-speech models deliver realistic, emotionally expressive
multilingual speech with low latency.

## Models

| Model                     | Description                                |
| ------------------------- | ------------------------------------------ |
| `voxtral-mini-tts-latest` | **Default.** Latest Voxtral Mini TTS model |

Model IDs are passed through to Mistral directly, so newer Voxtral TTS models work as soon as
Mistral releases them. See
[Mistral's text-to-speech documentation](https://docs.mistral.ai/capabilities/audio/text_to_speech)
for current models.

## Voices

Press play to audition any Mistral voice, then **copy config** to grab the value for SWML or your SDK.

Voice IDs are passed through to Mistral's hosted voice library — a voice named `myvoice`
becomes `mistral.myvoice` in the [voice string](#usage).
Find the available voices in
[Mistral AI Studio](https://console.mistral.ai/) under **Audio › Text-to-speech**.

There is no default or fallback voice — always set a valid Mistral voice ID.
Note that the preset names published with the open-weight Voxtral model (such as `casual_male`)
are **not** accepted by Mistral's hosted API — use a voice from Mistral AI Studio.

Learn more in Mistral's documentation:

#### [Mistral TTS docs](https://docs.mistral.ai/capabilities/audio/text_to_speech)

Reference for Voxtral TTS models and voices.

#### [Voxtral TTS announcement](https://mistral.ai/news/voxtral-tts/)

Overview of Voxtral TTS capabilities.

## Languages

Voxtral TTS supports English, French, Spanish, Portuguese, Italian, Dutch, German, Hindi, and
Arabic. Language is determined by the model and voice; refer to
[Mistral's documentation](https://docs.mistral.ai/capabilities/audio/text_to_speech)
for the most up-to-date language coverage.

## Usage

A voice identifier string has three parts: the `mistral` engine code, a voice ID, and an optional model.

**Format**: `mistral.<voiceId>:<model>`

* `voiceId` (required): a Mistral voice ID from [Mistral AI Studio](https://console.mistral.ai/); see [Voices](#voices).
* `model` (optional): a [Voxtral TTS model](#models). Defaults to `voxtral-mini-tts-latest`.

**Examples** (replace `myvoice` with a voice ID from Mistral AI Studio):

```text
mistral.myvoice
mistral.myvoice:voxtral-mini-tts-latest
```

You can also set the model with the separate
[`model`](/docs/swml/reference/ai/languages#use-voice-strings)
parameter of the [`languages`](/docs/swml/reference/ai/languages) SWML method
instead of appending `:model` to the voice string:

```yaml
languages:
- name: English
  code: en-US
  voice: mistral.myvoice
  model: voxtral-mini-tts-latest
```

---

## Build with Mistral on SignalWire

### Create a Space and add credit

If you don't have one yet, you'll need to
[create a SignalWire Space](/docs/platform/signing-up-for-a-space).
Be sure to add some credit to test with.

### Add a new Resource

Navigate to the **Resources** tab in your [SignalWire Dashboard](https://my.signalwire.com) and click **+ Add New** to create a new Resource.

### Create a SWML Script

From the Resources menu, select **SWML Script**.
Name it something fun and recognizable.
Ours is titled Mistral Wizard.

Next, paste the following starter script into the text box, replace `myvoice` with a
voice ID from [Mistral AI Studio](https://console.mistral.ai/), and hit <kbd>Save</kbd>:

```yaml
version: 1.0.0
sections:
  main:
  - ai:
      prompt:
        text: |
          You're a voice from Mistral's Voxtral TTS engine!
          Introduce yourself, and have a conversation about programmable unified communications on the SignalWire platform.
      languages:
      - name: English
        code: en-US
        voice: mistral.myvoice
```

### Buy and assign a phone number

Navigate to the **Phone Numbers** section of the Dashboard's left sidebar menu.

Purchase a phone number and assign it to the desired SWML script.

![A purchased phone number showing assignment to a specified Resource.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/signalwire.docs.buildwithfern.com/f0b50511622e76d7be927bd442190e2e41a88745515f22bc727fa5b480e23409/assets/images/dashboard/phone-numbers/assign-resource-voice.webp?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260811%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260811T085751Z&X-Amz-Expires=604800&X-Amz-Signature=6b5b47726866cde1120bd75f20f1cceaac52dc25b581e7e3b162ea8fd9ffa3f6&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

### Give it a call!

Call the number you just assigned to chat with your new AI voice application on the phone.

## Next steps with SWML

Now you've deployed your very first SignalWire voice AI application using Mistral voices.
Next, dive deeper into SWML to explore its capabilities!

#### [Methods reference](/docs/swml)

Documentation for all SWML methods

#### [AI in SWML](/docs/swml/guides)

Build advanced AI applications using SignalWire Markup Language

#### [Guides](/docs/swml/guides)

SWML guides and demo applications