3 min read

Whisper: OpenAI's Speech Recognition, Run Locally (GitHub, Scanned)

OpenAI's open speech recognition model: transcribe and translate audio in about 100 languages on your machine.

Whisper logo
✅
Scan: safe. Nothing to warn about. A small, readable code base that verifies the model files it downloads and loads them in PyTorch's safe weights-only mode. Scanned Aug 31, 2026; the full report is below.

Whisper is the speech recognition model OpenAI released in 2022 and the reference code to run it. Give it an audio or video file and it returns a transcript with timestamps, identifies the language, or translates the speech into English. The models come in six sizes, from tiny at 39 million parameters to large at 1.55 billion, plus turbo, a faster version of large-v3 that is the default. Everything runs locally on PyTorch, on a GPU or, slowly, on a CPU.

It is on the list because nearly every open transcription tool starts here: whisper.cpp, faster-whisper, WhisperX and the subtitle features in video editors are ports or wrappers of these weights. The repository itself is small, about 8,000 lines of Python, MIT-licensed, and rarely changes; the latest release is from June 2025. That stability is a feature for a model you want to transcribe with the same results next year.

  • Repository: github.com/openai/whisper
  • Licence: MIT (MIT License)
  • Language: Python. Stars: 109.6K. Forks: 13.3K. Last push: Aug 31, 2026.
  • Scan: safe, Aug 31, 2026, commit 8609812

Who it is for

Journalists, researchers and podcasters who transcribe recordings and want them to stay private, developers adding speech to text to an app, and anyone with a GPU who would rather not pay per minute of audio.

Getting started

1. Install ffmpeg first (sudo apt install ffmpeg on Ubuntu or Debian)

brew install ffmpeg

2. Install Whisper (Python 3.8 to 3.11 with a recent PyTorch)

pip install -U openai-whisper

3. Transcribe with the default turbo model

whisper audio.mp3 --model turbo

4. Translate non-English speech into English (turbo does not translate)

whisper japanese.wav --model medium --language Japanese --task translate

The first run downloads the chosen model from OpenAI's CDN, from about 75 MB for tiny to about 3 GB for large. If pip fails building tiktoken, the README suggests installing Rust and running pip install setuptools-rust.

Safety scan

We cloned openai/whisper at commit 8609812 on Aug 31, 2026 and ran the checks described on the GitHub Tools page: credential patterns, decode-and-execute code, install-time scripts, committed binaries, risky CI workflows, every host the code talks to, known vulnerabilities in pinned dependencies, and project hygiene. A person read every hit. This is what we found.

  • 45 files, about 8,000 lines. No secrets, no pattern hits, no install hooks, no installer scripts, no committed binaries, no bare-IP URLs.
  • The only host the code contacts is openaipublic.azureedge.net, for model weights. Each download is checked against the SHA-256 in its URL before use, and checkpoints are loaded with torch.load(weights_only=True), which closes the pickle route to running code.
  • requirements.txt lists numba, numpy, torch, tqdm, more-itertools, tiktoken and triton without versions and there is no lockfile, so there is nothing for OSV to check; pip installs current versions.
  • Two workflows, none using pull_request_target, and all 3 third-party actions pinned to a commit. Dependabot on; no security policy. The OpenSSF Scorecard is 4.3 of 10, pulled down by low maintenance activity, broad token permissions and no security policy or static analysis, which fits a stable research release more than a risk.

What the scanner counted

CheckResult
SecretsNone found.
Suspicious codeNone found.
Install-time codeNone: nothing runs at install beyond the package manager itself.
Committed binariesNone.
CI workflows2 workflows. None use pull_request_target. 0 of 3 third-party actions pinned to a tag rather than a commit.
Network hosts4 distinct hosts referenced from source; most often openaipublic.azureedge.net, github.com, arxiv.org, www.tysto.com. No URLs to bare IP addresses.
Known vulnerabilitiesNo lockfile to check: dependencies are declared as ranges, so what gets installed is whatever is current on the day.
Project hygieneHas automated dependency updates, licence file. Missing security policy, CodeQL, contributing guide.
OpenSSF Scorecard4.3 out of 10, as of Sep 21, 2026.

By the numbers

Stars109.6K
Forks13.3K
Contributors83
Commits171
Open issues0
Open pull requests154
Releases13
Latest releasev20250625
LicenceMIT
Main languagePython
Project age4 years
Last pushAug 31, 2026
Tracked files45
Lines of code8,028
Checkout size10 MB

Lines by language: Python 4,315, JSON 2,063, Jupyter 960, Markdown 474, YAML 161, TOML 55.

Questions

Is Whisper free?

Yes. The code and the model weights are MIT-licensed and free for any use, including commercial. Running it locally costs only your hardware and electricity. OpenAI's paid transcription API is a separate hosted service, and you do not need an account or key to use this repository.

What hardware do I need to run Whisper?

The README gives approximate VRAM for each size: about 1 GB for tiny and base, 2 GB for small, 5 GB for medium, 6 GB for turbo and 10 GB for large. It runs on a CPU too, but much more slowly; on a laptop without a GPU, whisper.cpp or faster-whisper are the quicker ways to run the same models.

Does Whisper send my audio to OpenAI?

No. This repository runs the model entirely on your machine. The only network call is downloading the model weights the first time you use a size, and those files are checksummed. Your audio and transcripts never leave the computer unless you send them somewhere yourself.


This post is part of GitHub Tools, where every repository is cloned and scanned before it is written up. The scan is a snapshot of one commit on one day; the repository has moved on since, so check it before you install.