# Voice

> Give your agent a voice. Bookbag transcribes the caller, answers with the same brain, prompt, and knowledge as the text chat, and speaks the reply back — with multi-provider speech-to-text (OpenAI, Deepgram, Cartesia, Soniox, ElevenLabs), a searchable voice picker, realtime in-widget voice mode, and per-call limits.

Voice gives your agent a spoken interface. Every voice turn flows through the **same pipeline as a text message** — the caller's speech is transcribed, the transcript runs through this agent's prompt, knowledge, and actions, and the reply is spoken back. Same brain, same answers, just spoken.

> **WHERE VOICE LIVES:** Open an agent at [app.bookbag.ai](https://app.bookbag.ai) and pick the **Voice** tab. Speech-provider API keys are added once, workspace-wide, under **Settings → Models & providers**.

## Speech providers

Speech-to-text (transcription) and text-to-speech (the agent's voice) are powered by provider engines you bring keys for. Add each provider's key under **Settings → Models & providers → Provider keys**, then pick it on the Voice tab.

| Capability | Providers |
| --- | --- |
| Speech-to-text (transcriber) | OpenAI Whisper, Deepgram, Cartesia, Soniox, ElevenLabs Scribe |
| Text-to-speech (agent voice) | OpenAI, ElevenLabs, Cartesia |
| Realtime (speech-to-speech) | OpenAI Realtime |

> **ADD MODELS, AND THEY APPEAR:** The provider and model dropdowns on the Voice tab are driven by your **model catalog** — the speech models listed under Settings → Models & providers. Add a new STT/TTS model there and it shows up in the Voice tab automatically. Nothing is hardcoded.

## Credit usage

Voice replies are billed exactly like text chat: a flat **1 credit per response**, no per-minute metering. Transcription and speech synthesis are included in that.

## Model

Voice can use its **own LLM** (separate from the text-chat model) and temperature — pick them in the Model card, or leave it on the agent's default model. Lower temperature keeps spoken answers reserved and grounded.

## Transcriber (speech-to-text)

Choose the provider and model that turn the caller's audio into text, plus the language and two tuning sliders:

## Agent voice (text-to-speech)

Pick the provider, model, and the **voice** itself. The voice picker has two tabs:

## Voice mode (talk to the agent)

Turn on **Voice mode** in an agent's **Chat Interface** settings to add a voice button to the chat widget. Visitors tap it to open a real-time spoken conversation — they talk, the agent talks back — powered by OpenAI Realtime using the realtime model and voice you selected. Requires an OpenAI key. The same realtime engine powers the dashboard's "Start live call" tester.

## Messages & session

Set the **initial message** the agent speaks when a session begins (leave it empty to wait for the caller) and the **error message** played on failure. Session settings control whether callers can **interrupt** the agent, **end-after-silence**, and **type during a call**.

## Limits

**Max call duration** and **end-after-silence** are enforced on live calls — a session that hits either limit ends automatically, so abandoned calls don't run up cost. Per-agent **concurrent** and **daily** call caps are coming as voice gets per-session metering.

## Recordings

> **COMING SOON:** Call recording isn't available yet. When it ships, recordings will be stored in your workspace object storage and **billed for the storage they use** — you'll set a retention period (or keep forever), and HIPAA / Zero-Data-Retention workspaces will have it permanently off. We're building the storage + retention pipeline first so audio you pay for never silently accumulates.

> **HIPAA & VOICE:** On HIPAA / Zero-Data-Retention workspaces, transcription is limited to HIPAA-eligible providers (Deepgram, Cartesia), recordings stay off, and no voice audio is retained. See [HIPAA & ZDR](/docs/workspace/hipaa).
