AI & automation

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.

By EpiFive Editorial TeamReviewed/updated 9 min readHow we check articles
On this page

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

RouteWhere audio is processedKey limits from documentationSpeaker labelsEffort
Teams built-in transcriptionMicrosoft 365 (Teams service)Live transcription on Teams desktop; transcript viewable in the meeting chat and Recap tabParticipants can hide their identity in captions and transcriptsNone
Open-source WhisperYour own machine or serverModel size depends on your hardwareNot a built-in featureMedium to high
OpenAI APIOpenAI25 MB per file; formats mp3, mp4, mpeg, mpga, m4a, wav, webmVia specific models; some are deprecatedLow
Azure OpenAI transcriptionYour Azure resource25 MB per fileCheck current model documentationLow to medium
Azure AI Speech (fast and batch)Your Azure Speech resourceFast: under 5 hours and 500 MB; batch: files in storageDiarization supportedMedium

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:

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 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.

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:

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:

{
  "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.

  • 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

Questions people ask

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.

WhisperAzure AI SpeechMicrosoft TeamsOpenAI API
  1. Turn Meeting Transcripts into Action Items with AI: A Step-by-Step Workflow

    Build a Power Automate flow that fetches a Teams meeting transcript, asks Claude to extract action items, and sends them to the organiser for review before anything is assigned.

    AI & automation9 min read
  2. Build Your First Copilot Studio Agent: Topics, Knowledge, Publishing

    Create a Microsoft Copilot Studio agent for internal questions: add knowledge, write a topic, test it, publish it and share it in Teams, with the limits and errors to expect.

    AI & automation11 min read
  3. OpenAI API vs ChatGPT Subscription: Billing, Limits and When to Use Each

    ChatGPT subscriptions and the OpenAI API are billed separately. Learn how each is charged, how API rate limits and spend limits work, and which one fits your use case.

    AI & automation8 min read
  4. Microsoft 365 Copilot Business Price per User: Cost and a 30-Day Pilot Plan

    See what Copilot Business costs per user in USD, which Microsoft 365 plans qualify, and how to run a small paid pilot so you can decide with your own usage data.

    AI & automation13 min read
  5. Dialzen: Open Source AI Voice Agent for Support and Booking Calls

    Dialzen is an MIT-licensed platform for AI phone agents that answer support calls, book appointments and make consented follow-ups, using ElevenLabs Agents or Retell AI. Features, compliance, install and FAQ.

    AI & automation8 min read
  6. Gemini in Google Workspace: Plans, Pricing and What Is Included

    See which Google Workspace plans include Gemini, what each one costs per user per month in USD, what differs between Starter and Standard, and which admin controls you have.

    AI & automation8 min read