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

# GLM TTS

> LLM-based text-to-speech with zero-shot voice cloning from 3-10s of audio and emotion-expressive, controllable output via multi-reward RL.

![GLM TTS](https://media.empiriolabs.ai/model-logos/glm.png)

[Z.ai](/providers/zhipu) · Audio Generation

`POST /v1/audio/speech`

LLM-based text-to-speech with zero-shot voice cloning from 3-10s of audio and emotion-expressive, controllable output via multi-reward RL.

## At a glance

| Field               | Value                          |
| ------------------- | ------------------------------ |
| Model id            | `glm-tts`                      |
| Model release date  | 2025-12-11                     |
| Input modalities    | Text, Audio                    |
| Output modalities   | Audio                          |
| Context window      | -                              |
| Weight precision    | INT8 / FP16                    |
| Features            | voice_cloning, emotion_control |
| Native inference    | Yes                            |
| New                 | No                             |
| Supported endpoints | `POST /v1/audio/speech`        |
| Alternate model ids | `zhipu/glm-tts`                |

## Pricing

| Charge         | Spec                                                 | Rate   |
| -------------- | ---------------------------------------------------- | ------ |
| Fast (INT8)    | per 1k characters, minimum 50 characters per request | \$0.20 |
| Quality (FP16) | per 1k characters, minimum 50 characters per request | \$0.21 |

## Example request

```bash
curl https://api.empiriolabs.ai/v1/audio/speech \
  -H 'Authorization: Bearer $EMPIRIOLABS_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model": "glm-tts", "input": "Hello from EmpirioLabs."}'
```

## Parameters

| Parameter         | Type    | Required | Default     | Description                                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------- | ------- | -------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`           | string  | yes      | -           | Text to synthesize. For multi-speaker use \[S1] / \[S2] tags or 'Speaker N:' lines.                                                                                                                                                                                                                                                                                                           |
| `voice`           | enum    | no       | `"emma"`    | emma=English Female, james=US Male, arthur=US Male alt, xiaomei=Chinese Female, zhigang=Chinese Male, custom=upload reference via voice_audio_url. · Allowed: `emma`, `james`, `arthur`, `xiaomei`, `zhigang`, `custom`                                                                                                                                                                       |
| `voice_audio_url` | string  | no       | -           | Reference audio URL for custom voice cloning. The reference recording must contain the speaker reading this exact consent phrase aloud, in their own voice: "I consent to Empirio Labs cloning my voice for the purpose of generating synthetic speech. I understand that my voice sample will be used to create personalized audio content." Reference audio without the phrase is rejected. |
| `output_format`   | enum    | no       | `"mp3"`     | Audio file format. · Allowed: `mp3`, `wav`                                                                                                                                                                                                                                                                                                                                                    |
| `speed`           | number  | no       | `1.0`       | Speaking rate multiplier. · Range: 0.5 – 2.0                                                                                                                                                                                                                                                                                                                                                  |
| `model_quality`   | enum    | no       | `"quality"` | quality=FP16 (better), fast=INT8 (quicker) · Allowed: `quality`, `fast`                                                                                                                                                                                                                                                                                                                       |
| `sample_rate`     | enum    | no       | `"24000"`   | Output sample rate in Hz. · Allowed: `16000`, `24000`, `44100`, `48000`                                                                                                                                                                                                                                                                                                                       |
| `volume`          | number  | no       | `1.0`       | Output gain multiplier. · Range: 0.1 – 2.0                                                                                                                                                                                                                                                                                                                                                    |
| `use_cache`       | boolean | no       | true        | Keep the voice consistent across a long text by carrying its earlier parts into the later ones. No effect on short text.                                                                                                                                                                                                                                                                      |
| `seed`            | number  | no       | -           | Reproducibility seed.                                                                                                                                                                                                                                                                                                                                                                         |

## Notes

**Limits**

* Max input: 5,000 characters
* Billed per character, with a minimum of 50 characters per request

**Voice cloning**

* Reference audio: 3-10 seconds
* Accepted formats: WAV, MP3, OGG, FLAC, AAC, M4A, WebM

**Preset voices**

* emma (English F)
* james (US M)
* arthur (UK M)
* xiaomei (Chinese F)
* zhigang (Chinese M)

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/glm-tts`.