Krótkie wprowadzenie do Dubbing API

Dowiedz się, jak dubbingować pliki audio i wideo na różne języki za pomocą Dubbing API.

Ten przewodnik pokazuje, jak utworzyć dubbing pliku multimedialnego w innym języku za pomocą Dubbing API. W tym przykładzie utworzysz projekt dubbingowy z angielskiego pliku audio i wygenerujesz dubbing po hiszpańsku.

Projekt dubbingowy ma dwie części: projekt, który zawiera jedno źródło mediów i jego transkrypt, oraz co najmniej jeden język docelowy, z których każdy tworzy dubbing w jednym języku. Tworzysz projekt, czekasz na transkrypcję źródła, dodajesz język, a potem pobierasz gotowy dubbing.

Utworzenie projektu od razu nalicza opłatę za jeden język — minimalną opłatę za projekt dubbingowy. To przedpłata za pierwszy język docelowy: pierwszy dodany język ją wykorzystuje, a za każdy kolejny język opłata jest naliczana osobno. Szczegóły znajdziesz w artykule Ile kosztuje Dubbing?.

Języki określa się tagami BCP-47, na przykład es lub fr-CA. Wszystkie obsługiwane wartości znajdziesz na liście obsługiwanych języków i dialektów.

Korzystanie z Dubbing API

1

Utwórz klucz API

Utwórz klucz API w panelu tutaj, aby bezpiecznie uzyskać dostęp do API.

Przechowuj klucz jako zarządzany sekret i przekaż go do SDK jako zmienną środowiskową przez plik .env lub bezpośrednio w konfiguracji aplikacji — zależnie od preferencji.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

Zainstaluj SDK

Użyjemy też biblioteki dotenv, aby wczytać klucz API ze zmiennej środowiskowej.

pip install elevenlabs
pip install python-dotenv

Przykład w Pythonie używa biblioteki requests do pobierania dubbingowanego audio. Zainstaluj ją poleceniem pip install requests.

3

Wyślij żądanie API

Utwórz nowy plik o nazwie example.py lub example.mts, zależnie od wybranego języka, i dodaj poniższy kod:

# 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")

Adres URL pobierania w outputs.lossless_audio jest podpisany i wygasa około godzinę po wydaniu. Jeśli wygasł, ponownie pobierz język, aby uzyskać nowy adres URL.

Następnie uruchom:

python example.py

Dubbingowane audio zostanie zapisane jako dubbed.wav w katalogu roboczym.

Obsługa błędów

Jeśli dodanie języka się nie powiedzie, dodaj ten sam język ponownie do istniejącego projektu zamiast tworzyć nowy. Projekt i jego transkrybowane źródło można wykorzystać ponownie, więc ponowienie próby dla języka jest szybsze i pozwala uniknąć ponownego naliczenia minimalnej opłaty za jeden język.

Nowy projekt utwórz tylko wtedy, gdy sam projekt osiągnie status failed podczas przygotowywania — oznacza to, że nie udało się transkrybować jego źródła. Sprawdź plik lub adres URL źródła, a potem utwórz nowy projekt.

W obszarach roboczych Enterprise możesz sprawdzić i poprawić źródłowy transkrypt przed dodaniem języka, co daje dokładniejsze tłumaczenia. Zobacz Dopracowywanie i ponowne generowanie dubbingu.

Kolejne kroki