Translate a transcript and subtitles into another language

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

translationWhat you get
bothOriginal and translated text together, one pair per segment or cue.
onlyThe translated text in place of the original, with the same timing.
noneThe 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.

Start with 60 free minutes

60 free minutes after you verify your email. No card required.

Get your API key

Frequently asked questions

Something missing? Ask support

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.