Skip to navigation

Nasynchronisatieprojecten beheren

Lijst, haal op en verwijder nasynchronisatieprojecten en hun doeltalen.

Handleiding · Hierbij wordt ervan uitgegaan dat je bekend bent met het maken van nasynchronisatieprojecten, zoals getoond in de Dubbing quickstart.

Deze handleiding behandelt de bewerkingen die je nodig hebt om bestaande projecten te beheren: ze weergeven met paginering, één project of taal ophalen, een verlopen download-URL vernieuwen en projecten en talen verwijderen die je niet meer nodig hebt.

Projecten weergeven

Het list-endpoint gebruikt cursorpaginering. Geef page_size door (maximaal 100) en eventueel een status-filter, en geef vervolgens de next_cursor uit de response door als cursor om de volgende pagina op te halen. Een next_cursor van null betekent dat je het einde hebt bereikt.

import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))
# Fetch every ready project, one page at a time
cursor = None
while True:
page = elevenlabs.dubbing.project.list(
page_size=50,
status="ready",
cursor=cursor,
)
for project in page.projects:
print(project.project_id, project.reference)
if page.next_cursor is None:
break
cursor = page.next_cursor

Een project of taal ophalen

Haal één project op om de status en mediametadata te lezen, of één taal om de status en outputs te lezen.

project_id = "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3"
language_id = "lang_1001kwkyxp0je6ktn4knsfrasx5s"
project = elevenlabs.dubbing.project.get(project_id)
print(project.status, project.language_ids)
language = elevenlabs.dubbing.project.language.get(project_id, language_id)
print(language.status, language.target_language)

Een verlopen download-URL vernieuwen

De ondertekende URL in outputs.lossless_audio is ongeveer een uur geldig. Het is geen permanente link, dus sla het gedownloade bestand op in plaats van de URL. Als je een voltooide nasynchronisatie later opnieuw wilt downloaden, haal je de taal op om een nieuwe URL te krijgen.

import requests
language = elevenlabs.dubbing.project.language.get(project_id, language_id)
audio = requests.get(language.outputs.lossless_audio)
with open("dubbed.wav", "wb") as f:
f.write(audio.content)

Projecten en talen verwijderen

Verwijder één doeltaal om één nasynchronisatie te verwijderen terwijl je het project behoudt, of verwijder het project om het samen met alle talen te verwijderen. Verwijderen is permanent.

# Remove a single language target
elevenlabs.dubbing.project.language.delete(project_id, language_id)
# Remove the project and all of its languages
elevenlabs.dubbing.project.delete(project_id)