Hoppa till navigering

Hantera dubbningsprojekt

Lista, hämta och ta bort dubbningsprojekt och deras språkmål.

Instruktionsguide · Förutsätter att du är bekant med att skapa dubbningsprojekt, enligt snabbstarten för dubbning.

Den här guiden beskriver de åtgärder du behöver för att hantera befintliga projekt: lista dem med paginering, hämta ett enskilt projekt eller språk, förnya en utgången nedladdnings-URL och ta bort projekt och språk som du inte längre behöver.

Lista projekt

Liständpunkten är sidindelad med en markör. Skicka page_size (upp till 100) och ett valfritt status-filter, och skicka sedan svarets next_cursor som cursor för att hämta nästa sida. next_cursor med värdet null innebär att du har nått slutet.

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

Hämta ett projekt eller språk

Hämta ett enskilt projekt för att läsa dess status och mediemetadata, eller ett enskilt språk för att läsa dess status och utdata.

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)

Förnya en utgången nedladdnings-URL

Den signerade URL:en i outputs.lossless_audio är giltig i ungefär en timme. Den är inte en permanent länk, så spara den nedladdade filen i stället för URL:en. Om du vill ladda ned en färdig dubbning igen senare hämtar du språket för att få en ny URL.

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)

Ta bort projekt och språk

Ta bort ett enskilt språkmål för att ta bort en dubbning medan projektet behålls, eller ta bort projektet för att ta bort det och alla dess språk. Borttagning är 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)