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

# Gemini 3.8 Flash TTS

> Gemini 3.8 Flash TTS on the Summer API: $0.045 per 1,000 characters, about 7 s, MP3 saved to your Summer library. Model id voice/gemini-3.8-flash-tts.

Google's newest speech model, directed in plain words.

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

## Examples

Real outputs of `voice/gemini-3.8-flash-tts`, each with the input that made it.

[![Mira, scout](https://media.summer.games/preview/v3/create/image/image-gallery-gpt25-asha-bow.webp)](https://media.summer.games/preview/v3/create/audio/speech-gemini-flash.mp3)

Words: Shh, stay down. Two guards at the gate, one on the wall. When the bell rings, we run for the tower. laugh Don't look at me like that. It'll work.

## Best for

* Character lines where the delivery matters as much as the words.
* Quest givers, shopkeepers and companions with distinct voices from one model.
* Fast iteration on tone by rewriting the direction instead of the script.

## Price

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

No markup: this is the provider's list price, checked 2026-09-26. 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/gemini-3.8-flash-tts \
  --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/gemini-3.8-flash-tts","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/gemini-3.8-flash-tts",
    "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/gemini-3.8-flash-tts", "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/gemini-3.8-flash-tts",
  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/gemini-3.8-flash-tts`](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/gemini-3.8-flash-tts`. For more, search the public voice library by words, language, gender, age or accent, each with a sample: `GET /v1/voices?model=voice/gemini-3.8-flash-tts&search=old+wizard` (signed in).

> **All 30 voices**
>
> | Name | voiceId |
> | - | - |
> | Kore | `Kore` |
> | Zephyr | `Zephyr` |
> | Leda | `Leda` |
> | Aoede | `Aoede` |
> | Callirrhoe | `Callirrhoe` |
> | Autonoe | `Autonoe` |
> | Despina | `Despina` |
> | Erinome | `Erinome` |
> | Laomedeia | `Laomedeia` |
> | Achernar | `Achernar` |
> | Gacrux | `Gacrux` |
> | Pulcherrima | `Pulcherrima` |
> | Vindemiatrix | `Vindemiatrix` |
> | Sulafat | `Sulafat` |
> | Puck | `Puck` |
> | Charon | `Charon` |
> | Fenrir | `Fenrir` |
> | Orus | `Orus` |
> | Enceladus | `Enceladus` |
> | Iapetus | `Iapetus` |
> | Umbriel | `Umbriel` |
> | Algieba | `Algieba` |
> | Algenib | `Algenib` |
> | Rasalgethi | `Rasalgethi` |
> | Alnilam | `Alnilam` |
> | Schedar | `Schedar` |
> | Achird | `Achird` |
> | Zubenelgenubi | `Zubenelgenubi` |
> | Sadachbia | `Sadachbia` |
> | Sadaltager | `Sadaltager` |

## 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/gemini-3-8-flash-tts.md](https://docs.summerengine.com/api/models/voice/gemini-3-8-flash-tts.md). The live record with the JSON Schema: `GET https://www.summerengine.com/v1/models/voice/gemini-3.8-flash-tts`, public, no sign-in.


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