# whisper.cpp

Open-source C/C++ port of OpenAI Whisper that transcribes audio to text locally, from a CLI or an HTTP server.

- Provider: ggml-org (https://github.com/ggml-org/whisper.cpp)
- Category: Transcribe audio
- Type: Runs on your machine
- Pricing model: Free, open-source (MIT licence) [2]
- Free tier: Everything is free; no account [2]
- Authentication: None: runs on your machine [1]
- Connect via: CLI (`whisper-cli`), HTTP server (`whisper-server`), C API, bindings [1]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/transcribe-audio/whisper-cpp

## Pricing

### Billing
- Pricing model: Free, open-source software (MIT licence); no hosted service [2]
- Free tier: Everything is free to use [2]
- Card required for free tier: No: nothing to pay for [2]
- Minimum spend: None [2]
- Billing period: None: no billing [2]

### Prices
You pay only for your own hardware and electricity.
- Price: Free (MIT licence) [2]

## Tools

### MCP server
- Official MCP server: Not published
- Address or package: Not published

### API
Served by `whisper-server`, which listens on `127.0.0.1:8080` by default.
| Endpoint | What it does |
|---|---|
| `POST /inference` | Upload an audio file (multipart form) and get a transcript back |
| `POST /load` | Load a different model file into the running server |
| `GET /health` | Server health check |
Source [3]

### Features
- Default model: `ggml-base.en.bin` (English-only, 142 MiB) [4]
- Languages: Multilingual models, or English-only models (`.en`); `-l auto` detects the language [6]
- Speaker labels: Experimental: tinydiarize with a `small.en-tdrz` model (English); stereo diarization with `-di` [1]
- Word timestamps: Experimental: `-ml 1` gives one word per segment [1]
- Live streaming: Yes, via the `whisper-stream` example; microphone input, naive implementation [5]
- Max file size: Not published
- Audio input: `whisper-cli`: flac, mp3, ogg, wav; `whisper-server`: WAV, other formats with `--convert` and ffmpeg [4]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| None | Running the CLI or `whisper-server` on your machine | No credentials are defined in the README or the server options |
Source [3]

### Getting access
- Who creates the account: No account: runs on your machine [1]
- Where to get a key: No key: clone the repository from GitHub [1]
- Other requirements: A C/C++ build toolchain with CMake; a `ggml` model file; `ffmpeg` for non-WAV input to the server [3]

## Setup

### Addresses
- REST API: `http://127.0.0.1:8080/inference` once you run `whisper-server` (host and port are options) [3]
- MCP server: Not published
- OpenAPI spec: Not published
- Docs for agents: Not published
- Status page: Not published

### Install
| What | Command |
|---|---|
| Get the source | `git clone https://github.com/ggml-org/whisper.cpp.git` |
| Download a model | `sh ./models/download-ggml-model.sh base.en` |
| Build | `cmake -B build` then `cmake --build build -j --config Release` |
| Transcribe a file | `./build/bin/whisper-cli -f samples/jfk.wav` |
| Run the HTTP server | `./build/bin/whisper-server -m models/ggml-base.en.bin` |
| Docker image | `ghcr.io/ggml-org/whisper.cpp:main` |
| Convert audio to 16 kHz WAV | `ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav` |
Source [1]

## Limits

### Rate limits
- Rate limits: No account: runs on your machine; the server defines no rate limit option [3]

### Other limits
- Memory use: base model: 142 MiB on disk, about 388 MB in memory; large: 2.9 GiB on disk, about 3.9 GB [1]
- Threads: 4 by default (`-t N`) [3]
- Input format: `whisper-cli` runs only with 16-bit WAV files unless built with FFmpeg support [1]
- Latest release: `v1.9.5`, published 2026-10-06 [9]

## Privacy

### Your data
- Data location: Your machine; the README describes on-device use [1]
- Retention: Not applicable: no hosted service; output goes to stdout or files you choose [1]
- Used for training: Not published
- Zero data retention: Not applicable: runs on your machine [1]

### Compliance
- Certifications: Not published
- HIPAA: Not published

## Sources

1. README: https://github.com/ggml-org/whisper.cpp/blob/master/README.md
2. LICENSE: https://github.com/ggml-org/whisper.cpp/blob/master/LICENSE
3. whisper-server README: https://github.com/ggml-org/whisper.cpp/blob/master/examples/server/README.md
4. whisper-cli README: https://github.com/ggml-org/whisper.cpp/blob/master/examples/cli/README.md
5. whisper-stream README: https://github.com/ggml-org/whisper.cpp/blob/master/examples/stream/README.md
6. Models README: https://github.com/ggml-org/whisper.cpp/blob/master/models/README.md
7. GitHub API: repository: https://api.github.com/repos/ggml-org/whisper.cpp
8. whisper-server source: https://github.com/ggml-org/whisper.cpp/blob/master/examples/server/server.cpp
9. GitHub API: latest release: https://api.github.com/repos/ggml-org/whisper.cpp/releases/latest
10. Checked by supermarket.dev
