> For the complete documentation index, see [llms.txt](https://oodlz-ai-studio.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oodlz-ai-studio.gitbook.io/docs/inbound-agent/every-channel/voice/text-to-speech.md).

# Text-To-Speech

Agent text becomes natural-sounding audio — markdown stripped, URLs handed off, brand listings restructured for the ear.

> **The agent's reply, spoken — not read.**

When a request arrives marked as voice, the agent's text response passes through a voice-cleaning layer before reaching text-to-speech. All markdown is stripped. URLs and deeplinks are removed and replaced with a short spoken handoff sentence directing the user to the chat for clickable links. Brand listings are restructured into natural spoken sentences with pauses between each brand — name, description, and cashback rate formatted for ears, not eyes. The cleaned text is sent to OpenAI TTS and returns as audio binary.

## How It Works

The voice-cleaning layer transforms the agent's markdown response before any audio is generated. Markdown formatting is removed — asterisks, hashes, bullet markers, link syntax. Raw URLs and deeplinks are stripped and replaced with a single spoken handoff sentence, so the audio never reads protocol prefixes or query strings out loud. Brand cards are reformatted into natural sentences: brand name, description, and cashback rate spoken in turn, with a pause between each brand.

The cleaned text is then sent to OpenAI text-to-speech. The returned audio binary is sent back to the voice client as the response payload.

## What You Get

* Audio that sounds like a person, not a TTS engine reading markdown.
* URLs handed off to the chat by spoken sentence — no asterisks, no spoken slashes, no protocol prefixes read aloud.
* Brand listings narrated as natural sentences with pauses between brands.
* One audio binary per agent response, ready to play immediately on the voice client.
