> This page is for Voice APIs.

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

# Session Settings

EVI Configs are persistent and version-controlled. In contrast, **Session Settings** are temporary and apply only to
the current session. These options can be leveraged dynamically based on the requirements of each session to ensure
optimal performance and user experience.

## Configuring session settings

**There are two ways to supply session settings:**

1. **Initialize Chat with session settings** via query parameters to the [/chat](/reference/speech-to-speech-evi/chat) endpoint.
2. **Send a
   [session\_settings](/reference/speech-to-speech-evi/chat#send.SessionSettings) message** during your Chat to update
   settings in realtime.

## Session settings options

While certain EVI options are set within an EVI Config, such as
[turn detection](/docs/speech-to-speech-evi/configuration/turn-detection),
[interruption](/docs/speech-to-speech-evi/configuration/interruption),
[timeouts](/docs/speech-to-speech-evi/configuration/timeouts), [event messages](/docs/speech-to-speech-evi/configuration/event-messages),
[webhooks](/docs/speech-to-speech-evi/configuration/webhooks), enabling/disabling [short responses](/reference/speech-to-speech-evi/configs/create-config#request.body.ellm_model.allow_short_responses), and
[language model](/docs/speech-to-speech-evi/configuration/language-model) selection, many options can be configured for
a specific session through session settings. This section covers each of the supported session settings options.

### Voice

You can supply a voice ID during chat initialization, or update the voice at any time during the Chat. Specifying a voice within session settings query parameters on the /chat endpoint will override any voice specified in your EVI config.

### System prompt

Instructions used to shape EVI’s behavior, responses, and style for the session. When included
in a Session Settings message, the provided Prompt overrides the existing one specified in the EVI
configuration. If no Prompt was defined in the configuration, this Prompt will be the one used for the session.

You can use the Prompt to define a specific goal or role for EVI, specifying how it should act or what it
should focus on during the conversation. For example, EVI can be instructed to act as a customer support
representative, a fitness coach, or a travel advisor, each with its own set of behaviors and response styles.

For help writing a system prompt, see our [Prompting Guide](/docs/speech-to-speech-evi/guides/prompting).

### Context

The context session setting enables you to inject additional context into the conversation, which is appended to
the end of user messages for the session.

When included in a Session Settings message, the provided context can be used to remind the LLM of its role in
every user message, prevent it from forgetting important details, or add new relevant information to the
conversation.

For more details, see our [guide on context injection](/docs/speech-to-speech-evi/features/context-injection).

### Audio

The audio session settings allow you to configure details for the audio input used during the session. This provides
the Hume service with details about the input audio to support processing such as the audio encoding, sample rate, and
number of channels.

This setting is only required when the audio input is encoded in PCM Linear 16 (16-bit, little-endian,
signed PCM WAV data). For detailed instructions on how to configure session settings for PCM Linear 16 audio,
please refer to the [audio guide](/docs/speech-to-speech-evi/guides/audio).

### Tools

Tools are resources used by EVI to perform various tasks, such as calling external APIs. While tools can
be specified in your EVI configuration, this session setting enables you to equip EVI with tools, or remove them,
during the Chat session in real-time.

This setting supports use cases where you dynamically want to equip EVI with tool(s).

For more on tool use, see our [Tool Use Guide](/docs/speech-to-speech-evi/features/tool-use).

### Built-in tools

Built-in tools, like web search, are natively integrated. This means that, unlike (user-defined) Tools, the
associated functions do not need to be defined or invoked by the user.

This session setting enables you to conditionally equip EVI with a built-in tool during a Chat session.

For further details, see our [Tool Use Guide](/docs/speech-to-speech-evi/features/tool-use).

### Variables

This session setting allows you to assign values to dynamic variables included in your system prompt.

Using this field, you can personalize responses based on session-specific details. For guidance on implementing dynamic
variables, see our [guide on using dynamic variables](/docs/speech-to-speech-evi/features/dynamic-variables).

### Language model API key

Third party API key for the supplemental language model.

When provided, EVI will use this key instead of Hume’s API key for the supplemental LLM. This is useful when you would
like to consume the supplemental LLM through your own account.

### Custom session ID

A custom session ID is a user-defined, unique identifier for the session. This ID is used to manage conversational
state, correlate frontend and backend data, and persist conversations across EVI sessions.

If included, the response sent from Hume to your backend will include this ID. This allows you to correlate
frontend users with their incoming messages.

It is recommended to pass a `custom_session_id` if you are using a Custom Language Model. See our
[guide to using a custom language model](/docs/speech-to-speech-evi/guides/custom-language-model) with
EVI to learn more.

---