Auto-captions are fine, but a clean subtitle file helps viewers who watch on mute, helps non-native speakers, and gives you an exact transcript you can reuse for descriptions, blog posts or Shorts. You do not need a paid tool for this. OpenAI's open-source Whisper speech recognition model runs on your own computer and writes ready-to-upload .srt files.
Everything below is taken from the official Whisper README and the command-line options in its source code, checked on October 26, 2026.
What you need
- Python 3.8 to 3.11 (the README says the code is expected to work with these versions) and
pip. - ffmpeg, the free command-line tool Whisper uses to read audio and video files.
- Enough memory for the model you choose (see the table below). A GPU makes it much faster but is not required for the smaller models.
Step 1: Install ffmpeg and Whisper
Install ffmpeg with your system's package manager:
# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Windows (Chocolatey)
choco install ffmpeg
Then install Whisper:
pip install -U openai-whisper
If the install fails while building tiktoken, the README suggests installing Rust, or running pip install setuptools-rust if you see No module named 'setuptools_rust'.
Step 2: Pick a model
Whisper comes in several sizes. Bigger models are usually more accurate but slower and need more memory. These are the official figures (speed is relative to large, measured on English speech on an A100 GPU, so your results will differ):
| Model | Parameters | English-only version | Approx. VRAM | Relative speed |
|---|---|---|---|---|
| tiny | 39 M | tiny.en | ~1 GB | ~10x |
| base | 74 M | base.en | ~1 GB | ~7x |
| small | 244 M | small.en | ~2 GB | ~4x |
| medium | 769 M | medium.en | ~5 GB | ~2x |
| large | 1550 M | none | ~10 GB | 1x |
| turbo | 809 M | none | ~6 GB | ~8x |
Practical rules from the README:
- turbo is the default and an optimized version of
large-v3: fast, with minimal accuracy loss. Good first choice. - For English-only content on a weak machine, the
.enmodels (especiallytiny.enandbase.en) tend to perform better than their multilingual twins. - turbo cannot translate. For translation, use
mediumorlarge.
Step 3: Generate the SRT file
Put your video or audio in a folder and run:
whisper my-video.mp4 --model turbo --output_format srt --output_dir subs
Whisper reads the file through ffmpeg, so you can pass the video directly. You get subs/my-video.srt. Other useful options:
--output_format vttfor WebVTT, orall(the default) to get txt, vtt, srt, tsv and json at once.--language Vietnamese(or any supported language) to skip auto-detection, which helps on short or noisy clips.--model medium --language Japanese --task translateto create English subtitles from non-English speech.whisper --helplists every option.
Tip: open the SRT in any text editor and fix names, brand terms and numbers before uploading. Whisper is good, but accuracy varies by language and audio quality, and proper nouns are the most common mistakes.
Step 4: Upload the subtitles to YouTube
- Open YouTube Studio and go to Subtitles.
- Choose the video and the language.
- Pick Upload file, then With timing, and select your
.srtfile. - Preview, then publish.
YouTube's help page on supported subtitle files lists SubRip (.srt) and WebVTT (.vtt) among the accepted formats.
Bonus: reuse the transcript
The .txt output is a full transcript. You can paste it into your video description, turn it into a blog post, or use it to find the strongest moments for short clips. If you would rather have a tool find and caption clips for you, see our guide on turning a long video into Shorts with OpusClip.
Prefer not to use the command line?
You can run the same code in Python:
import whisper
model = whisper.load_model("turbo")
result = model.transcribe("my-video.mp4")
print(result["text"])
The README also links an official Colab notebook if your computer is too slow; note that Colab runs on Google's servers, so your audio is uploaded there.
Related guides
Frequently asked questions
Is Whisper really free?
+
Yes. OpenAI released Whisper's code and model weights under the MIT License. Running it on your own computer costs nothing beyond your hardware and electricity.
Does Whisper need an internet connection?
+
Only to install it and download a model the first time. After that, transcription runs locally, so your audio does not have to be uploaded anywhere.
Which Whisper model should I use?
+
Start with the default turbo model for transcription. If you want to translate non-English speech into English, use a multilingual model such as medium or large, because the turbo model is not trained for translation.
Can I upload Whisper's SRT file to YouTube?
+
Yes. YouTube Studio accepts SubRip (.srt) and WebVTT (.vtt) files, both of which Whisper can write. Use Subtitles in YouTube Studio and choose to upload a file with timing.

