mcpField
A
audio-transcribe

audio-transcribe

github.com/agntswrmCreative & media6194 installsUpdated 34w ago
Repository

About audio-transcribe

audio-transcribe is a command-line skill for turning audio files into timestamped text, for users who need transcripts with optional speaker labels. It supports local and hosted providers and returns structured JSON.

Key features

  1. 01Transcription with segment timestamps
  2. 02Automatic language detection
  3. 03Optional speaker diarization
  4. 04Local and hosted providers
  5. 05Structured JSON output

Use cases

  1. 01Transcribing interviews or meetings
  2. 02Separating speakers in a podcast
  3. 03Processing audio with a chosen provider

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/agntswrm/agent-media --skill audio-transcribe

After installing, type/audio-transcribein Claude Code to confirm it loaded.

Details

From the project README

Audio Transcribe

Transcribes audio files to text with timestamps. Supports automatic language detection, speaker identification (diarization), and outputs structured JSON with segment-level timing.

Command

npx agent-media@latest audio transcribe --in <path> [options]

Inputs

OptionRequiredDescription
--inYesInput audio file path or URL (supports mp3, wav, m4a, ogg)
--diarizeNoEnable speaker identification
--languageNoLanguage code (auto-detected if not provided)
--speakersNoNumber of speakers hint for diarization
--outNoOutput path, filename or directory (default: ./)
--providerNoProvider to use (local, fal, replicate, runpod)

Output

Returns a JSON object with transcription data:

{
  "ok": true,
  "media_type": "audio",
  "action": "transcribe",
  "provider": "fal",
  "output_path": "transcription_123_abc.json",
  "transcription": {
    "text": "Full transcription text...",
    "language": "en",
    "segments": [
      { "start": 0.0, "end": 2.5, "text": "Hello.", "speaker": "SPEAKER_0" },
      { "start": 2.5, "end": 5.0, "text": "Hi there.", "speaker": "SPEAKER_1" }
    ]
  }
}

Examples

Basic transcription (auto-detect language):

npx agent-media@latest audio transcribe --in interview.mp3

Transcription with speaker identification:

npx agent-media@latest audio transcribe --in meeting.wav --diarize

Transcription with specific language and speaker count:

npx agent-media@latest audio transcribe --in podcast.mp3 --diarize --language en --speakers 3

Use specific provider:

npx agent-media@latest audio transcribe --in audio.wav --provider replicate

Extracting Audio from Video

To transcribe a video file, first extract the audio:

# Step 1: Extract audio from video
npx agent-media@latest audio extract --in video.mp4 --format mp3

# Step 2: Transcribe the extracted audio
npx agent-media@latest audio transcribe --in extracted_xxx.mp3

Providers

local

Runs locally on CPU using Transformers.js, no API key required.

  • Uses Moonshine model (5x faster than Whisper)
  • Models downloaded on first use (~100MB)
  • Does NOT support diarization — use fal or replicate for speaker identification
  • You may see a mutex lock failed error — ignore it, the output is correct if "ok": true
npx agent-media@latest audio transcribe --in audio.mp3 --provider local
fal
  • Requires FAL_API_KEY
  • Uses wizper model for fast transcription (2x faster) when diarization is disabled
  • Uses whisper model when diarization is enabled (native support)
replicate
  • Requires REPLICATE_API_TOKEN
  • Uses whisper-diarization model with Whisper Large V3 Turbo
  • Native diarization support with word-level timestamps
runpod
  • Requires RUNPOD_API_KEY
  • Uses pruna/whisper-v3-large model (Whisper Large V3)
  • Does NOT support diarization (speaker identification) - use fal or replicate for diarization
npx agent-media@latest audio transcribe --in audio.mp3 --provider runpod

Comments

Markdown supported