Speaker Diarization — who spoke when, with meeting notes
Pricing
Pay per event
Speaker Diarization — who spoke when, with meeting notes
Split any recording into speaker turns: transcript per speaker, talk-time stats, speaker-labelled SRT/VTT and ready-to-paste Markdown meeting notes. Whisper + voice clustering run inside the Actor — no API key. Failed or silent files are never billed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Send audio or video file URLs and get back the conversation split by speaker: the transcript as speaker turns, per-speaker talk-time statistics, speaker-labelled SRT/VTT subtitles, and ready-to-paste Markdown meeting notes. Everything runs inside the Actor — Whisper for the words, voice-embedding clustering for the speakers, all on CPU. No API key, no external service, no per-provider markup.
Model note (Sep 2026): the default model is now
tiny(fastest, cheapest); choosebasefor accents, other languages or noisy audio.smallwas retired — a request for it runsbase.
What you get per file
meeting_notes— Markdown you can paste straight into a doc: a participants table (talk time, share, turns, words) plus the turn-by-turn transcript with timestamps.turns— consecutive same-speaker speech grouped into turns:{speaker, start, end, text}.segments— fine-grained timestamped segments with speaker labels.speakers— per-speaker stats, ordered by talk time.srt/vtt— subtitles withSPEAKER_N:prefixes (VTT uses proper<v SPEAKER_N>voice tags, so capable players colour each speaker).text, detectedlanguage,duration_seconds,billed_minutes.
Speakers
Leave Number of speakers at 0 and the Actor detects how many voices are present (up to Max speakers). If you know the count — a 1-on-1 interview is 2, your weekly stand-up is 5 — set it explicitly: known counts are always more accurate than detection.
Speakers are labelled SPEAKER_1, SPEAKER_2, … in order of first
appearance.
Pricing — you only pay for delivered results
- $0.005 per file that delivers a speaker-labelled transcript, plus
- $0.007 per started minute of audio processed.
A file that fails to download, cannot be decoded, or contains no
recognizable speech is never billed — not even the per-file fee.
max_minutes_per_file is your hard cost ceiling per file:
max spend = $0.005 + $0.007 × that number.
Sources and limits
- Direct media file URLs: mp3, m4a, aac, ogg, opus, wav, flac, mp4, webm, …
- Up to 25 URLs per run, 250 MB per file.
- Social-platform pages (YouTube, TikTok, …) are not supported — send direct media files you have the right to process.
tinyandbasemodels are baked into the image, so no run spends time downloading weights. (smallwas retired on 2026-09-04 — it ran 3× slower thanbasefor a marginal gain; inputs that still saysmallrunbase.)- Long recordings are processed up to
max_minutes_per_file(default 30, max 480) and flaggedtruncated. If a run approaches its own timeout, the Actor delivers what it has — the partial transcript, or the speaker-labelled prefix if the clock runs out during diarization — and bills only the minutes actually delivered.
Tips
- Meetings & interviews: keep VAD on, set
num_speakersif you know it. - Raise the default run timeout if you raise
max_minutes_per_filefar above the default — a 4-hour recording needs more than the default hour. - Accuracy is best with one voice per channel-mixed recording of reasonable quality; heavily overlapping speech is attributed to the dominant voice.
- Low-bandwidth phone recordings (8 kHz call audio) of similar-sounding
voices may be under-separated in auto-detect mode — voice embeddings lose
most of their contrast there. Set
num_speakersexplicitly for call recordings; meeting/podcast-quality audio is unaffected.