文本转对话快速入门

了解如何从文本生成沉浸式对话。

本指南将介绍如何使用 Text to Dialogue API,从文本生成沉浸感十足、自然流畅的对话。

为确保生成稳定,每次请求中所有 inputs[].text 值的总长度请勿超过 2,000 个字符。请将较长的脚本拆分为多个片段,并在客户端拼接音频。

使用 Text to Dialogue API

1

创建 API 密钥

在控制台创建 API 密钥,用于安全地访问 API。

将密钥存储为托管密钥,并根据需要通过 .env 文件将其作为环境变量传递给 SDK,或直接在应用配置中设置。

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

安装 SDK

我们还会使用 dotenv 库从环境变量加载 API 密钥。

pip install elevenlabs
pip install python-dotenv
3

发起 API 请求

根据所选语言,新建名为 example.py 或 example.mts 的文件,并添加以下代码。 在每个 text 值中添加音频标签,以引导该说话人的表达方式。voice_id 会为同一输入项选择说话人音色。

# example.py
import os
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)

然后运行:

python example.py

你应该会听到播放的对话音频。

WebSocket 流式传输

若要通过长连接增量生成 Eleven v3 模型的对话,请参阅 实时文本转对话。如需比较此 WebSocket 与标准 TTS WebSocket,请参阅 文本转语音与文本转对话 WebSocket 对比。

后续步骤