You have a recording — a standup, a client call, a parent-teacher meeting — and you need the usable parts: what was decided, who's doing what, and which section belongs to which speaker. Here's the workflow that works, with the real output included.
Step 1 — Drop the file, say what you want out of it
Upload the audio (MP3, WAV, M4A, FLAC, and most recorder formats work — files up to an hour go through in one pass). Then say what you actually need in one sentence:
- Transcript only — "transcribe this" gets you the text.
- Minutes — "turn it into minutes with action items" gets you a structured document.
- Sections — "split the school-level part from the class-level part" works too — the transcript carries timestamps, so the agent can cut sections by time.
If the audio has multiple speakers, say so — the transcription runs with speaker
separation, and the output names turns <|speaker:0|>, <|speaker:1|>, and so on.
Step 2 — What a real transcript looks like
We synthesized a 32-second two-speaker standup (the same voice engine that powers our podcast pipeline — so this file is copyright-clean demo material, not someone's real meeting) and ran it through. Hear it yourself:
And the actual transcription it produced, speaker labels included:
<|speaker:0|> Let us start the sprint review. Marketing finished the landing page refresh, and sign-ups are up 12% week over week. <|speaker:1|> Good numbers. On my side, the new transcription pipeline shipped yesterday. Meeting recordings up to 60 minutes now work in one pass. Next, I want feedback on the minutes format before we announce it. <|speaker:0|> One open item. Pricing for the minutes feature, I will bring a proposal to Thursday. Anything else? <|speaker:1|> Just one thing. We still owe the team an incident write-up from last week. I will draft it today.
Each turn also carries start/end timestamps — that's what makes section-splitting and "clip the part where pricing was discussed" possible without re-listening.
Step 3 — Minutes are a shaping step, not a transcription step
The transcript is the raw material; the minutes are an editorial product. Tell the agent the audience and the shape — "minutes for the team, decisions in one section, action items with owners" — and it writes the document, not just formats the dump. In one real run it produced two files from a single recording: a school-level summary and a class-level summary, split at the moment the meeting changed scope.
The honest edges
- Recorders with weird containers may decode poorly. If a file fails, the agent converts it to WAV with ffmpeg and retries — say "it failed" and it will figure it out, but a standard MP3/M4A from a phone is the smoothest path.
- Mixed-language audio has a dominant-language bias. English and Chinese mixed together works well; a heavily multilingual recording may mark secondary-language stretches with a language tag instead of transcribing them.
- Speaker labels are numbers, not names. The transcript says speaker:0 and speaker:1; the agent guesses identities from context ("the principal," "the client") and gets it right more often than not — verify names before publishing minutes.
- Hyphens and product names can drift. "meeting-to-minutes" may come back as "meeting to minutes." Scan proper nouns once.
Where this goes next
The same pipeline feeds anything downstream of a transcript: email follow-ups, slide decks from meeting content, a weekly digest of standups. It's one capability of the persistent agent — the same workspace that holds your documents holds the audio, the transcript, and whatever you ask it to make from them.
Try it: open the workspace, drop a recording, and say "transcribe this, then write me minutes."