> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Synchronisationsprojekte verwalten

> **Note**
>
> **Anleitung** · Setzt voraus, dass Sie mit dem Erstellen von Synchronisationsprojekten vertraut sind, wie im
> [Dubbing-Schnellstart](/docs/de/eleven-api/guides/cookbooks/dubbing) gezeigt.

Dieser Leitfaden behandelt die Vorgänge zur Verwaltung bestehender Projekte: Sie mit Paginierung auflisten, ein einzelnes Projekt oder eine Sprache abrufen, eine abgelaufene Download-URL aktualisieren und nicht mehr benötigte Projekte und Sprachen löschen.

## Projekte auflisten

Der Listen-Endpunkt verwendet Cursor-Paginierung. Übergeben Sie `page_size` (bis zu 100) und einen optionalen `status`-Filter. Übergeben Sie dann den `next_cursor` der Antwort als `cursor`, um die nächste Seite abzurufen. Ein `next_cursor` von `null` bedeutet, dass Sie das Ende erreicht haben.

```python
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
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

// Fetch every ready project, one page at a time
let cursor: string | undefined = undefined;
while (true) {
  const page = await elevenlabs.dubbing.project.list({
    pageSize: 50,
    status: "ready",
    cursor,
  });
  for (const project of page.projects) {
    console.log(project.projectId, project.reference);
  }
  if (!page.nextCursor) break;
  cursor = page.nextCursor;
}
```

## Ein Projekt oder eine Sprache abrufen

Rufen Sie ein einzelnes Projekt ab, um Status und Medienmetadaten zu lesen, oder eine einzelne Sprache, um ihren Status und ihre Ausgaben zu lesen.

```python
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)
```

```typescript
const projectId = "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3";
const languageId = "lang_1001kwkyxp0je6ktn4knsfrasx5s";

const project = await elevenlabs.dubbing.project.get(projectId);
console.log(project.status, project.languageIds);

const language = await elevenlabs.dubbing.project.language.get(projectId, languageId);
console.log(language.status, language.targetLanguage);
```

## Eine abgelaufene Download-URL aktualisieren

Die signierte URL in `outputs.lossless_audio` ist etwa eine Stunde lang gültig. Sie ist kein permanenter Link. Speichern Sie daher die heruntergeladene Datei statt der URL. Um eine abgeschlossene Synchronisation später erneut herunterzuladen, rufen Sie die Sprache ab, um eine neue URL zu erhalten.

```python
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)
```

```typescript
import { writeFile } from "fs/promises";

const language = await elevenlabs.dubbing.project.language.get(projectId, languageId);
const response = await fetch(language.outputs!.losslessAudio!);
const buffer = Buffer.from(await response.arrayBuffer());
await writeFile("dubbed.wav", buffer);
```

## Projekte und Sprachen löschen

Löschen Sie ein einzelnes Sprachziel, um eine Synchronisation zu entfernen und das Projekt zu behalten. Oder löschen Sie das Projekt, um es zusammen mit allen Sprachen zu entfernen. Das Löschen ist dauerhaft.

```python
# 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)
```

```typescript
// Remove a single language target
await elevenlabs.dubbing.project.language.delete(projectId, languageId);

// Remove the project and all of its languages
await elevenlabs.dubbing.project.delete(projectId);
```