# Meeting Transcription Options Compared: Whisper, Teams and Cloud APIs

> Compare Teams built-in transcription, open-source Whisper, the OpenAI API, Azure OpenAI and Azure AI Speech by limits, hosting, speaker labels and when each fits.

Source: https://www.epifive.com/blog/meeting-transcription-whisper-teams-apis · Published 2026-10-25 · EpiFive

## Key takeaways

- Teams built-in transcription is the simplest route for meetings held in Teams, because it needs no code and stores the transcript in the organiser's OneDrive for Business.
- Open-source Whisper is MIT-licensed and can run on your own hardware, which suits sensitive audio or large offline backlogs if you can manage the compute.
- OpenAI and Azure OpenAI transcription endpoints cap uploads at 25 MB per file, so longer recordings need compression, chunking or Azure Speech batch transcription.
- Azure AI Speech offers fast transcription for files under 5 hours and 500 MB and asynchronous batch transcription for large volumes.
- Check model deprecation notices before building, because OpenAI lists whisper-1 and several newer transcription models as deprecated with a shutdown date of February 26, 2027.

If your meetings happen in Microsoft Teams, use the built-in transcript first, because it needs no code and keeps the data inside Microsoft 365. If you have recordings from other sources, or you need your own pipeline, choose between self-hosted Whisper, the OpenAI or Azure OpenAI transcription endpoints, and Azure AI Speech. The deciding factors are where the audio may be processed, file size, speaker labels and how much engineering you want to maintain.

## Who this is for and what you will have

This is for IT administrators, operations leads and developers who need searchable meeting records, call transcripts or interview notes. By the end you will have a comparison of five routes, a decision guide, working command and API examples where the documentation provides them, and a list of pitfalls to check before you commit. Features, limits and model names change, so confirm the current documentation for anything you build on.

## The five routes at a glance

| Route | Where audio is processed | Key limits from documentation | Speaker labels | Effort |
| --- | --- | --- | --- | --- |
| Teams built-in transcription | Microsoft 365 (Teams service) | Live transcription on Teams desktop; transcript viewable in the meeting chat and Recap tab | Participants can hide their identity in captions and transcripts | None |
| Open-source Whisper | Your own machine or server | Model size depends on your hardware | Not a built-in feature | Medium to high |
| OpenAI API | OpenAI | 25 MB per file; formats mp3, mp4, mpeg, mpga, m4a, wav, webm | Via specific models; some are deprecated | Low |
| Azure OpenAI transcription | Your Azure resource | 25 MB per file | Check current model documentation | Low to medium |
| Azure AI Speech (fast and batch) | Your Azure Speech resource | Fast: under 5 hours and 500 MB; batch: files in storage | Diarization supported | Medium |

## Route 1: Teams built-in transcription

For meetings that already run in Teams, this is the lowest-effort option. According to Microsoft's support documentation:

- Starting a recording starts transcription automatically. For transcription only, select **More actions**, then **Transcribe**, confirm the spoken language and select **Confirm**.
- Everyone in the meeting receives a notification.
- Organisers, co-organisers and presenters can stop and restart transcription.
- Transcripts are stored in the meeting organiser's OneDrive for Business and are available through the meeting chat and the **Recap** tab until the organiser deletes them.
- Organisers and co-organisers can download the transcript as .docx or .vtt. Same-organisation participants cannot download it directly unless the organiser configures download access in Stream. Participants from another tenant can view live transcription but cannot start or stop it, or view the transcript afterwards.
- Live transcription is only available on Teams for desktop, while mobile users can view the transcript after the meeting.
- Live translated transcription requires Teams Premium.

Admin policy affects what users can do, so if transcription is missing, check your organisation's Teams meeting policies. Where Copilot and Teams Premium are licensed, organisers can restrict who may record and transcribe.

**Choose it when** the meetings are in Teams, you want searchable records tied to the meeting, and you do not need to process the text in your own pipeline.

## Route 2: Open-source Whisper on your own hardware

Whisper is OpenAI's open-source speech recognition model. The repository states that code and model weights are released under the MIT licence. Install it with pip and make sure the `ffmpeg` command-line tool is available:

```bash
pip install -U openai-whisper
whisper audio.flac audio.mp3 audio.wav --model turbo
```

The repository lists six model sizes. Approximate VRAM needs and relative speeds are published, for example roughly 1 GB for tiny and base, about 2 GB for small, about 5 GB for medium, about 10 GB for large and about 6 GB for turbo, with turbo roughly eight times faster than large on an A100 GPU. The turbo model is an optimised version of large-v3 and is not trained for translation. For translating non-English speech into English, the repository advises using the medium or large models with `--task translate`.

**Choose it when** audio must not leave your environment, you have a large backlog and your own GPUs, or you want to control the whole pipeline. Plan for hardware, updates, storage and your own speaker identification, because the project does not describe speaker labelling as a built-in feature.

## Route 3: OpenAI API transcription

OpenAI's speech-to-text guide describes the `/v1/audio/transcriptions` endpoint. Documented points include:

- A 25 MB limit per uploaded file. For larger recordings, use a compressed format or split the audio into chunks of 25 MB or less.
- Supported formats of mp3, mp4, mpeg, mpga, m4a, wav and webm.
- A `prompt` parameter, which can carry vocabulary hints.
- Word or segment timestamps through `timestamp_granularities[]`, supported only for `whisper-1`.

Model naming is moving. The guide currently recommends `gpt-transcribe` for recorded speech in its original language, and lists `whisper-1`, `gpt-4o-transcribe`, `gpt-4o-mini-transcribe` and `gpt-4o-transcribe-diarize` as deprecated with a shutdown date of February 26, 2027. The `/v1/audio/translations` endpoint is deprecated on the same date. Read the guide for the current names before writing code, and make the model name a configuration value so you can change it without redeploying.

Billing for the API is separate from any ChatGPT subscription. See [OpenAI API vs ChatGPT subscription](https://www.epifive.com/blog/openai-api-vs-chatgpt-subscription) for how the two differ. For data handling, OpenAI states that API data is not used to train its models by default and that abuse-monitoring logs are kept for up to 30 days by default.

**Choose it when** you want the least engineering for audio you are permitted to send to a third-party API, and your files are short or easy to split.

## Route 4: Azure OpenAI transcription

Microsoft's Azure OpenAI quickstart for speech-to-text uses a deployed transcription model in your own Azure resource, called with the deployment name in the SDK or REST call. The quickstart states that the file size limit is 25 MB, and that for larger files you should use the Azure Speech batch transcription API with a Whisper model.

**Choose it when** you want the OpenAI model family inside your Azure subscription, with Azure's identity, networking and compliance controls. Confirm which transcription models are available in your region and which deployment types they support. For general guidance on Azure deployment types and data processing locations, see [Azure OpenAI deployment types compared](https://www.epifive.com/blog/azure-openai-deployment-types-comparison).

## Route 5: Azure AI Speech fast and batch transcription

Azure AI Speech offers two documented paths for audio files.

**Fast transcription** is a synchronous REST call. Microsoft's documentation says audio must be shorter than 5 hours and smaller than 500 MB, and lists WAV, MP3, OPUS/OGG, FLAC, WMA, AAC, ALAW in WAV container, MULAW in WAV container, AMR, WebM and SPEEX. The request is multipart form data to your resource endpoint:

```text
POST https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15
```

Authenticate with the `Ocp-Apim-Subscription-Key` header, or with a bearer token for Microsoft Entra ID. The `definition` part of the request can include `locales`, `diarization`, `channels`, `phraseList` and `profanityFilterMode`. To label speakers in a single-channel recording, enable diarization:

```json
{
  "locales": ["en-US"],
  "diarization": { "maxSpeakers": 2, "enabled": true }
}
```

The response adds a `speaker` value to each phrase. Diarization supports one channel only, so do not set `channels` to `[0,1]` for stereo audio when diarization is on.

**Batch transcription** is asynchronous. You submit audio from an Azure Blob Storage container or by URI, then retrieve results later. Microsoft states that batch jobs are scheduled on a best-effort basis: at peak hours a job can take up to 30 minutes to start and up to 24 hours to complete, and the 90th percentile latency is under 6 hours. Its guidance suggests submitting about 1,000 files in a single create request, spreading submissions over several hours, and checking job status about every 10 minutes rather than every few seconds. A Power Platform connector exists for low-code scenarios.

**Choose it when** you want diarization, longer files, large volumes processed from storage, or a managed Azure service with a clear sizing and throttling model.

## How to choose

Work through these questions in order.

1. **Are the meetings in Teams and is a searchable transcript enough?** Use Teams built-in transcription.
2. **Must audio stay in your own environment?** Use self-hosted Whisper, or Azure services in a region and deployment type that meet your residency requirements.
3. **Do you need speaker labels on recordings from many sources?** Look at Azure AI Speech diarization first.
4. **Are files under 25 MB, or easy to split?** The OpenAI or Azure OpenAI endpoints are the quickest to integrate.
5. **Do you have thousands of hours to process?** Compare self-hosted Whisper with Azure AI Speech batch transcription, then test cost and turnaround on a sample.

## Pitfalls and troubleshooting

**Upload fails because the file is too large.** The OpenAI and Azure OpenAI limit is 25 MB per file. Compress the audio, split it at silence, or switch to Azure AI Speech.

**429 errors from Azure AI Speech fast transcription.** Microsoft's documentation points to its guidance on mitigating throttling during autoscaling. Add retries with backoff and spread requests over time.

**Speaker labels are missing or wrong.** For Azure AI Speech, confirm diarization is enabled and the audio is a single channel. Do not expect a plain transcription call to identify who said what.

**Specialist terms are mistranscribed.** Use the vocabulary or prompt features offered by the service, such as `phraseList` in Azure fast transcription or the `prompt` parameter at OpenAI, and then check names and numbers by hand.

**Teams transcript is missing.** Check that transcription was started, that it is permitted by meeting policy, and that you are looking in the organiser's meeting chat or Recap tab. Remember that attendees from other tenants cannot view the transcript afterwards.

**Everything looks right but a quote is wrong.** Automated transcripts contain errors. Review any text that will be quoted, attributed to a person or used in a decision. For the wider habit of checking machine output, see [AI hallucinations at work: a verification checklist](https://www.epifive.com/blog/ai-hallucinations-verification-checklist-business).

## Privacy and consent checklist

- Tell participants when transcription is running. Teams notifies everyone automatically, but external tools do not.
- Check legal requirements for recording and transcribing in the countries involved.
- Decide where transcripts are stored, who can read them and when they are deleted.
- Confirm each service's training and retention terms before sending sensitive audio.
- Keep a record of which route and model processed each recording.

## References

- Microsoft Support, Live transcription in Microsoft Teams meetings: https://support.microsoft.com/en-us/office/view-live-transcription-in-a-teams-meeting-dc1a8f23-2e20-4684-885e-2152e06a4a8b
- OpenAI, Speech to text guide: https://developers.openai.com/api/docs/guides/speech-to-text
- OpenAI Whisper repository: https://github.com/openai/whisper
- Microsoft Learn, Speech to text with transcription models in Azure OpenAI: https://learn.microsoft.com/en-us/azure/foundry/openai/whisper-quickstart
- Microsoft Learn, Batch transcription overview: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/batch-transcription
- Microsoft Learn, Fast transcription: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/fast-transcription-create
- OpenAI, Data controls in the OpenAI platform: https://developers.openai.com/api/docs/guides/your-data

## Frequently asked questions

### Does Microsoft Teams transcribe meetings by itself?

Teams can transcribe a meeting when recording is started, or you can choose More actions and then Transcribe for transcription only. Everyone in the meeting is notified, and the transcript is stored in the organiser's OneDrive for Business and shown in the meeting chat and Recap tab.

### Is OpenAI Whisper free to use?

The open-source Whisper code and model weights are released under the MIT licence, so you can run them on your own hardware without per-minute fees. You still pay for the compute you run it on, and the hosted OpenAI API and Azure services are billed separately.

### What is the file size limit for transcription through OpenAI or Azure OpenAI?

OpenAI's speech-to-text guide states a 25 MB limit per file, and Microsoft's Azure OpenAI transcription quickstart states the same 25 MB limit, recommending Azure Speech batch transcription for larger files. Compress or split long recordings if you hit the limit.

### Which option handles very long recordings in Azure?

Azure AI Speech fast transcription accepts audio shorter than 5 hours and under 500 MB, and batch transcription processes large volumes of audio from storage asynchronously. Batch jobs are scheduled on a best-effort basis, so allow time for results.

