AiSrt: Translate, Extract and Transcribe Your Subtitles Using Artificial Intelligence
A free and open-source tool to make videos accessible in 29 languages — for the deaf, hard of hearing, and all multilingual content enthusiasts

Do you have a video with subtitles in English and would like them in French, Spanish, Arabic, or Japanese? Do you have a movie without any subtitles and need a transcription into a Subrip .srt subtitle? AiSrt is made for you!
AiSrt is a command line tool that uses the power of OpenAI's AI to translate subtitle files .srt, extract embedded subtitle tracks from your video files, and transcribe the audio of a video directly into subtitles. All in just a few seconds.
It does it all! Extracts subtitles from a video, translates them, and even if you have a video that contains no subtitles, it will use OpenAI's Whisper artificial intelligence to automatically convert an audio track into a .srt file! Isn't that a great life!
Why AiSrt?
- Accessibility first — Deaf and hard of hearing individuals deserve easy access to video content. AiSrt allows for quick generation and translation of subtitles, making every video accessible.
- 29 supported languages — Arabic, German, English, Chinese, Korean, Danish, Spanish, Finnish, French, Greek, Hindi, Hebrew, Hungarian, Indonesian, Italian, Japanese, Malay, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Swedish, Czech, Thai, Turkish, Ukrainian, and Vietnamese.
- Intelligent AI translation — Unlike traditional translators, AiSrt understands context, idiomatic expressions, humor, and wordplay to produce natural and fluid subtitles.
- 3 functions in 1 — Translation, extraction, and transcription in a single tool.
- Cross-platform — Works on Windows, Linux, and macOS.
- Automatic dependency download — ffmpeg and whisper.cpp are automatically downloaded if needed.
- NVIDIA GPU support — Automatic detection of your NVIDIA graphics card for ultra-fast transcription via CUDA.
Installation
Prerequisites
- .NET 8.0 Runtime (or higher) — Download the .NET 8.0 Runtime
- An OpenAI API key (for translation only — extraction and transcription do not require one)
Download v1.0.1
- Download the latest release:
- AiSrt for Windows x64
- AiSrt for Linux x64
- AiSrt for macOS (Apple Silicon M1/M2/M3/M4)
- After extraction, open Terminal and run: "chmod +x aisrt" and then "xattr -cr aisrt" (macOS blocks downloaded applications from outside the App Store by default)
- AiSrt for macOS Intel
- After extraction, open Terminal and run: "chmod +x aisrt" and then "xattr -cr aisrt" (macOS blocks downloaded applications from outside the App Store by default)
- Unzip the archive into your chosen folder if you haven't already done so
- Optional: Add the folder to your PATH environment variable to use aisrt from any terminal.
How to Obtain an OpenAI API Key
The OpenAI API key is only necessary for the translation of subtitles. Extraction and transcription work without an API key.
- Go to platform.openai.com and create an account (or log in if you already have one).
- Once logged in, go to API Keys from your profile menu (at the top right).
- Click on « Create new secret key ».
- Name your key (for example: AiSrt) and click on Create.
- Immediately copy the key — it will no longer be visible afterwards.
- Paste the key into the
appsettings.jsonfile in place of"OPENAI_KEY":
{
"OpenAI": {
"ApiKey": "sk-your-api-key-here",
"Model": "gpt-5-mini",
"Temperature": 1
}
}
Tip: You can also store your key in a separate .env file for added security. Enable the "UseSecretEnvFile": true option in appsettings.json and specify the path to your .env file containing the line OPENAI_KEY=sk-your-api-key-here.
Cost: OpenAI charges per usage. Translating subtitles uses very few tokens — expect to pay around a few cents for a full movie with the gpt-5-mini model.
Complete User Guide
General Syntax
aisrt [<file>] [options]All Available Options
| Option | Description | Default Value |
|---|---|---|
<file> | Path to the .srt file to translate or the video file (with --extract or --transcribe) | — |
-t, --target <code> | Target language code for translation | fr (French) |
-s, --source <code> | Source language code for translation | en (English) |
--languages | Displays the list of 29 supported languages with their codes | — |
--streams | Lists the subtitle tracks present in a video file (view only) | — |
--extract | Extracts subtitle tracks from a video file (interactive selection) | — |
--transcribe | Transcribes the audio of a video into a .srt file using whisper.cpp | — |
--version | Displays the software version | — |
-h, --help | Displays help and usage information | — |
1. Translate Subtitles
The main function of AiSrt: to translate a .srt file from one language to another using AI.
# Translate from English to French (default)
aisrt "film.srt"
# Translate from English to Spanish
aisrt "film.srt" -s en -t es
# Translate from French to Japanese
aisrt "film.fr.srt" -s fr -t jaThe translated file is automatically created with the target language code in the name: film.fr.srt, film.es.srt, etc. A backup of the original file is created as .bak.srt.
The translation is done in batches (40 blocks by default) with a progress bar in the terminal. Each batch is saved as it goes, allowing you to resume in case of interruption.
2. List Subtitle Tracks of a Video
Before extracting, you can view the available subtitle tracks in a video file:
aisrt --streams "film.mkv"This displays a table with the stream number, language, codec, and type (text or bitmap) of each subtitle track.
3. Extract Subtitles from a Video
Many video files (MKV, MP4, etc.) contain embedded subtitles. AiSrt allows you to extract them into .srt files:
aisrt --extract "film.mkv"An interactive menu allows you to choose which track to extract, or to extract all tracks in one command. Text subtitles (SRT, ASS, SSA, WebVTT, mov_text) are supported. Bitmap subtitles (PGS, DVD, DVB) are detected and reported.
Note: ffmpeg is automatically downloaded if it is not already present on your system.
4. Transcribe Audio from a Video into Subtitles
No subtitles in your video? No problem! AiSrt can transcribe the audio directly into a .srt file using whisper.cpp:
aisrt --transcribe "film.mkv"On the first launch, AiSrt prompts you to choose a speech recognition model:
- base.en — Fast, good quality for English
- small.en — Good speed/quality compromise
- medium.en — High quality
- large-v3 — Maximum quality, multilingual (recommended for non-English content) - needs 3GB of free space
If you have an NVIDIA graphics card, AiSrt automatically detects it and uses CUDA acceleration for much faster transcription.
Typical Workflow: From Raw Video to Translated Subtitles
Here is a concrete example of complete usage:
# Step 1: Transcribe the English audio into subtitles
aisrt --transcribe "conference.mp4"
# → Generates conference.en.srt
# Step 2: Translate the subtitles into French
aisrt "conference.en.srt" -s en -t fr
# → Generates conference.fr.srt
# Step 3: Translate into Spanish as well
aisrt "conference.en.srt" -s en -t es
# → Generates conference.es.srtIn three commands, you have transformed a video without subtitles into accessible content in three languages!
Supported Languages
| Code | Language | Code | Language | Code | Language |
|---|---|---|---|---|---|
ar | Arabic | cs | Czech | da | Danish |
de | German | el | Greek | en | English |
es | Spanish | fi | Finnish | fr | French |
he | Hebrew | hi | Hindi | hu | Hungarian |
id | Indonesian | it | Italian | ja | Japanese |
ko | Korean | ms | Malay | nl | Dutch |
no | Norwegian | pl | Polish | pt | Portuguese |
ro | Romanian | ru | Russian | sv | Swedish |
th | Thai | tr | Turkish | uk | Ukrainian |
vi | Vietnamese | zh | Chinese |
Use aisrt --languages to display this list at any time.
Advanced Configuration
The appsettings.json file allows you to customize AiSrt's behavior:
- AI Model — Change
"Model"to use another OpenAI model (gpt-4o,gpt-4o-mini, etc.) - Batch Size —
"BatchSize"controls the number of blocks translated per API request (40 by default) - Line Length —
"MaxLineLength"defines the maximum width of a subtitle line (50 characters by default) - Translation Prompt — Customize the instructions given to the AI via
"SystemPrompt"and"UserInstructionPrompt"to tailor the translation to your context (legal, medical, religious, etc.) - Temperature — Adjust the creativity of the translation (1 = balanced, 0.3 = more literal, 1.5 = more creative)
Who is AiSrt for?
- Deaf and hard of hearing individuals who need subtitles to access video content on a daily basis.
- Content creators who want to make their videos accessible to an international audience.
- Teachers and trainers who wish to offer online courses subtitled in multiple languages.
- Professional translators looking for a quick tool to produce a quality first draft.
- Movie and series enthusiasts who want to enjoy content in their preferred language.
- Associations and NGOs that distribute videos internationally.
AiSrt is free, open-source, and ready to use.
Download it, try it, and make your videos accessible to everyone.
Aucun commentaire pour le moment.