# Traduction

> Traduisez une transcription dans une autre langue pendant la transcription ou plus tard, et lisez le texte, le SRT et le VTT bilingues ou traduits seuls.

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

transcript1 transcrit d'abord le média, puis traduit le texte de la transcription dans une langue de votre choix. La traduction est alignée segment par segment et garde les horodatages et les locuteurs d'origine. C'est uniquement de la traduction de texte : pas de doublage ni d'audio traduit.

La traduction est gratuite. Elle utilise 0 minute et apparaît dans votre historique d'utilisation comme une entrée gratuite « Translation ». Les minutes de transcription s'appliquent comme d'habitude, et une traduction en échec ne fait jamais échouer la transcription ni ne la rembourse.

## Traduire pendant la transcription

Ajoutez `translate_to` à la requête qui crée la transcription. C'est un code ISO 639-1 à deux lettres en minuscules, par exemple `es` ou `en`. Il fonctionne avec un lien vidéo dans le corps JSON de `POST /v1/transcriptions`, avec la réservation d'un import par morceaux et avec un import multipart en une seule requête.

```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"}'
```

Pour un import de fichier, envoyez `translate_to` comme champ de formulaire :

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

L'outil MCP `transcribe` accepte aussi `translate_to`. Une langue cible par requête.

## Traduire une transcription existante

Demandez la traduction d'une transcription terminée :

```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"}'
```

L'API répond `202` :

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

| Statut | Signification |
|---|---|
| `404` | La transcription est introuvable. |
| `409 transcript_not_ready` | La transcription n'est pas encore `completed`. |
| `422` | La langue n'est pas un code valide à deux lettres. |

L'appel est idempotent. Une traduction `processing` ou `completed` est renvoyée telle quelle, et une traduction `failed` est relancée. L'outil MCP `translate_transcription` prend `id` et `language`.

## Lire la traduction

`GET /v1/transcriptions/:id` et les téléchargements texte, SRT et VTT acceptent `translation` :

| `translation` | Résultat |
|---|---|
| `both` (par défaut) | Les segments JSON reçoivent un champ `translation`. Le texte place la ligne traduite sous l'originale. Les blocs SRT et VTT ont deux lignes : l'original, puis la traduction. |
| `only` | Le texte traduit remplace `text`. Les horodatages et les locuteurs restent identiques. |
| `none` | La transcription d'origine uniquement. |

La réponse contient un objet `translation`, ou `null` si aucune traduction n'a été demandée :

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

`status` vaut `processing`, `completed` ou `failed`. Une traduction en échec contient aussi un message `error`. `wait` attend aussi la traduction demandée ; si le délai expire, le statut est `processing`. L'outil MCP `get_transcription` a un paramètre `translation` avec les mêmes valeurs.

## Webhooks

Deux événements signalent le résultat d'une traduction, en plus de `transcription.completed` et `transcription.failed`, qui ne changent pas :

| `type` | Envoyé quand |
|---|---|
| `transcription.translation.completed` | Une traduction demandée a atteint `completed`. |
| `transcription.translation.failed` | Une traduction demandée a atteint `failed`. |

`data` est l'objet de transcription plus `translation: { language, status, error }`. Consultez [Webhooks](https://transcript1.com/fr/docs/webhooks) pour les signatures et les règles de livraison.
