Skip to navigation

Dubbing quickstart

Leer hoe je audio- en videobestanden in verschillende talen nasynchroniseert met de Dubbing API.

Deze handleiding laat zien hoe je een mediabestand met de Dubbing API naar een andere taal nasynchroniseert. In dit voorbeeld maak je een nasynchronisatieproject op basis van een Engels audiobestand en genereer je een Spaanse nasynchronisatie.

Een nasynchronisatieproject bestaat uit twee delen: een project, dat één mediabron en het bijbehorende transcript bevat, en één of meer doeltalen, die elk een nagesynchroniseerde output in één taal produceren. Je maakt een project, wacht tot de bron is getranscribeerd, voegt een taal toe en downloadt vervolgens de voltooide nasynchronisatie.

Voor het maken van een project worden vooraf kosten voor één taal in rekening gebracht — de minimumkosten voor een nasynchronisatieproject. Hiermee betaal je je eerste doeltaal vooraf: de eerste taal die je toevoegt gebruikt deze kosten, en voor elke aanvullende taal worden afzonderlijk kosten in rekening gebracht. Zie Wat kost Dubbing? voor meer informatie.

Talen worden opgegeven als BCP-47-tags, bijvoorbeeld es of fr-CA. Bekijk de ondersteunde talen en dialecten voor alle geaccepteerde waarden.

De Dubbing API gebruiken

1

Een API-sleutel maken

Maak hier een API-sleutel in het dashboard, die je gebruikt voor veilige toegang tot de API.

Sla de sleutel op als beheerd geheim en geef deze aan de SDK’s door als omgevingsvariabele via een .env-bestand, of rechtstreeks in de configuratie van je app, afhankelijk van je voorkeur.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

De SDK installeren

We gebruiken ook de dotenv-bibliotheek om onze API-sleutel uit een omgevingsvariabele te laden.

pip install elevenlabs
pip install python-dotenv

Het Python-voorbeeld gebruikt de requests-bibliotheek om de nagesynchroniseerde audio te downloaden. Installeer deze met pip install requests.

3

De API-aanvraag uitvoeren

Maak een nieuw bestand met de naam example.py of example.mts, afhankelijk van de taal van je keuze, en voeg de volgende code toe:

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

De download-URL in outputs.lossless_audio is ondertekend en verloopt ongeveer een uur nadat deze is uitgegeven. Haal de taal opnieuw op om een nieuwe URL te krijgen als de URL is verlopen.

Voer het vervolgens uit:

python example.py

De nagesynchroniseerde audio wordt opgeslagen als dubbed.wav in je werkmap.

Omgaan met fouten

Als het toevoegen van een taal niet lukt, voeg je dezelfde taal opnieuw toe aan het bestaande project in plaats van een nieuw project te maken. Het project en de getranscribeerde bron kunnen opnieuw worden gebruikt, dus de taal opnieuw proberen is sneller en voorkomt dat je de minimumkosten voor één taal een tweede keer betaalt.

Maak alleen een nieuw project als het project zelf tijdens de voorbereiding de status failed krijgt. Dit betekent dat de bron niet kon worden getranscribeerd. Controleer het bronbestand of de URL en maak vervolgens een nieuw project.

Enterprise-workspaces kunnen het brontranscript controleren en corrigeren voordat ze een taal toevoegen, wat nauwkeurigere vertalingen oplevert. Zie Een nasynchronisatie verfijnen en opnieuw genereren.

Volgende stappen