---
title: "Update voice chat settings"
method: PUT
path: "/v1/voice-chat/settings"
tags: ["Voice Chat"]
---

# Update voice chat settings

`PUT /v1/voice-chat/settings`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/voice-chat/settings`
- Auth: HTTP bearer

Accepts a partial VoiceChatSettings object and merges with current settings. Returns the full updated object.

## Request body

- VoiceChatSettings
  - `ttsVoice` string: TTS voice name
  - `ttsSpeed` number: TTS playback speed multiplier
  - `toolsEnabled` boolean: Whether LLM tool calling is enabled during voice chat
  - `sessionTimeoutSeconds` integer: Idle timeout before the session is automatically ended
  - `endpointConfigId` string, nullable: EndpointConfig ID for the LLM provider (null = active model)
  - `modelName` string, nullable: Resolved display name of the LLM (read-only, computed from EndpointConfig or active model)

## Response `200`

Updated voice chat settings

- VoiceChatSettings
  - `ttsVoice` string: TTS voice name
  - `ttsSpeed` number: TTS playback speed multiplier
  - `toolsEnabled` boolean: Whether LLM tool calling is enabled during voice chat
  - `sessionTimeoutSeconds` integer: Idle timeout before the session is automatically ended
  - `endpointConfigId` string, nullable: EndpointConfig ID for the LLM provider (null = active model)
  - `modelName` string, nullable: Resolved display name of the LLM (read-only, computed from EndpointConfig or active model)

## Other responses

- `400`: Invalid request
- `500`: Failed to persist settings
- `503`: Voice chat service not ready

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
