# Gemini 3.8 Flash Lite TTS

> Generate expressive speech with Gemini 3.8 Flash Lite TTS. Choose from 30 voices, guide delivery with style instructions, and create single-speaker narration or two-speaker dialogue.


## Overview

- **Endpoint**: `https://fal.run/google/gemini-3.8-flash-lite-tts`
- **Model ID**: `google/gemini-3.8-flash-lite-tts`
- **Category**: text-to-speech
- **Kind**: inference
**Description**: Generate speech from text with Google’s Gemini 3.8 Flash Lite TTS.

Use prompt and voice for single-speaker narration, or define two speakers and an ordered list of turns for dialogue. Choose from 30 built-in voices and control delivery with global or per-turn style instructions. Inline vocal events such as <laugh> and <sigh> are supported.

Returns audio in WAV format. The combined input is limited to 8,192 tokens. Billing is based on spoken text; style instructions and speaker aliases are excluded.

**Tags**: text-to-speech, audio, dialogue, voiceover



## Pricing

- **Price**: $0.03 per 1000 characters

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`prompt`** (`string`, _optional_):
  Verbatim text for single-speaker speech. Put delivery directions in style_instructions; inline vocal events may use <laugh> or <sigh>. For dialogue, omit prompt and provide speakers and turns instead. The provider limits the complete input to 8,192 tokens.
  - Examples: "Have a wonderful day!"

- **`style_instructions`** (`string`, _optional_):
  Delivery style, separate from the spoken transcript. Applies to all turns unless overridden.
  - Examples: "cheerful and friendly"

- **`voice`** (`VoiceEnum`, _optional_):
  Prebuilt voice for single-speaker speech. Default value: `"Kore"`
  - Default: `"Kore"`
  - Options: `"Achernar"`, `"Achird"`, `"Algenib"`, `"Algieba"`, `"Alnilam"`, `"Aoede"`, `"Autonoe"`, `"Callirrhoe"`, `"Charon"`, `"Despina"`, `"Enceladus"`, `"Erinome"`, `"Fenrir"`, `"Gacrux"`, `"Iapetus"`, `"Kore"`, `"Laomedeia"`, `"Leda"`, `"Orus"`, `"Pulcherrima"`, `"Puck"`, `"Rasalgethi"`, `"Sadachbia"`, `"Sadaltager"`, `"Schedar"`, `"Sulafat"`, `"Umbriel"`, `"Vindemiatrix"`, `"Zephyr"`, `"Zubenelgenubi"`

- **`speakers`** (`list<SpeakerConfig>`, _optional_):
  Exactly two distinct speaker aliases and their prebuilt voices for dialogue.
  - Array of SpeakerConfig
  - Examples: null

- **`turns`** (`list<SpeechTurn>`, _optional_):
  Ordered dialogue turns, each identifying a configured speaker.
  - Array of SpeechTurn
  - Examples: null



**Required Parameters Example**:

```json
{}
```

**Full Example**:

```json
{
  "prompt": "Have a wonderful day!",
  "style_instructions": "cheerful and friendly",
  "voice": "Kore",
  "speakers": null,
  "turns": null
}
```


### Output Schema

The API returns the following output format:

- **`audio`** (`File`, _required_):
  Generated WAV audio.



**Example Response**:

```json
{
  "audio": {
    "url": "",
    "content_type": "image/png",
    "file_name": "z9RV14K95DvU.png",
    "file_size": 4404019
  }
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/google/gemini-3.8-flash-lite-tts \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{}'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "google/gemini-3.8-flash-lite-tts",
    arguments={},
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("google/gemini-3.8-flash-lite-tts", {
  input: {},
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/google/gemini-3.8-flash-lite-tts)
- [API Documentation](https://fal.ai/models/google/gemini-3.8-flash-lite-tts/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=google/gemini-3.8-flash-lite-tts)

### fal.ai Platform

- [Platform Documentation](https://fal.ai/docs/documentation)
- [Python Client](https://fal.ai/docs/api-reference/client-libraries/python)
- [JavaScript Client](https://fal.ai/docs/api-reference/client-libraries/javascript)

### Other agent-readable surfaces

This file covers one model. To find anything else:

- [Platform overview](https://fal.ai/llms.txt): Entry points and representative endpoint IDs
- [Documentation index](https://fal.ai/docs/llms.txt): Every documentation page
- [Full documentation text](https://fal.ai/docs/llms-full.txt): The whole documentation inlined
- Any other model: `https://fal.ai/models/<endpoint-id>/llms.txt`
