An App Pro feature

AI subtitle translation

Generate translated subtitles for a video and have them play in sync with the picture. When the video has a subtitle track, that track is translated; when it has none, the audio is transcribed first and then translated. The subtitles are saved in the video's own folder, so any other device that opens the same video loads them directly.

Where it works

Which apps have it

The CloudDrive2 apps for iPhone, iPad, Mac, Apple TV, Apple Vision Pro, Windows, Android phones and TVs, and Meta Quest. AI subtitle translation is part of App Pro: buy it once, and every device signed in to the same CloudDrive account has it.

AI translation may not be fully accurate; quality depends on the model you use.

CloudDrive2 does not provide a transcription or translation service

Transcription and translation are done in one of two ways: by the models built into your device, or by external APIs you configure yourself. CloudDrive2 runs no transcription or translation servers and does not call such services on your behalf. To use an external API, you get the API key from the provider yourself, and that provider is responsible for the charges and for how it handles the data.

Translate from

A subtitle track, or the audio

Choose under Translate From. Translating a subtitle track is faster and more accurate than transcribing audio.

  • Auto (prefer subtitle)

    The default. If the video has a subtitle track, that is translated; if not, the audio is transcribed.

  • Subtitle track

    Translates a subtitle the video already has, such as a foreign-language track. Blu-ray PGS subtitles are pictures, so they are read with text recognition (OCR) first and then translated.

  • Audio track

    Transcribes the dialogue, then translates the text into the target language. On 5.1 and 7.1 tracks you can transcribe the dialogue channel only, so music and effects get in the way less.

The Spoken Language is the language spoken in the video; the Target Language is the subtitle language to generate. Both have defaults in Settings and can be changed for each video. Picking the actual spoken language gives more accurate transcription.

Models

Transcription and translation on each platform

Transcription and translation are separate steps, and each can run on the device or through a remote API. On-device models are free, and the audio and subtitle text stay on the device.

PlatformTranscriptionTranslation
iPhone and iPadOn-device (Apple, iOS / iPadOS 26), or a remote APIOn-device (Apple, iOS 18), or a remote API
MacOn-device (Apple, macOS 26), or a remote APIOn-device (Apple, macOS 15), or a remote API
Apple Vision ProOn-device (Apple, visionOS 26), or a remote APIOn-device (Apple Intelligence, visionOS 26), or a remote API
Apple TVOn-device (Apple, tvOS 26), or a remote APIRemote API only
WindowsOn-device (Whisper, model downloaded to the PC), or a remote APIA remote API. Translation into English can be done on the PC by Whisper itself
Android phones, tablets and TVsOn-device (Whisper, with GPU acceleration), or a remote APIOn-device (ML Kit), or a remote API
Meta QuestOn-device (Whisper), or a remote APIA remote API is recommended

Whisper models

On-device transcription on Windows, Android and Quest uses Whisper, in Tiny, Base, Small, Medium and Turbo sizes. A larger model runs slower and takes more storage; see the comparison below for how accurate each one is. Download one in Settings before first use.

With GPU acceleration set to Auto on Android, the app measures the GPU and the CPU on your device and uses whichever is faster.

Apple on-device models

iPhone, iPad, Mac and Vision Pro use the speech recognition and translation models built into the system. The first time you use a language, its language model is downloaded; progress shows in the setup wizard.

Apple TV has no on-device translation model. Set up a remote API on the Apple TV, or generate the subtitles on an iPhone, iPad or Mac first — see saving and reuse.

Transcription accuracy compared

The table below is from one measured test: a 10-minute clip of a Japanese film (Yasujirō Ozu's Tokyo Story, with both dialogue and music), with each result compared character by character against a hand-checked Japanese transcript. A lower error rate is more accurate; lines recognised is the share of the checked lines that were picked up; timing offset is the median gap between when a subtitle appears and when the line is actually spoken.

TranscriptionRuns onError rateLines recognisedTiming offsetCost
Qwen qwen-audio-3.0-asr-flashRemote API12.2%100%0.22 s¥0.00022/s, about ¥0.79/h (Beijing); ¥0.00026/s, about ¥0.94/h (Singapore)
Qwen qwen-audio-3.1-asr-flashRemote API12.3%94%0.20 sBilled by token: input ¥0.8, output ¥2.7 per million tokens (Beijing); input ¥1.094, output ¥3.427 per million tokens (Singapore)
Apple on-deviceiPhone, iPad, Mac and others13.9%92%1.20 sFree
Qwen fun-asr-flashRemote API18.4%¥0.00022/s, about ¥0.79/h (Beijing); ¥0.00026/s, about ¥0.94/h (Singapore)
Qwen qwen3-asr-flashRemote API24.6%, with repeated output during music¥0.00022/s, about ¥0.79/h (Beijing); ¥0.00026/s, about ¥0.94/h (Singapore)
Whisper TurboOn-device24.5%Free
Whisper SmallOn-device32.8%Free
Whisper MediumOn-device35.0%, with repeated outputFree
Whisper BaseOn-device43.4%Free
Whisper TinyOn-device71.7%, with repeated outputFree

These are results for one film in one language; other films and languages will differ. A dash means the value was not measured.

Costs are Alibaba Cloud Model Studio list prices as of 24 September 2026, in RMB, billed on the length of audio sent to the service (music with no dialogue included); hourly figures are converted from the per-second price. The Beijing region includes 10 free hours within 90 days of activation (1 million tokens for qwen-audio-3.1-asr-flash). Prices can change; see Model Studio pricing. Translation is billed separately: in this test, translating with qwen3.8-flash cost about ¥0.05 per hour of film. On-device models run on your own device and have no service charge.

Only a few Qwen models were tested as remote APIs. Other remote services were not tested, and they may do better or worse. The table only compares on-device models with remote APIs; it does not mean we recommend Qwen as a remote API.

qwen-audio-3.0-asr-flash, qwen-audio-3.1-asr-flash and fun-asr-flash will be available in a future release; the current version cannot use them yet.

About on-device Whisper recognition

On Windows, Android and Quest, the smaller models that can keep up (Tiny, Base, Small) often mishear dialogue, especially under background music and in languages other than English, and may repeat a phrase or invent lines during music. Turbo is more accurate, but too slow on most phones and TV boxes to keep up with playback, and on a computer it needs a capable graphics card to keep up. Medium is just as slow, and in the test above it was no more accurate than Small.

For accurate subtitles, use a remote speech recognition API, or generate the subtitles with Apple on-device recognition on an iPhone, iPad or Mac, save them next to the video, and watch on the other device.

Remote APIs

Using a remote API

In the Live Translation settings, transcription and translation each get their own provider, endpoint, model and API key, and the two can use different providers. The app has presets for the services below: pick one and the endpoint and default model are filled in, so only the API key is left. You can also type an endpoint and a model directly instead of picking from the list.

Built-in translate providers

Translation uses an OpenAI-compatible chat completions endpoint. The first model listed for each provider is the default.

Translate providerPreset models
OpenAIgpt-5.6-luna, gpt-5.6-terra, gpt-5.6-sol, gpt-4o-mini
DeepSeekdeepseek-v4-flash, deepseek-v4-pro
Google Geminigemini-3.7-flash, gemini-3.5-flash-lite, gemini-3.6-flash, gemini-2.5-flash
xAI (Grok)grok-4.6, grok-4.5
Groqopenai/gpt-oss-20b, openai/gpt-oss-120b, qwen/qwen3.6-27b
OpenRoutergoogle/gemini-3.7-flash, deepseek/deepseek-v4-flash, z-ai/glm-5.3-flash, qwen/qwen3.8-flash
Mistralmistral-small-latest, mistral-medium-latest, mistral-large-latest
SiliconFlowdeepseek-ai/DeepSeek-V4-Flash, Qwen/Qwen3.5-35B-A3B, deepseek-ai/DeepSeek-V4-Pro
Anthropic (Claude)claude-haiku-4-5, claude-sonnet-5, claude-opus-5
Qwen (Intl / China)qwen3.8-flash, qwen-flash, qwen-plus, qwen3.8-max
Zhipu (BigModel)glm-4.7-flash, glm-5.3-flash, glm-4.7-flashx, glm-5.3
Ollama (local)qwen3.8, gemma3, glm-5.3-flash, llama3.2
LM Studio (local)local-model
MTranServer (self-hosted)Your own translation server; no model to choose — enter the server URL and token (the token is optional)

Built-in transcribe providers

Transcription uses an OpenAI-compatible audio transcriptions endpoint.

Transcribe providerPreset models
OpenAI Whisperwhisper-1, gpt-transcribe, gpt-4o-transcribe, gpt-4o-mini-transcribe
Groqwhisper-large-v3-turbo, whisper-large-v3
Speaches (self-hosted)Systran/faster-whisper-base, deepdml/faster-whisper-large-v3-turbo-ct2, Systran/faster-whisper-large-v3, Systran/faster-whisper-small, Systran/faster-whisper-tiny
Qwen3-ASR (Intl / China)qwen3-asr-flash
Zhipu (BigModel)glm-asr-2512

Whisper models (for example whisper-1 and whisper-large-v3-turbo) return a time for each sentence, so subtitles line up with the speech more closely. Other transcription models return a whole passage at once, so each subtitle's timing is less precise.

Using your own endpoint

  • Translation: any OpenAI-compatible chat service works. Enter the full address under Translate endpoint, for example https://api.example.com/v1/chat/completions, and the model name from the provider's documentation under Translate model.
  • Transcription: set Transcribe provider to Custom and enter the full address of an OpenAI-compatible audio transcriptions endpoint, for example https://api.example.com/v1/audio/transcriptions, and the model name.
  • MTranServer: set Translate provider to MTranServer and fill in MTranServer URL and MTranServer token.
  • Qwen: the international and China endpoints are different; pick the one for the region your API key belongs to.
  • Ollama and LM Studio: the preset address is localhost, which only works on the computer running them. On a phone, TV or any other device, replace localhost with that computer's LAN IP address.
  • Speaches: the preset has no address; enter your own server's. On a local network the API key can be left empty.

Once it is filled in, use Test transcription and Test translation to check the endpoint works. Subtitle lines are short and requests are frequent, so the lighter models near the top of each list are faster and cheaper, and usually a better fit than large reasoning models.

API keys are stored on the device only. Charges for a remote service are billed by that provider, not by CloudDrive2. The preset providers and models change with app updates; the app shows the current list.

Getting started

Start translating in the player

Turn on Live AI Subtitles under Live Translation in Settings, then play a video.

  1. Open the subtitle menu

    In the player's subtitle menu, find the AI Translated section and choose Enable.

  2. Follow the wizard

    Three steps: choose the spoken and target languages (downloading a language model if needed), choose what to translate from, and choose the output format. Then choose Start.

  3. Subtitles generate as you watch

    Subtitles are generated from the current position, with progress shown as Translating and a percentage; once the whole video is done it shows Ready. After a seek, the new position is generated first.

Starting automatically

  • Auto-enable for videos without subtitles: a video with no subtitle track starts AI translation on its own, using the defaults in Settings.
  • Continue across playlist: in a playlist, each next video is translated with the same settings until you turn it off.

Output

SRT or ASS

Choose for the current video in the wizard's third step, Output format, or set the default under Output Format in the Live Translation settings.

  • SRT

    Plain-text subtitles with the translation only. Almost every player and TV can read them, so choose SRT if you also want to use the file in other players.

  • ASS (styled)

    Subtitles with a set font, size and colour. Only ASS can turn on Dual language (show original), which shows the translation and the original together.

Dual language (show original)

With ASS chosen, tick Dual language (show original) in the wizard, or turn it on in Settings. Each subtitle then has two lines: the translation on top, white, larger and bold; the original underneath, yellow and smaller. The original comes from what you translate from: the source subtitle's text when translating a subtitle track, or the transcription when translating the audio. Useful for learning a language, or for checking the translation.

Other display settings

SettingWhat it does
Wrap long lines / Max characters per lineSplits an over-long subtitle line into several
Subtitle delayShows AI subtitles later, or earlier with a negative value. Increase it if subtitles appear a little before the voice. On-device and remote transcription each have their own value

A subtitle saved next to the video is named video name.target-language code.ai.srt or .ai.ass, for example Movie.zh-Hans.ai.ass.

Saving

Saving and reuse

With Save subtitles next to video on, the subtitle file is written to the video's cloud folder, with the same name as the video.

Loading on other devices

Once the subtitle sits next to the video, CloudDrive2 on any device loads it as an external subtitle when it opens that video — nothing is generated again. Other players can read the file too.

For example: generate the subtitles on a Mac with the on-device models, then watch the same video on Apple TV.

Resuming after an interruption

If you leave playback part-way, what has been translated is kept in this device's subtitle cache and the next run continues from there. When the translation service stops responding, what was translated is kept as well, and you can try again.

Regenerate in the subtitle menu discards this video's cache and translates again from the start; Remove translation stops and deletes it. Subtitle cache in Settings clears every cache on this device; subtitles already saved next to your videos are not affected.

Emby / Jellyfin

In the media client

AI subtitle translation also works when you play a server's videos through the app's built-in Emby / Jellyfin client, in the same way as for cloud files: enable AI Translated in the player's subtitle menu. Where the finished subtitles are saved depends on the kind of server.

ServerWhere the generated subtitles are saved
JellyfinUploaded to the Jellyfin server as an external subtitle for that video. From then on, any Jellyfin client playing the video can pick it
EmbyEmby has no API for uploading subtitles. If the server has Direct streaming turned on and Path mappings configured, the subtitle is written to the video's cloud folder. If the CloudDrive2 companion plugin is installed on the Emby server, the app tells Emby to refresh that video as soon as the translation finishes, and the new subtitle can be picked straight away; without the plugin, Emby shows it after its next library scan
No path mappingThe subtitle is kept only in this device's subtitle cache and used when you play the video again here

Uploading to a Jellyfin server is currently offered on iPhone, iPad, Mac, Apple TV, Vision Pro and Android. On Windows, subtitles for a direct-streamed video are written to the video's cloud folder; otherwise they are kept on the device only.

Whole folders

Generating subtitles for a whole folder

Choose Generate AI Subtitles from a folder's or a video's menu. Subtitles are generated one by one in the background, without playing the videos, and saved next to each one.

  • Include subfolders: also processes videos inside subfolders.
  • Skip videos that already have subtitles: skips a video with an embedded text subtitle, or with a matching .srt / .ass next to it.
  • Include disc images (Blu-ray/DVD ISO): also processes .iso files in the folder.
  • Low priority (background): generates more slowly, using less CPU and network.

The jobs are listed under AI Subtitles on the Transfers page, where you can pause, resume, retry or cancel them all.

The last two options are currently offered on iPhone, iPad and Mac.

Privacy

Where the data goes

When transcription and translation both run on the device, the audio and subtitle text never leave it.

With a remote API, audio segments or subtitle text are sent to the service you configured and handled under that service's own privacy policy. We neither receive nor proxy this data. See the privacy policy.

FAQ

Frequently asked questions

What do I need to buy?

AI subtitle translation is part of App Pro. App Pro is tied to your CloudDrive account: buy it once and it works on every platform where you sign in with that account. Prices are on the pricing page. A remote API's own charges are billed separately by that provider.

Subtitles appear before or after the voice

Adjust Subtitle delay under Live Translation in Settings. If subtitles come before the voice, increase it; if they come after, lower it or set a negative value. On-device and remote transcription each have their own value.

The subtitles stay in the original language

If the device has no on-device translation model and no valid remote endpoint and key are set, subtitles are shown in the original spoken language. Apple TV and Windows need a remote translation API; on iPhone, iPad or Mac, check that the system meets the version in the table above and that the language model has been downloaded.

The Whisper model downloads slowly or stops

The app tries several download sources in turn, including a mirror for mainland China. Downloading again after an interruption continues from where it stopped, and the finished file is verified; a file that fails verification is downloaded again.

Translation cannot keep up with playback

Transcribing audio is much slower than translating a subtitle track. If the video has subtitles, set Translate From to Auto (prefer subtitle) or Subtitle track. When transcribing, try a smaller Whisper model, turn on GPU acceleration on Android, or use a remote transcription service. You can also generate the subtitles in the background first and watch afterwards.

How do I use on-device models for Apple TV?

Apple TV has no on-device translation model. Generate the subtitles for that video on an iPhone, iPad or Mac with Save subtitles next to video on; Apple TV loads them when it opens the same video.

Report a problem

File problems as GitHub issues, where they are recorded and tracked; you can also report them in the Telegram group or by email.