> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Expressive v4

> Expressive v4 on the Summer API: $0.08 per 1,000 characters, about 1 s, MP3 saved to your Summer library. Model id voice/expressive-v4.

Expressive v4: a voice model for your game.

| | |
| - | - |
| Model id | `voice/expressive-v4` |
| Price | \$0.08 per 1,000 characters |
| Typical time | about 1 s |
| Does | [Text to speech](https://docs.summerengine.com/api/models.md#text-to-speech) |
| Output | MP3 |
| Made by | Summer |
| Try it | [Examples and playground on summerengine.com](https://www.summerengine.com/models/expressive-v4) |
| Commercial use | Yes |

## Best for

* Character lines with real emotion: shouts, whispers and laughter.
* Narration and tutorials in many languages.
* Voice drafts for cutscenes.

## Price

**\$0.08 per 1,000 characters**, counted from `text`. Exact list price: `0.08 USD`.

No markup: this is the provider's list price, checked 2026-10-24. A failed job costs nothing. Get the exact price of one request, free and without a key, from [`POST /v1/estimate`](https://docs.summerengine.com/api/jobs#know-the-price-first).

## Example call

Sign in once with `summer login`; over HTTP, send `Authorization: Bearer $SUMMER_TOKEN` after `export SUMMER_TOKEN=$(summer token)` ([sign-in](https://docs.summerengine.com/api/sign-in.md)). This job comes back done in the same call, with the file ready to download.

```bash CLI theme={null}
npx -y summer-engine@latest api run voice/expressive-v4 \
  --input '{"text":"The gate is open. Go, before the guards come back."}' \
  --download .
```

```bash curl theme={null}
curl https://www.summerengine.com/v1/jobs \
  -H "Authorization: Bearer $SUMMER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Prefer: wait=60" \
  -d '{"model":"voice/expressive-v4","input":{"text":"The gate is open. Go, before the guards come back."}}'
```

```ts TypeScript theme={null}
const res = await fetch("https://www.summerengine.com/v1/jobs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SUMMER_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
    Prefer: "wait=60",
  },
  body: JSON.stringify({
    "model": "voice/expressive-v4",
    "input": {
      "text": "The gate is open. Go, before the guards come back."
    }
  }),
});
const { job } = await res.json();
console.log(job.state, job.id);
```

```python Python theme={null}
import os, uuid, requests

res = requests.post(
    "https://www.summerengine.com/v1/jobs",
    headers={
        "Authorization": f"Bearer {os.environ['SUMMER_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
        "Prefer": "wait=60",
    },
    json={"model": "voice/expressive-v4", "input": {"text": "The gate is open. Go, before the guards come back."}},
)
job = res.json()["job"]
print(job["state"], job["id"])
```

```js MCP theme={null}
// Summer's MCP server: npx -y summer-engine@latest setup <agent> --yes
summer_api_run({
  model: "voice/expressive-v4",
  input: {
    text: "The gate is open. Go, before the guards come back."
  },
  out: "assets",
})
```

The finished job has `state` `"done"` and `result.assets`: one entry per file, each with `assetId`, `fileUrl` (a Summer URL) and `thumbnailUrl`. Download the file into your project, or import it in Summer Engine by its asset id.

## Input

Send these fields in `input`. The full JSON Schema is `inputSchema` in [`GET /v1/models/voice/expressive-v4`](https://docs.summerengine.com/api/reference/get-models-model).

| Field | Type | About |
| - | - | - |
| `text` (required) | string | The words to speak, at most 5000 characters. up to 5000 characters |
| `voiceId` | string | Speech: a voice of the game cast. up to 100 characters |
| `voiceSettings` | object | Speech: voice tuning. |

## Voices

`voiceId` is optional: without it the model uses its default voice. These are Summer's curated voices; the live list is `voices` in `GET /v1/models/voice/expressive-v4`. For more, search the public voice library by words, language, gender, age or accent, each with a sample: `GET /v1/voices?model=voice/expressive-v4&search=old+wizard` (signed in).

> **All 21 voices**
>
> | Name | voiceId |
> | - | - |
> | George | `JBFqnCBsd6RMkjVDRZzb` |
> | Charlie | `IKne3meq5aSn9XLyUdCD` |
> | Jessica | `cgSgspJ2msm6clMCkdW9` |
> | Harry | `SOYHLrjzK2X1ezoPC6cr` |
> | Callum | `N2lVS1w4EtoT3dr4eOWO` |
> | Brian | `nPczCjzI2devNBz1zQrb` |
> | Bill | `pqHfZKP75CvOlQylNhV4` |
> | Sarah | `EXAVITQu4vr4xnSDxMaL` |
> | Lily | `pFZP5JQG7iQjIQuC4Bku` |
> | Liam | `TX3LPaxmHKxFdv7VOQHJ` |
> | Matilda | `XrExE9yKIg1WjnnlVkGX` |
> | Daniel | `onwK4e9ZLuTAKqWW03F9` |
> | River | `SAz9YHcvj6GT2YYXdXww` |
> | Bella | `hpp4J3VqNfWAUOO0d1Us` |
> | Laura | `FGY2WhTYpPnrIDTdsKH5` |
> | Alice | `Xb7hH8MSUJpSbSDYk0k2` |
> | Adam | `pNInz6obpgDQGcFmaJgB` |
> | Eric | `cjVigY5qzO86Huf0OWal` |
> | Chris | `iP95p4xoKVk53GoZ742B` |
> | Roger | `CwhRBWXzGAHq8TQ4Fs17` |
> | Will | `bIHbv24MWmeRgasZH58o` |

## Related models

> **[Expressive v3](https://docs.summerengine.com/api/models/voice/expressive-v3.md)**
>
> `voice/expressive-v3`: \$0.08 per 1,000 characters (default)

> **[Multilingual v2](https://docs.summerengine.com/api/models/voice/multilingual-v2.md)**
>
> `voice/multilingual-v2`: \$0.08 per 1,000 characters

> **[HeyGen Voice Turbo](https://docs.summerengine.com/api/models/voice/heygen-voice-turbo.md)**
>
> `voice/heygen-voice-turbo`: \$0.002 per 1,000 characters

> **[Inworld TTS-1.5 Max](https://docs.summerengine.com/api/models/voice/inworld-tts-1-5-max.md)**
>
> `voice/inworld-tts-1.5-max`: \$0.01 per 1,000 characters

## For agents

This page as Markdown: [https://docs.summerengine.com/api/models/voice/expressive-v4.md](https://docs.summerengine.com/api/models/voice/expressive-v4.md). The live record with the JSON Schema: `GET https://www.summerengine.com/v1/models/voice/expressive-v4`, public, no sign-in.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.