Transcription integration
Two ways to get text from meetings: let MeetStream transcribe with speaker identification, or take raw per-participant audio and run your own speech-to-text. You choose per use case.
What this integration gives you
- Real-time and async transcripts with speaker identification
- Transcripts delivered to your endpoint via webhook
- In-house transcription available as an add-on
- Raw per-participant audio over secure WebSocket for your own models
- Roughly 200ms latency on the live audio stream
- Speaker labels backed by separate per-participant streams

Use MeetStream transcription
The simplest path is to let MeetStream produce the transcript. You get both a real-time transcript while the meeting runs and a final async transcript once it ends, each with speaker identification. Transcripts are delivered to your endpoint via webhook, so your service is notified when a transcript is ready rather than polling for it. In-house transcription is available as an add-on when you want MeetStream to own the whole pipeline.
Speaker identification here is not guesswork over a mixed recording. Because MeetStream captures per-participant audio, each speaker is already a distinct stream, which is what makes the speaker labels on the transcript reliable across all three meeting platforms.
Bring your own speech-to-text
If you have a speech-to-text engine or a speech-native model you already rely on, MeetStream can feed it. Instead of taking the produced transcript, you consume the raw per-participant audio over a secure WebSocket at roughly 200ms latency and run your own transcription, translation, or speech understanding on top.
This keeps the parts you care about in your control. MeetStream handles the hard problem of joining meetings and separating participants into clean audio streams, and your model handles the words. It is the right choice when you have domain-tuned models, specific language coverage, or latency and privacy requirements that mean transcription needs to run inside your own stack.
- Raw per-participant audio, not a pre-mixed feed
- Live over WebSocket for streaming transcription
- Use any speech-to-text or speech-native model you prefer
- Speaker separation preserved by the per-participant streams
How to connect
- Decide per meeting whether MeetStream transcribes or you bring your own model.
- For MeetStream transcription, register a webhook to receive transcript ready events.
- For your own STT, subscribe to the per-participant audio WebSocket stream.
- Consume the transcript or the raw audio in your pipeline and store or process as needed.
$ curl -X POST \
https://api.meetstream.ai/api/v1/bot \
-H "Authorization: Bearer $API_KEY" \
-d '{"url": "zoom.us/j/74648392"}'
Frequently asked questions
Can I get transcripts in real time?
Yes. MeetStream produces a real-time transcript while the meeting is in progress and a final async transcript after it ends. Both include speaker identification, and both can be delivered to your endpoint via webhook.
What if I want to use my own speech model?
You can consume the raw per-participant audio over a secure WebSocket at roughly 200ms latency and run your own speech-to-text or speech-native model. MeetStream handles joining and stream separation, and your model handles transcription.
How accurate is speaker identification?
Speaker labels are backed by per-participant audio, meaning each speaker is already a separate stream rather than a slice of one mixed track. That separation is what makes the speaker attribution dependable across Zoom, Google Meet, and Teams.
Is in-house transcription required?
No. In-house transcription is available as an add-on if you want MeetStream to own the transcript, but you are free to bring your own speech-to-text and use MeetStream only for meeting capture and audio streaming.
Connect it in an afternoon
One API to join, record, stream, and transcribe meetings across Zoom, Google Meet, and Microsoft Teams.