# Übersetzung

> Übersetze ein Transkript beim Transkribieren oder später in eine andere Sprache und rufe zweisprachigen oder nur übersetzten Text, SRT und VTT ab.

Canonical: https://transcript1.com/de/docs/translation
Language: de
Last updated: 2026-10-31

transcript1 transkribiert die Medien zuerst und übersetzt den Transkripttext dann in eine Sprache deiner Wahl. Die Übersetzung wird pro Segment zugeordnet und behält die ursprünglichen Zeitstempel und Sprecher. Es ist reine Textübersetzung: keine Synchronisation und kein übersetztes Audio.

Die Übersetzung ist kostenlos. Sie verbraucht 0 Minuten und steht in deinem Nutzungsverlauf als kostenloser Eintrag "Translation". Transkriptionsminuten fallen wie gewohnt an. Eine fehlgeschlagene Übersetzung lässt das Transkript nie fehlschlagen und erstattet es nicht.

## Beim Transkribieren übersetzen

Ergänze `translate_to` in der Anfrage, die die Transkription anlegt. Das ist ein zweistelliger ISO 639-1-Code in Kleinbuchstaben, etwa `es` oder `en`. Er funktioniert mit einem Videolink im JSON-Body von `POST /v1/transcriptions`, bei der Reservierung eines Chunk-Uploads und bei einem Multipart-Upload in einem Schritt.

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "translate_to": "es"}'
```

Bei einem Datei-Upload sendest du `translate_to` als Formularfeld:

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -F file=@interview.m4a \
  -F translate_to=en
```

Das MCP-Tool `transcribe` akzeptiert `translate_to` ebenfalls. Pro Anfrage gibt es eine Zielsprache.

## Ein vorhandenes Transkript übersetzen

Fordere die Übersetzung einer abgeschlossenen Transkription an:

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/translations" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language": "en"}'
```

Die API antwortet mit `202`:

```json
{
  "transcription_id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
  "language": "en",
  "status": "processing"
}
```

| Status | Bedeutung |
|---|---|
| `404` | Die Transkription wurde nicht gefunden. |
| `409 transcript_not_ready` | Die Transkription hat noch nicht den Status `completed`. |
| `422` | Die Sprache ist kein gültiger zweistelliger Code. |

Der Aufruf ist idempotent. Eine Übersetzung mit `processing` oder `completed` wird unverändert zurückgegeben, eine mit `failed` wird erneut gestartet. Das MCP-Tool `translate_transcription` erwartet `id` und `language`.

## Die Übersetzung abrufen

`GET /v1/transcriptions/:id` und die Downloads als Text, SRT und VTT akzeptieren `translation`:

| `translation` | Ergebnis |
|---|---|
| `both` (Standard) | JSON-Segmente erhalten ein Feld `translation`. Der Text zeigt die übersetzte Zeile unter dem Original. SRT- und VTT-Blöcke haben zwei Zeilen: erst das Original, dann die Übersetzung. |
| `only` | Der übersetzte Text ersetzt `text`. Zeitstempel und Sprecher bleiben gleich. |
| `none` | Nur das Originaltranskript. |

Die Antwort enthält ein Objekt `translation`, oder `null`, wenn keine Übersetzung angefordert wurde:

```json
{
  "translation": { "language": "es", "status": "completed" }
}
```

`status` ist `processing`, `completed` oder `failed`. Bei einer fehlgeschlagenen Übersetzung steht zusätzlich eine `error`-Meldung. `wait` wartet auch auf eine angeforderte Übersetzung. Läuft die Wartezeit ab, lautet der Status `processing`. Das MCP-Tool `get_transcription` hat einen Parameter `translation` mit denselben Werten.

## Webhooks

Zwei Events melden das Ergebnis einer Übersetzung, zusätzlich zu `transcription.completed` und `transcription.failed`, die sich nicht ändern:

| `type` | Gesendet, wenn |
|---|---|
| `transcription.translation.completed` | Eine angeforderte Übersetzung `completed` erreicht hat. |
| `transcription.translation.failed` | Eine angeforderte Übersetzung `failed` erreicht hat. |

`data` ist das Transkriptionsobjekt plus `translation: { language, status, error }`. Signaturen und Zustellregeln stehen unter [Webhooks](https://transcript1.com/de/docs/webhooks).
