Skip to content
Agentmart
Submit a tool

audio-transcribe

Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps.

Skill by iurysza

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/iurysza-audio-transcribe

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps. Use for interviews, meetings, lectures, podcasts, voice notes, and similar recordings.

Use cases: documents, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/audio-transcribe

What's inside

Skill name
audio-transcribe
Description
Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps. Use for interviews, meetings, lectures, podcasts, voice notes, and similar recordings.
License
MIT
Compatibility
Requires Bun 1.1+, ffmpeg/ffprobe, network access, and a Gemini API key.
Metadata
category: visual-media
Instructions
69 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (4)

  • SKILL.md
  • package.json · scripts/
  • transcribe.test.ts · scripts/
  • transcribe.ts · scripts/

SKILL.md (first lines)

# Audio Transcription

The bundled CLI normalizes audio, uploads each chunk to Gemini 3.5 Transcribe, and writes one Markdown transcript. Default output uses Gemini's speaker diarization and word-level timestamps.

## Setup

Resolve paths relative to this `SKILL.md`. Do not assume a global skill directory.

```bash
bun install --cwd <skill-directory>/scripts --no-save
export GEMINI_API_KEY='...'
```

`GOOGLE_API_KEY` and `OPENCODE_GOOGLE_API_KEY` are fallbacks. Set `GEMINI_TRANSCRIBE_MODEL` only to select a compatible replacement model. The default is `gemini-3.5-transcribe`.

## Before transcription

1. Confirm the input exists and uses a supported format.
2. Use `ffprobe` to inspect duration.
3. Agree on an output path when the user does not provide one.
4. Warn before an unexpectedly long or costly transcription.
5. Ask for language hints and domain terms when they are known and likely to improve recognition.

Do not upload media without the user's explicit transcription request.

## Run

```bash
bun run <skill-directory>/scripts/transcribe.ts \
  ./interview.m4a \
  --language en-US \
  --vocabulary "SumUp" \
  --output ./interview-transcript.md
```

Options:

- `--chunk-minutes N`: chunk duration. The default is `30`.
- `--language CODE`: BCP-47 language hint. Repeat the option for each known language. Omit it for automatic language detection and code-switching.
- `--vocabulary TERM`: domain term, acronym, or proper name. Repeat the option for each term. Use it with `--smart`. Gemini accepts up to 1,000 terms. It normally performs best with a short, targeted list.
- `--smart`: return a cleaned transcript. This removes filler words, repetitions, and false starts, but Gemini does not provide speaker labels or timestamps in this mode.
- `--output PATH`: exact Markdown output path.
- `--keep`: retain normalized audio and chunk files beside the transcript.
- `--help`: show usage.

Default verbatim mode requests speaker diarization and word timestamps. Gemini limits those requests to 30 minutes of audio per request, so the CLI splits longer recordings. The live API rejects custom vocabulary with word timestamps, so the CLI fails clearly when `--vocabulary` is used without `--smart`. `--smart` supports chunks up to 60 minutes because it does not request either feature. If Gemini returns a rate-limit delay, the CLI waits for that delay and retries the interaction once.

Supported inputs: MP3, WAV, M4A, OGG, FLAC, and WebM.

## Output

Default output contains source metadata, duration, model, mode, language hints, custom vocabulary, chunk count, speaker-labelled turns, and timestamps from Gemini's word annotations. The CLI orders annotations by their audio timestamps before it formats turns. The CLI deletes each remote Gemini upload after its transcription request. It warns if that deletion fails.

`--smart` produces clean text from `interaction.output_text`. It does not invent timestamps or speaker identity that the API did not return.

Speaker labels identify distinct voices within one Gemini request, not verified people. The CLI adds a heading for each chunk because Gemini can reset labels after a split. Preserve labels such as `Speaker 1` when names are uncertain. Do not present inferred identities as facts.

## Verification

After transcription:

1. Confirm that the command succeeded.
2. Confirm that the Markdown file exists and is non-empty.
3. Inspect the beginning, one middle section, and the end for missing chunks, speaker changes, or malformed timestamps.
4. Report the exact path and disclose failed or partial processing.

The CLI does not write a transcript after a failed API request. It removes local normalized audio unless `--keep` is set. Never print API keys or add private media and generated transcripts to the skill repository.

From iurysza/agent-skills, MIT.

More from iurysza/agent-skills

Signals

Stars
5
Forks
0
Open issues
0
Last commit (this folder)
Oct 10, 2026 (18 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from iurysza

Cite this page

audio-transcribe skill. Agent Mart. https://agentmart.dev/skills/iurysza-audio-transcribe (last updated 2026-10-24)