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

# Summer Router: character voice session

> A live voice conversation with a character, with interruptions and tool calls. Call it from your game with Summer.client.router.talk(character: String, options: Dictionary = {"mode": "voice"}).

A live voice conversation with a character, with interruptions and tool calls.

| | |
| - | - |
| In your game | `Summer.client.router.talk(character: String, options: Dictionary = {"mode": "voice"})` |
| Status | Coming soon |
| Metered | per second of audio, from the creator's Summer credits |
| Counts toward | per player per day, per game per day, per game per month, per account per month, per character per player per day, per character per game per day ([limits](https://docs.summerengine.com/router/limits.md)). A multiplayer server's calls count toward the game's caps, not the player's. |

## Example

```gdscript theme={null}
var s: SummerRouterSession = await Summer.client.router.talk("guard", {"mode": "voice"})
```

A voice session talks in text turns and speaks each reply in the character's voice.

## Input limits

The SDK builds the request from the call's arguments and options. Summer checks these limits:

| Field | Type | Limits |
| - | - | - |
| `character` (required) | string | The id of a character you made in Studio |
| `variables` | object | up to 32 entries |
| `context` | string | 0 to 4000 characters |
| `overrides` | object | up to 16 entries |

## Errors

Every refusal has a stable tag and a one-line fix, and the game keeps running. See [errors](https://docs.summerengine.com/router/errors.md).


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