# Speaker Diarization API, Minus the Guessing

> Speaker labels for Zoom, Google Meet and Teams that come from the meeting platform itself, not from a model guessing at one mixed track.

Source: https://meetstream.ai/speaker-diarization-api

Most diarization asks a model to work out who spoke from one mixed audio track. MeetStream takes each speaker from the meeting platform itself, so labels on Zoom, Google Meet and Microsoft Teams name real participants.

*By Sidhdharth Sivasubramanian, Co-founder and CEO, MeetStream*

## What diarization is, and where models slip

Speaker diarization splits an audio track by voice. A model estimates where one speaker stops and the next starts, then groups the segments by speaker.

That is hardest in exactly the conditions meetings produce: people talking over each other, similar voices, short interjections and far-field microphones. A model score also moves with the audio you feed it.

## Speaker identity from the platform

The meeting platform already knows who is speaking. MeetStream reads that identity on each platform and attaches it to live audio, live transcripts and the speaker timeline, which records who spoke when for every turn.

| Platform | Where the speaker label comes from |
|---|---|
| Zoom | Raw audio for each speaker, from the Zoom Meeting SDK |
| Google Meet | Each participant's own audio track |
| Microsoft Teams | Teams' own speaker identifiers on the meeting audio |

Each label carries the participant's name as shown in the meeting, so a transcript line maps to a person in your product rather than to "Speaker 2". The [diarization guide](https://docs.meetstream.ai/guides/transcription-recordings/diarization) covers each platform in detail.

Per-participant audio and video work on all three platforms. Each speaker on Zoom, Google Meet and Microsoft Teams arrives as a separate audio file and a separate video stream, aligned to the meeting timeline and included in the $0.35 per bot-hour rate.

## Two layers, used together

Post-call transcripts add a second layer. The transcription runs its own diarization on the recording and returns segments with the speaker, the text, start and end times, and per-word speaker attribution and confidence.

Use the platform labels as ground truth to check the transcript labels. The words come from MeetStream's in-house transcription at $0.10 an hour. Five more engines are available on each request: Deepgram, AssemblyAI, Sarvam and JigsawStack with your own provider keys at no extra charge, and the meeting's own captions.

When several people share one conference-room device, the platform sees one participant. The transcript layer then separates the voices inside that track.

## What you can build on platform labels

- **Talk-time analytics** from the speaker timeline: seconds per speaker is arithmetic, not inference.
- **Per-speaker clips** cut on the turn boundaries in the speaker timeline.
- **Turn-taking metrics** from the order and length of each turn.
- **Coaching and conversation intelligence**, where a mislabelled line is a product bug.

Retrieval of recordings and transcripts is on the [recording API](https://meetstream.ai/meeting-recording-api) and [transcription API](https://meetstream.ai/meeting-transcription-api) pages.

## Frequently asked questions

### What is a speaker diarization API?

An API that returns who spoke when for an audio source. Most run a model over one mixed track. MeetStream takes speaker identity from Zoom, Google Meet and Microsoft Teams themselves, so attribution in a live meeting comes from the platform rather than from an estimate.

### How does MeetStream attribute speakers on each platform?

On Zoom, the Meeting SDK provides raw audio for each speaker. On Google Meet, each participant has their own audio track. On Microsoft Teams, MeetStream uses Teams' own speaker identifiers on the meeting audio.

### Is attribution the same as transcription accuracy?

No. Attribution says who spoke. Word accuracy says what was said, and it depends on the transcription you choose. MeetStream keeps the two separate, so you can change transcription without changing who said what.

### Can I get a separate audio file for each speaker?

Yes. Turn on per-participant audio and each speaker on Zoom, Google Meet and Microsoft Teams arrives as a separate audio file on the meeting timeline. Per-participant video works on all three platforms too.

### How do I get per-speaker transcripts?

Add transcription to the bot request. Live transcripts arrive with the speaker's name while the meeting runs, and post-call transcripts return segments with the speaker, timestamps and text.

### What does it cost?

Speaker attribution is part of the $0.35 per bot-hour rate. In-house transcription adds $0.10 an hour, so a transcribed hour is $0.45. Every account starts with $5 of free credit.

### Can I measure talk time per speaker?

Yes. Sum the seconds per participant in the speaker timeline. It is arithmetic on platform labels, not inference.

### What about several people on one room device?

The platform sees a shared room device as one participant. Add post-call transcription and its diarization separates the voices inside that track.

## Keep exploring

- [Transcription API](https://meetstream.ai/meeting-transcription-api): Product
- [Real-time transcription](https://meetstream.ai/real-time-audio-transcript-api): Product
- [Speaker diarization](https://meetstream.ai/glossary/speaker-diarization): Glossary
- [Per-participant audio](https://meetstream.ai/glossary/per-participant-audio): Glossary
- [Meeting analytics](https://meetstream.ai/use-cases/meeting-analytics): Use case
- [Pricing](https://meetstream.ai/pricing): $0.35 an hour, $5 free credit

## Speaker labels from the platform, at $0.35 an hour

One API call puts a bot in Zoom, Google Meet or Teams. A speaker timeline, live transcripts with speaker names, and $5 of free credit to start.

---

Full site index for agents: https://meetstream.ai/llms.txt
API contract (OpenAPI 3.1): https://meetstream.ai/openapi.json
MCP discovery: https://meetstream.ai/.well-known/mcp
