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

# Quickstart

> Get started with Destined Voice API in 5 minutes

## 1. Get Your API Key

Sign up at [destined.ai](https://destined.ai) and get your API key from the dashboard.

## 2. Install the SDK

<CodeGroup>
  ```bash npm theme={null}
  npm install @destined-ai/voice
  ```

  ```bash yarn theme={null}
  yarn add @destined-ai/voice
  ```

  ```bash pnpm theme={null}
  pnpm add @destined-ai/voice
  ```
</CodeGroup>

## 3. Initialize the Client

```typescript theme={null}
import { SDK } from "@destined-ai/voice";

const client = new SDK({
  bearerToken: process.env.DESTINED_API_KEY,
});
```

## 4. Browse Speakers

Find the perfect voice for your use case:

```typescript theme={null}
// List female speakers from the US
const speakers = await client.speakers.listSpeakersV1SpeakersGet({
  gender: "Female",
  region: "United States",
  limit: 10,
});

console.log(speakers);
// [
//   { id: "abc123", gender: "Female", region: "Georgia", accent: "Southern" },
//   { id: "def456", gender: "Female", region: "California", accent: "General American" },
//   ...
// ]
```

## 5. Generate Speech

```typescript theme={null}
const result = await client.ttsGeneration.synthesizeSpeechV1TtsSynthesizePost({
  speakerId: "abc123",
  text: "Hello! This is a test of the Destined Voice API.",
});

console.log(result.audioUrl);
// https://voice.s3.amazonaws.com/audio/xxx.wav
```

## 6. Track Batch Jobs

For multiple generations, use batch processing:

```typescript theme={null}
// Start a batch job
const job = await client.ttsGeneration.batchSynthesizeV1TtsBatchPost({
  items: [
    { speakerId: "abc123", text: "First sentence." },
    { speakerId: "def456", text: "Second sentence." },
    { speakerId: "ghi789", text: "Third sentence." },
  ],
});

console.log(job.jobId);
// "job_abc123"

// Check job status
const status = await client.jobs.getJobV1JobsJobIdGet({
  jobId: job.jobId,
});

console.log(status);
// { status: "completed", progress: 100, results: [...] }
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    Learn about API authentication
  </Card>

  <Card title="Speakers" icon="users" href="/concepts/speakers">
    Understand speaker demographics
  </Card>

  <Card title="TTS Generation" icon="microphone" href="/concepts/tts-generation">
    Deep dive into synthesis options
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Full endpoint documentation
  </Card>
</CardGroup>
