Sarvam Meeting Minutes
Core Workflow
- Confirm the recording path, desired output language, and whether the user wants same-language transcription (
transcribe), English translation (translate), natural code-mixed output (codemix), word-for-word transcript (verbatim), or Romanized output (translit). Omit --language-code unless the user explicitly wants a manual language hint; Sarvam performs automatic language detection by default.
- Never print or persist the Sarvam API key. Prefer
SARVAM_API_KEY in the shell environment.
- Use
scripts/sarvam_transcribe.py for meeting-length recordings. It uses Sarvam's Python SDK, batch speech-to-text jobs, Saaras v3, optional diarization, polling, and output download.
- Inspect the downloaded JSON/text outputs before drafting minutes. Preserve uncertainty when diarization is missing, speaker labels are generic, or audio quality appears poor.
- Draft minutes from transcript evidence and user-provided context, not from unsupported inference. Include short timestamp references when they help accountability, but keep them out of the main narrative when they make the output feel like a transcript artifact.
- Save transcript and minutes beside the user's chosen output directory unless they ask for a different destination.
Quick Commands
Install the SDK only if it is missing:
python3 -m pip install -U sarvamai
Run transcription for a typical meeting:
python3 /path/to/sarvam-meeting-minutes/scripts/sarvam_transcribe.py \
--audio /path/to/meeting.mp3 \
--out-dir /path/to/output \
--mode transcribe \
--diarization \
--num-speakers 4
Translate Indic-language audio to English:
python3 /path/to/sarvam-meeting-minutes/scripts/sarvam_transcribe.py \
--audio /path/to/meeting.m4a \
--out-dir /path/to/output \
--mode translate \
--diarization
Use --dry-run first when checking setup without sending audio to Sarvam.
Minutes Format
Produce a professional Markdown artifact. Prefer synthesis over transcript-shaped notes:
- Title and executive summary first; put source recordings, transcript provenance, Sarvam mode/model, language setting, and diarization status in a final provenance section unless the user asks for audit-first notes.
- Executive summary: 2-4 paragraphs that explain what changed, why it matters, and what needs follow-up.
- Key outcomes: 5-8 bullets capturing substantive outcomes, not every discussed topic.
- Discussion notes: grouped by theme, with repeated or overlapping recording segments consolidated.
- Decisions: table with decision, owner, and concise notes. Include evidence only when it is important for accountability.
- Action register: table with priority, owner, action, due date, and notes.
- Risks/watch items and open questions.
- Suggested follow-up agenda when the conversation implies another meeting.
- Provenance/transcript notes at the end.
Avoid making the output sound like a raw checklist. Hide transcription machinery from the main body, normalize speaker labels only from user-provided or reliable meeting context, and keep the main narrative polished and readable.
Quality Rules
- For recordings longer than short clips, prefer Batch API through the helper script.
- Use
translate only when the user wants English minutes from non-English audio. Use transcribe or codemix when retaining original language and code-mixing is important.
- Do not claim speaker names from diarization alone. Diarization identifies speaker turns, not identities.
- Do not infer actual speaker count from diarization labels alone. If the user confirms speaker count or attendee names, use that context; otherwise say the speaker count is unconfirmed. If diarization over-splits a two-person meeting into
speaker_id values such as 0, 1, 2, or 3, state that in transcript notes and use neutral participant labels in the main minutes.
- Note gaps explicitly: missing audio sections, failed files, low-confidence passages, no timestamps, no diarization, or incomplete polling/downloads.
- If the user provides multiple recordings from the same meeting, process all files and merge minutes chronologically when timestamps or filenames make order clear.
References
- Read
references/sarvam-api-notes.md when choosing Sarvam endpoint/mode details or handling longer batch jobs.
- Read
references/minutes-template.md when drafting the final minutes artifact.
1---2name: sarvam-meeting-minutes3description: Transcribe meeting recordings with Sarvam AI speech models and turn the transcript into structured meeting minutes. Use when Codex needs to process local audio or video recordings, especially Indian-language, English, Hindi, regional-language, or code-mixed meetings, interviews, calls, webinars, or voice notes; run Sarvam Saaras transcription/translation, preserve speaker/timestamp evidence, and draft decisions, action items, owners, risks, and follow-ups.4---56# Sarvam Meeting Minutes78## Core Workflow9101. Confirm the recording path, desired output language, and whether the user wants same-language transcription (`transcribe`), English translation (`translate`), natural code-mixed output (`codemix`), word-for-word transcript (`verbatim`), or Romanized output (`translit`). Omit `--language-code` unless the user explicitly wants a manual language hint; Sarvam performs automatic language detection by default.112. Never print or persist the Sarvam API key. Prefer `SARVAM_API_KEY` in the shell environment.123. Use `scripts/sarvam_transcribe.py` for meeting-length recordings. It uses Sarvam's Python SDK, batch speech-to-text jobs, Saaras v3, optional diarization, polling, and output download.134. Inspect the downloaded JSON/text outputs before drafting minutes. Preserve uncertainty when diarization is missing, speaker labels are generic, or audio quality appears poor.145. Draft minutes from transcript evidence and user-provided context, not from unsupported inference. Include short timestamp references when they help accountability, but keep them out of the main narrative when they make the output feel like a transcript artifact.156. Save transcript and minutes beside the user's chosen output directory unless they ask for a different destination.1617## Quick Commands1819Install the SDK only if it is missing:2021```bash22python3 -m pip install -U sarvamai23```2425Run transcription for a typical meeting:2627```bash28python3 /path/to/sarvam-meeting-minutes/scripts/sarvam_transcribe.py \29 --audio /path/to/meeting.mp3 \30 --out-dir /path/to/output \31 --mode transcribe \32 --diarization \33 --num-speakers 434```3536Translate Indic-language audio to English:3738```bash39python3 /path/to/sarvam-meeting-minutes/scripts/sarvam_transcribe.py \40 --audio /path/to/meeting.m4a \41 --out-dir /path/to/output \42 --mode translate \43 --diarization44```4546Use `--dry-run` first when checking setup without sending audio to Sarvam.4748## Minutes Format4950Produce a professional Markdown artifact. Prefer synthesis over transcript-shaped notes:5152- Title and executive summary first; put source recordings, transcript provenance, Sarvam mode/model, language setting, and diarization status in a final provenance section unless the user asks for audit-first notes.53- Executive summary: 2-4 paragraphs that explain what changed, why it matters, and what needs follow-up.54- Key outcomes: 5-8 bullets capturing substantive outcomes, not every discussed topic.55- Discussion notes: grouped by theme, with repeated or overlapping recording segments consolidated.56- Decisions: table with decision, owner, and concise notes. Include evidence only when it is important for accountability.57- Action register: table with priority, owner, action, due date, and notes.58- Risks/watch items and open questions.59- Suggested follow-up agenda when the conversation implies another meeting.60- Provenance/transcript notes at the end.6162Avoid making the output sound like a raw checklist. Hide transcription machinery from the main body, normalize speaker labels only from user-provided or reliable meeting context, and keep the main narrative polished and readable.6364## Quality Rules6566- For recordings longer than short clips, prefer Batch API through the helper script.67- Use `translate` only when the user wants English minutes from non-English audio. Use `transcribe` or `codemix` when retaining original language and code-mixing is important.68- Do not claim speaker names from diarization alone. Diarization identifies speaker turns, not identities.69- Do not infer actual speaker count from diarization labels alone. If the user confirms speaker count or attendee names, use that context; otherwise say the speaker count is unconfirmed. If diarization over-splits a two-person meeting into `speaker_id` values such as `0`, `1`, `2`, or `3`, state that in transcript notes and use neutral participant labels in the main minutes.70- Note gaps explicitly: missing audio sections, failed files, low-confidence passages, no timestamps, no diarization, or incomplete polling/downloads.71- If the user provides multiple recordings from the same meeting, process all files and merge minutes chronologically when timestamps or filenames make order clear.7273## References7475- Read `references/sarvam-api-notes.md` when choosing Sarvam endpoint/mode details or handling longer batch jobs.76- Read `references/minutes-template.md` when drafting the final minutes artifact.