配音快速入门

了解如何使用配音 API 为音频和视频文件生成多语言配音。

本指南介绍如何使用配音 API 将媒体文件配音为另一种语言。本示例将从英语音频文件创建配音项目,并生成西班牙语配音。

配音项目包含两部分:一个项目,其中包含一份源媒体及其转录文本;以及一个或多个语言目标,每个目标生成单一语言的配音输出。先创建项目,等待其源媒体完成转录,再添加语言,最后下载完成的配音。

创建项目时会预先收取一种语言的费用,这是配音项目的最低收费。 这会预付第一个语言目标:添加的第一个语言将使用这项额度,之后每增加一种 语言都会单独收费。详情请参阅配音费用是多少?。

语言使用 BCP-47 标签指定,例如 es 或 fr-CA。有关所有可接受值,请参阅支持的语言和方言。

使用配音 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

Python 示例使用 requests 库下载配音音频。请使用 pip install requests 安装。

3

发起 API 请求

根据所选语言创建名为 example.py 或 example.mts 的新文件,并添加以下代码:

# example.py
import os
import time
import requests
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
# 1. Create a project from a source URL
project = elevenlabs.dubbing.project.create(
source_url="https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3",
source_language="en",
reference="Quickstart dub",
)
# 2. Wait for the source media to be transcribed
while True:
project = elevenlabs.dubbing.project.get(project.project_id)
if project.status == "ready":
break
if project.status == "failed":
raise RuntimeError("Project preparation failed")
print("Preparing project...")
time.sleep(5)
# 3. Add a Spanish language target
language = elevenlabs.dubbing.project.language.create(
project.project_id,
target_language="es",
)
# 4. Wait for the dub to finish generating
while True:
language = elevenlabs.dubbing.project.language.get(
project.project_id, language.language_id
)
if language.status == "completed":
break
if language.status == "failed":
raise RuntimeError("Dub generation failed")
print("Generating dub...")
time.sleep(5)
# 5. Download the dubbed audio from the signed URL
audio = requests.get(language.outputs.lossless_audio)
with open("dubbed.wav", "wb") as f:
f.write(audio.content)
print("Saved dubbed audio to dubbed.wav")

outputs.lossless_audio 中的下载 URL 已签名,会在签发约 1 小时后 过期。如已过期,请再次获取该语言以取得新的 URL。

然后运行:

python example.py

配音音频将保存到工作目录中的 dubbed.wav。

处理失败情况

如果添加语言失败,请将相同语言再次添加到现有项目,而不是创建新项目。项目及其已转录的源媒体可重复使用,因此重试语言会更快,也能避免再次支付单语言最低费用。

仅当项目本身在准备过程中变为 failed 时才创建新项目,这表示其源媒体无法完成转录。请检查源文件或 URL,然后创建新项目。

企业版工作区可在添加语言前审核和修正源转录文本,从而生成更准确的翻译。请参阅优化并重新生成 配音。

后续步骤