Subtitle Translation

video-subtitle-translations

Initiating Imgix Video

You must set fm=mp4 for Imgix Video parameters to take effect.

Processing time

Subtitle generation and translation are processed on first request and may take a few minutes. While processing, requests to the VTT URL return a 423 status and the subtitles cannot be displayed. Once complete, results are cached according to your source’s Video Cache TTL.

To avoid delays for end users, pre-generate subtitles and translations by requesting each VTT URL as part of your upload or publishing workflow. This warms the cache so all language tracks are ready before your player goes live.

The video-subtitle-translations parameter translates AI-generated subtitles into one or more languages. Pass a comma-separated list of ISO 639-1 or ISO 639-2 language codes. This parameter requires video-generate-subtitles=true to be set.

If a target language matches the detected source language, that translation is skipped automatically.

HLS and DASH Delivery

When using fm=hls or fm=dash, subtitle tracks for each requested language are embedded directly in the manifest. Adaptive players (such as hls.js or native Safari HLS) surface these as selectable subtitle options automatically — no separate <track> elements are needed.

https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=hls&video-generate-subtitles=true&video-subtitle-translations=fr,de

Sidecar VTT Files

For native <video> elements, request a translated VTT file using fm=vtt and the video-vtt-lang parameter. Each language requires a separate <track> element pointing to its own VTT URL.

https://assets.imgix.net/videos/girl-reading-book-in-library.mp4?fm=vtt&video-generate-subtitles=true&video-vtt-lang=ja

Live Demo

The example below loads subtitle tracks in English, Japanese, and French using separate VTT sidecar requests. Use the subtitle menu in the video player to switch between languages.

See the Creating a User Friendly Video Player tutorial for a complete HTML example.