# Translate a transcript and subtitles into another language

> Translate a transcript into another language while you transcribe, or later. Get bilingual SRT and VTT subtitles with the original timestamps.

Canonical: https://transcript1.com/features/translate-transcript
Last updated: 2026-10-31

transcript1 transcribes the video first, then translates the text segment by segment into the language you choose. You get a translated transcript and bilingual SRT or VTT subtitles that keep the original timestamps. It is text translation, not dubbing.

- One target language per request
- Translation is free: 0 minutes
- Original timestamps and speakers are kept

## Translate while you transcribe, or translate a finished transcript

### Translate while you transcribe

Add translate_to with a two-letter language code to a URL, chunked upload or file upload request. The MCP transcribe tool accepts it too.

### Translate any finished transcript

Request a translation for an existing completed transcription later, without transcribing it again.

### Both languages or only one

Choose both, only or none with the translation parameter. Both is the default.

### Subtitles in two languages

SRT and VTT cues show the original line first and the translation under it, with the original timing.

### Free, and separate from the transcript

Translation uses 0 minutes and appears in your usage history as a free entry. A failed translation never fails the transcript.

## Translate a transcript while you transcribe

Add translate_to, a two-letter ISO 639-1 code, to the request that creates the transcription. wait also waits for the translation. The [translation guide](https://transcript1.com/docs/translation#translate-while-transcribing) covers uploads and MCP.

The transcript is created from the spoken audio or the platform captions as usual. Translation then runs on that text, so the original transcript always exists and stays readable even if the translation is not ready yet.

Only one target language is accepted per request. To get a second language, translate the same transcript again after it completes.

### Transcribe a YouTube video and translate it to Spanish

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

## Translate an existing transcript

POST the language to the transcription. It answers 202 with the translation status. Poll the transcription, or use a webhook. See [Translation](https://transcript1.com/docs/translation#translate-an-existing-transcript) for the status codes.

The transcription must be completed first, otherwise the API returns transcript_not_ready. Repeating the request is safe: a translation that is processing or completed is returned as it is, and a failed one is retried.

Webhooks send transcription.translation.completed or transcription.translation.failed, so your application does not have to poll.

### Translate a completed transcription to English

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

## Choose bilingual, translated-only or original subtitles

Add translation=both, only or none to GET /v1/transcriptions/:id or to a text, SRT or VTT download. The default is both.

With both, JSON segments carry a translation field, text puts the translated line under the original, and each SRT or VTT cue has two lines. With only, the translated text replaces the original and the timestamps and speakers stay the same.

The response also has a translation object with the language and a status of processing, completed or failed. Reading another format of a finished transcript does not use more minutes.

| translation | What you get |
| --- | --- |
| both | Original and translated text together, one pair per segment or cue. |
| only | The translated text in place of the original, with the same timing. |
| none | The original transcript only. |

## What translation does and does not do

Translation is machine translation of the transcript text. Review names, technical terms and quotations before you publish them, and keep the original transcript for comparison.

transcript1 does not dub or voice-translate a video. There is no translated audio, and it does not burn subtitles into a video. You receive text and subtitle files that you can use in your own editor or player.

Translation costs no minutes. Transcription minutes apply as usual, and a failed translation neither fails the transcript nor refunds it.

- [Translation guide](https://transcript1.com/docs/translation)
- [SRT and WebVTT subtitles explained](https://transcript1.com/features/timestamps-srt-vtt)

## Frequently asked questions

### How do I translate a transcript?

Send translate_to with a two-letter language code when you create the transcription, or POST the language to /v1/transcriptions/:id/translations for a finished one.

### Can I get bilingual SRT or VTT subtitles?

Yes. By default each cue shows the original line and the translation under it, with the original timestamps. Use translation=only for the translated text alone.

### Does translation cost minutes?

No. Translation is free and shows in the usage history as a free entry. Transcription minutes apply as usual.

### Does transcript1 dub or voice-translate videos?

No. It translates the transcript text and subtitles. There is no translated audio.

## Related

- [Timestamps and SRT/VTT subtitles](https://transcript1.com/features/timestamps-srt-vtt)
- [Language detection](https://transcript1.com/features/language-detection)
- [Webhooks](https://transcript1.com/features/webhooks)
- [Translation (docs)](https://transcript1.com/docs/translation)
