ダビングクイックスタート

ダビングAPIを使って、音声ファイルとビデオファイルを言語間で吹き替える方法を学びます。

このガイドでは、ダビングAPIを使用してメディアファイルを別の言語に吹き替える方法を説明します。この例では、英語の音声ファイルからダビングプロジェクトを作成し、スペイン語の吹き替えを生成します。

ダビングプロジェクトは2つの要素で構成されます。1つのメディアソースとそのトランスクリプトを保持するプロジェクトと、それぞれが1つの言語で吹き替え出力を生成する1つ以上の言語ターゲットです。プロジェクトを作成し、ソースの文字起こしが完了するのを待ってから言語を追加し、完成した吹き替えをダウンロードします。

プロジェクトを作成すると、ダビングプロジェクトの最低料金として、最初に1言語分の料金が発生します。この料金は最初の言語ターゲットに充当されます。最初に追加する言語で消費され、追加の言語にはそれぞれ別途料金がかかります。詳しくは、ダビングの料金は?を参照してください。

言語は、esやfr-CAなどのBCP-47タグで指定します。使用できるすべての値については、対応言語と方言を参照してください。

ダビング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に保存されます。

失敗への対処

言語の追加に失敗した場合は、新しいプロジェクトを作成するのではなく、既存のプロジェクトに同じ言語を再度追加してください。プロジェクトと文字起こし済みのソースは再利用できるため、言語を再試行する方が速く、1言語分の最低料金を再度支払う必要もありません。

新しいプロジェクトを作成するのは、準備中にプロジェクト自体がfailedになった場合だけです。これはソースを文字起こしできなかったことを意味します。ソースファイルまたはURLを確認してから、新しいプロジェクトを作成してください。

エンタープライズワークスペースでは、言語を追加する前にソーストランスクリプトを確認・修正できるため、より正確な翻訳を生成できます。詳しくは、吹き替えを調整して再生成するを参照してください。

次のステップ