Deepgram speech AI: transcribe audio to text and synthesize speech (TTS). Trigger phrases: deepgram, transcribe audio, speech to text, STT, deepgram tts.
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill deepgram
Transcribe prerecorded audio files to text (with optional diarization, summaries, topics, sentiment) and synthesize speech with Deepgram's Aura voices. Reach for this when the user has an audio file to transcribe or wants spoken audio generated from text.
All commands go through bin/deepgram.py. Auth uses exactly Authorization: Token <api_key> (not Bearer); the CLI wires it through the credential surrogate.
bin/deepgram.py auth
# {"ok": true, "projects": 2} on success
bin/deepgram.py projects
# list Deepgram projects (id, name)
bin/deepgram.py transcribe --file meeting.wav
# upload a local audio file, print the transcript JSON
bin/deepgram.py transcribe --file call.mp3 --model nova-3 --diarize --summarize --topics --sentiment
# transcript with speaker labels plus summary, topics and sentiment
bin/deepgram.py tts --text "Thanks for listening." --out thanks.mp3
# synthesize with an Aura voice to a local MP3 file; prints the saved path
Notes:
transcribe reads a local audio file, posts the bytes to POST /v1/listen, and prints the full transcript JSON. Content type is guessed from the file extension (wav, mp3, m4a, flac, ogg supported).tts posts {"text": "..."} to POST /v1/speak?model=<model>&encoding=mp3 (default model aura-2-thalia-en, 2,000-char limit) and saves the audio to --out (default deepgram-output.mp3)./v1/listen streaming) is real-time and outside CLI scope.deepgram (credential is collected as custom.deepgram)credentials.request_api_access); create one in the Deepgram consoleapi.deepgram.comcustom_header:Authorization (the stored credential value must be exactly Token <api_key>, with the Token prefix; Bearer is not accepted)bin/deepgram.py auth🧪 Draft: written from Deepgram's public API docs with paths cross-checked at build time; not yet live-tested end-to-end. Key/project management and usage endpoints are not yet in the CLI.
Take anil-matcha/deepgram from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.