Files
ai-podcast/docs/technical/elevenlabs.md
Rosario Moscato 09f10353dd feat: implement ElevenLabs audio generation for podcast conversations
- Add ElevenLabs SDK integration for text-to-speech conversion
- Implement automatic audio generation after conversation completion
- Add comprehensive audio playback controls (play/pause/restart)
- Include real-time debug panel for monitoring audio generation process
- Add proper error handling for quota exceeded and other API errors
- Integrate audio stream processing and buffer concatenation
- Add volume control and progress tracking for audio playback
- Include responsive UI states for audio generation and playback

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 22:55:02 +02:00

113 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Text to Dialogue quickstart
subtitle: Learn how to generate immersive dialogue from text.
---
This guide will show you how to generate immersive, natural-sounding dialogue from text using the Text to Dialogue API.
## Using the Text to Dialogue API
<Steps>
<Step title="Create an API key">
[Create an API key in the dashboard here](https://elevenlabs.io/app/settings/api-keys), which youll use to securely [access the API](/docs/api-reference/authentication).
Store the key as a managed secret and pass it to the SDKs either as a environment variable via an `.env` file, or directly in your apps configuration depending on your preference.
```js title=".env"
ELEVENLABS_API_KEY=<your_api_key_here>
```
</Step>
<Step title="Install the SDK">
We'll also use the `dotenv` library to load our API key from an environment variable.
<CodeBlocks>
```python
pip install elevenlabs
pip install python-dotenv
```
```typescript
npm install @elevenlabs/elevenlabs-js
npm install dotenv
```
</CodeBlocks>
</Step>
<Step title="Make the API request">
Create a new file named `example.py` or `example.mts`, depending on your language of choice and add the following code:
<CodeBlocks>
```python maxLines=0
# example.py
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio = elevenlabs.text_to_dialogue.convert(
inputs=[
{
"text": "[cheerfully] Hello, how are you?",
"voice_id": "9BWtsMINqrJLrRacOk9x",
},
{
"text": "[stuttering] I'm... I'm doing well, thank you",
"voice_id": "IKne3meq5aSn9XLyUdCD",
}
]
)
play(audio)
```
```typescript maxLines=0
// example.mts
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";
const elevenlabs = new ElevenLabsClient();
const audio = await elevenlabs.textToDialogue.convert({
inputs: [
{
text: "[cheerfully] Hello, how are you?",
voiceId: "9BWtsMINqrJLrRacOk9x",
},
{
text: "[stuttering] I'm... I'm doing well, thank you",
voiceId: "IKne3meq5aSn9XLyUdCD",
},
],
});
play(audio);
```
</CodeBlocks>
</Step>
<Step title="Execute the code">
<CodeBlocks>
```python
python example.py
```
```typescript
npx tsx example.mts
```
</CodeBlocks>
You should hear the dialogue audio play.
</Step>
</Steps>
## Next steps
Explore the [API reference](/docs/api-reference/text-to-dialogue/convert) for more information on the Text to Dialogue API and its options.