> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finesse.flamapp.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build with Finesse

> Clone a voice from a few seconds of audio, turn text into speech in that voice, and stream it to voice agents in realtime. Call the API from any language, or point OpenAI TTS code at it.

<CardGroup cols={3}>
  <Card title="Make your first clip" icon="play" href="/guides/quickstart">
    From an API key to a WAV file in a few minutes.
  </Card>

  <Card title="Clone a voice" icon="microphone" href="/voice-api/clone-voice">
    Upload 10 seconds of one speaker and get a voice back.
  </Card>

  <Card title="Build a voice agent" icon="bolt" href="/voice-api/realtime-websocket">
    Stream text in as your LLM writes it and get audio back, with barge-in.
  </Card>

  <Card title="SDKs: coming soon" icon="code" href="/sdks/overview">
    Typed Python and TypeScript clients with safe retries.
  </Card>

  <Card title="Swap in for OpenAI TTS" icon="plug" href="/voice-api/openai-compatible">
    Point code written for OpenAI's speech endpoint at Finesse.
  </Card>

  <Card title="Browse the API" icon="book" href="/voice-api/list-voices">
    Every endpoint, with copy-paste examples.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Pick or clone a voice">
    Add voices from the dashboard's **Explore** library, or clone your own from a reference clip in
    the dashboard or through [`/clone`](/voice-api/clone-voice). A voice can speak once its status is
    `ready`.
  </Step>

  <Step title="Get an API key">
    In the [dashboard](https://finesse.flamapp.ai/dashboard), open **Settings → API keys** and create a
    key (`flv_…`). Keep it on your server. See [Authentication](/guides/authentication).
  </Step>

  <Step title="Make speech">
    Synthesize a clip, stream it as it is generated, or open a realtime session. The
    [Quickstart](/guides/quickstart) walks through the first call.
  </Step>
</Steps>

## Choose how to make speech

| You want to... | Use | Why |
| - | - | - |
| Make an audio file, or speak a fixed piece of text | [Synthesize](/voice-api/synthesize-speech) | Simplest. One request, one clip, cached. |
| Start playback fast for a known piece of text | [Stream](/voice-api/stream-speech) | Audio starts before the clip is finished. |
| Build a voice agent, or speak text as an LLM writes it | [Realtime](/voice-api/realtime-websocket) | Text in, audio out, many turns on one connection, cancel on barge-in. |


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