Azure AI Voicelive Py
microsoft/skills
Build real-time voice AI applications using Azure AI Voice Live SDK (azure-ai-voicelive).
Covers basic transcription with the Deepgram Python SDK's listen.v1 endpoint, for one-shot REST transcription of a file or URL and live WebSocket streaming with interim results.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-text --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .claude/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .claude/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-textType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-text --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .agents/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .agents/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-text --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .cursor/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .cursor/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/deepgram/deepgram-python-sdk.git --path .agents/skills/deepgram-python-speech-to-text--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-text --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .gemini/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .gemini/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-textInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .github/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .github/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-speech-to-text --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/deepgram-python-speech-to-text .opencode/skills/deepgram-python-speech-to-text && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deepgram-python-speech-to-text" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-speech-to-text into .opencode/skills/deepgram-python-speech-to-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-speech-to-text", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deepgram-python-speech-to-textCovers basic transcription with the Deepgram Python SDK's listen.v1 endpoint, for one-shot REST transcription of a file or URL and live WebSocket streaming with interim results.
The skill covers the /v1/listen endpoint for prerecorded audio through transcribe_url or transcribe_file, suited to batch jobs and captioning pipelines, and the WebSocket listen.v1.connect for continuous streaming such as live captions or phone audio. Authentication sends an Authorization: Token header, not Bearer. The request parameter for transcribe_file accepts raw bytes or an iterator of bytes for chunked large files, never a file handle.
For live streaming, interim_results=True enables partial hypotheses alongside final results, and the skill defines the three event states precisely: is_final false is a provisional hypothesis to display in a non-committal style and overwrite later; is_final true with speech_final false is a confirmed segment while the speaker keeps talking, to append; and is_final true with speech_final true means the utterance ended and the line should be committed.
It points to sibling skills for related needs: deepgram-python-audio-intelligence for summaries, sentiment, topics or diarization on the same endpoint, deepgram-python-conversational-stt for turn-taking with v2 or Flux, and deepgram-python-voice-agent for a full-duplex assistant combining STT, an LLM and TTS.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5c2f3af. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dpgr.amAlso links to:
developers.deepgram.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DEEPGRAM_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deepgram Python Speech-to-Text loads about 2.9k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 780 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from deepgram/deepgram-python-sdk at commit 5c2f3af, republished under its MIT licence (© deepgram). 780 words, ~2,948 tokens.
.claude/skills/deepgram-python-speech-to-text/SKILL.md (or your agent's skills folder).Basic transcription (ASR) for prerecorded audio (REST) or live audio (WebSocket) via /v1/listen.
transcribe_url / transcribe_file) — one-shot transcription of a complete file or URL. Use for batch jobs, captioning pipelines, offline analysis.listen.v1.connect) — continuous streaming transcription. Use for live captions, real-time microphone input, phone audio.Use a different skill when:
deepgram-python-audio-intelligence (same endpoint, different params).deepgram-python-conversational-stt (v2 / Flux).deepgram-python-voice-agent.import os
from dotenv import load_dotenv
load_dotenv()
from deepgram import DeepgramClient
client = DeepgramClient() # reads DEEPGRAM_API_KEY from env
# or: DeepgramClient(api_key=os.environ["DEEPGRAM_API_KEY"])Header sent on every request: Authorization: Token <api_key> (NOT Bearer).
response = client.listen.v1.media.transcribe_url(
url="https://dpgr.am/spacewalk.wav",
model="nova-3",
smart_format=True,
punctuate=True,
)
transcript = response.results.channels[0].alternatives[0].transcriptwith open("audio.wav", "rb") as f:
audio_bytes = f.read()
response = client.listen.v1.media.transcribe_file(
request=audio_bytes,
model="nova-3",
)request= accepts raw bytes or an iterator of bytes (stream large files chunk-by-chunk). Do NOT pass a file handle.
Live transcription emits interim (partial) and final results. Pass interim_results=True and switch on is_final to display partial text in real time, then overwrite it with the final transcript when the speaker pauses.
import threading
from deepgram.core.events import EventType
from deepgram.listen.v1.types import (
ListenV1Results, ListenV1Metadata,
ListenV1SpeechStarted, ListenV1UtteranceEnd,
)
with client.listen.v1.connect(
model="nova-3",
interim_results=True, # ← emit partial results while user is still speaking
utterance_end_ms=1000, # silence (ms) before server emits UtteranceEnd
vad_events=True, # SpeechStarted events
smart_format=True,
) as conn:
# Mutable container so the on_message closure can update state without `global`
state = {"last_interim_len": 0}
def on_message(m):
if isinstance(m, ListenV1Results) and m.channel and m.channel.alternatives:
transcript = m.channel.alternatives[0].transcript
if not transcript:
return
if m.is_final:
# Final segment: overwrite the running interim line, newline if utterance ended
pad = " " * max(0, state["last_interim_len"] - len(transcript))
end = "\n" if m.speech_final else ""
print(f"\r{transcript}{pad}", end=end, flush=True)
state["last_interim_len"] = 0
else:
# Interim: keep overwriting the same console line as the user speaks
print(f"\r{transcript}", end="", flush=True)
state["last_interim_len"] = len(transcript)
elif isinstance(m, ListenV1UtteranceEnd):
print() # newline; UtteranceEnd fires after final results when audio goes silent
elif isinstance(m, ListenV1SpeechStarted):
pass # optional: reset UI when a new utterance begins
conn.on(EventType.OPEN, lambda _: print("connected"))
conn.on(EventType.MESSAGE, on_message)
conn.on(EventType.CLOSE, lambda _: print("\nclosed"))
conn.on(EventType.ERROR, lambda e: print(f"\nerr: {e}"))
# Start receive loop in background so we can send concurrently
threading.Thread(target=conn.start_listening, daemon=True).start()
for chunk in audio_chunks: # raw PCM bytes at declared encoding/sample_rate
conn.send_media(chunk)
conn.send_finalize() # flush final partial before closingis_final = False — interim hypothesis. Will be revised. Display in a non-committal style (lighter colour, italic) and overwrite when the next message arrives.is_final = True, speech_final = False — confirmed segment, but the speaker is still talking. Append to the transcript; another final will follow.is_final = True, speech_final = True — confirmed segment AND the utterance ended (silence detected). Commit the line and start a new one.from_finalize = True — this final was triggered by your explicit send_finalize() call (vs natural endpointing). Useful to distinguish "I asked for a flush" from "the speaker paused".Send send_finalize() to force the server to emit final results immediately (e.g. user clicks "stop"). Send send_close_stream() after send_finalize to terminate cleanly.
WSS message types live under deepgram.listen.v1.types.
from deepgram import AsyncDeepgramClient
client = AsyncDeepgramClient()
response = await client.listen.v1.media.transcribe_url(url=..., model="nova-3")
async with client.listen.v1.connect(model="nova-3") as conn:
# same .on(...) handlers, then:
await conn.start_listening()There are two distinct notions of "async" — don't confuse them.
async/await (sync-style, immediate result)AsyncDeepgramClient returns Awaitable[<full response>]. The result is delivered when you await, not later. Use this when integrating with FastAPI, aiohttp, or any asyncio app.
import asyncio
from deepgram import AsyncDeepgramClient
client = AsyncDeepgramClient()
async def transcribe(url: str) -> str:
response = await client.listen.v1.media.transcribe_url(
url=url,
model="nova-3",
smart_format=True,
)
# `response` is the FULL transcription — no polling, no callback, just await.
return response.results.channels[0].alternatives[0].transcript
text = asyncio.run(transcribe("https://dpgr.am/spacewalk.wav"))Pass callback="https://your.app/webhook" and the request returns immediately with a request_id. Deepgram processes the audio in the background and POSTs the final result to your webhook URL. There is no polling endpoint — your server must be reachable to receive the result.
response = client.listen.v1.media.transcribe_url(
url="https://dpgr.am/spacewalk.wav",
callback="https://your.app/deepgram-webhook",
callback_method="POST", # or "PUT"
model="nova-3",
smart_format=True,
)
print(f"Accepted; tracking id: {response.request_id}")
# response is a "listen accepted" — NOT the transcript. Wait for your webhook.The webhook receives the same JSON body you would have received from a synchronous transcribe_url call. Use this for very long files or when you don't want the request hanging open.
| Pattern | Returns | When to use |
|---|---|---|
client.listen.v1.media.transcribe_url(...) | full transcription synchronously | files up to ~10 min; HTTP timeout-bound |
await AsyncDeepgramClient().listen.v1.media.transcribe_url(...) | full transcription, non-blocking | inside asyncio apps |
transcribe_url(..., callback="https://...") | {request_id} immediately, transcription POSTs to webhook later | very long files; no long-lived HTTP connection |
client.listen.v1.connect(...) (WebSocket) | streaming events as audio is sent | live audio (mic, telephony) |
See examples/12-transcription-prerecorded-callback.py for a working callback example.
model, language, encoding, sample_rate, channels, multichannel, punctuate, smart_format, diarize, endpointing, interim_results, utterance_end_ms, vad_events, keywords, search, redact, numerals, paragraphs, utterances.
reference.md — sections "Listen V1 Media" (REST) and "Listen V1 Connect" (WSS)./llmstxt/developers_deepgram_llms_txt.Authorization: Token <api_key>. Temporary / access tokens (from client.auth.v1.tokens.grant() or an equivalent server) use Authorization: Bearer <access_token> — the custom DeepgramClient installs a Bearer override when you pass access_token=... (see src/deepgram/client.py). Sending Bearer <api_key> with a long-lived API key is what fails.encoding="linear16" but sending Opus → garbage output or 400.send_finalize() before exiting the WSS context — otherwise the last partial is dropped.KeepAlive messages or audio chunks.summarize, topics, intents, sentiment, detect_language do NOT work over WSS — see deepgram-python-audio-intelligence.transcribe_file(request=...) takes bytes or an iterator, not a file handle.nova-3 is the current flagship STT model. Check client.manage.v1.models.list() for the live set.connection.start_listening() blocks. Run it in a thread (sync) or as a task (async) so you can send audio concurrently.examples/10-transcription-prerecorded-url.pyexamples/11-transcription-prerecorded-file.pyexamples/12-transcription-prerecorded-callback.pyexamples/13-transcription-live-websocket.pytests/wire/test_listen_v1_media.py — wire-level fixturestests/manual/listen/v1/connect/main.py — live WSS connection testFor cross-language Deepgram product knowledge — the consolidated API reference, documentation finder, focused runnable recipes, third-party integration examples, and MCP setup — install the central skills:
npx skills add deepgram/skillsThis SDK ships language-idiomatic code skills; deepgram/skills ships cross-language product knowledge (see api, docs, recipes, examples, starters, setup-mcp).
© deepgram, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/deepgram-python-speech-to-text of deepgram/deepgram-python-sdk.
Open the folder on GitHubat commit 5c2f3af
Deepgram Python Speech-to-Text next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deepgram Python Speech-to-Text this skilldeepgram/deepgram-python-sdk | 469 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Azure AI Voicelive Pymicrosoft/skills | 3.1k | 6 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Deepgram JS Audio Intelligencedeepgram/deepgram-js-sdk | 276 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Speech Engineelevenlabs/skills | 481 | — | ~2.5k | Automated safety check: Warn | MIT | |
| Deepgram Core Workflow Bjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 |
microsoft/skills
Build real-time voice AI applications using Azure AI Voice Live SDK (azure-ai-voicelive).
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram audio analytics overlays on /v1/listen - summarize, topics, intents, sentiment, diarize…
elevenlabs/skills
Add real-time voice conversations to a custom agent runtime with ElevenLabs Speech Engine.
jeremylongshore/tons-of-skills-marketplace
Implement real-time streaming transcription with Deepgram WebSocket.
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Speech-to-Text v1 (/v1/listen) for prerecorded or live audio transcription.
deepgram/deepgram-python-sdk
Shows how to add Deepgram analytics such as diarization, summaries, sentiment, topics, redaction and language detection to speech transcription in Python.
deepgram/deepgram-python-sdk
Writes and reviews Python code for Deepgram's turn-aware streaming speech-to-text (Flux, /v2/listen), including end-of-turn detection.
deepgram/deepgram-python-sdk
Guides Python code that calls the Deepgram Management APIs to administer projects, keys, members, usage, billing and stored Voice Agent configurations.
deepgram/deepgram-python-sdk
Uses the Deepgram Python SDK's Read API to analyze text for sentiment, summaries, topics and intents with client.read.v1.text.analyze, from raw text or a hosted URL.
deepgram/deepgram-python-sdk
Guides Python code that calls Deepgram Text-to-Speech v1, covering one-shot REST, streaming WebSocket and the TextBuilder helper.
deepgram/deepgram-python-sdk
Builds a full-duplex Python voice agent on Deepgram's agent.converse WebSocket, combining speech-to-text, an LLM and text-to-speech with interruption and function calling.
Categories
Covers basic transcription with the Deepgram Python SDK's listen.v1 endpoint, for one-shot REST transcription of a file or URL and live WebSocket streaming with interim results. connect for continuous streaming such as live captions or phone audio. Authentication sends an Authorization: Token header, not Bearer.
Deepgram Python Speech-to-Text fits situations like: transcribing a prerecorded audio file or URL with Deepgram; setting up live WebSocket transcription with interim results; deciding whether basic transcription or a related Deepgram skill fits a task.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a claude-code`. Or copy the skill folder (.agents/skills/deepgram-python-speech-to-text in deepgram/deepgram-python-sdk) into .claude/skills/deepgram-python-speech-to-text in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a codex`. Or copy the skill folder (.agents/skills/deepgram-python-speech-to-text in deepgram/deepgram-python-sdk) into .agents/skills/deepgram-python-speech-to-text in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-speech-to-text -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deepgram-python-speech-to-text, .gemini/skills/deepgram-python-speech-to-text, .github/skills/deepgram-python-speech-to-text and .opencode/skills/deepgram-python-speech-to-text in your project.
Going by SKILL.md and its folder, Deepgram Python Speech-to-Text needs the command-line tools its instructions call (npx) and credentials named DEEPGRAM_API_KEY. Our summary lists: Python with the Deepgram SDK; A Deepgram API key.
SKILL.md names 2 domains. In commands or code: dpgr.am; the agent is likely to contact it when it follows the instructions. As links in the text: developers.deepgram.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Deepgram Python Speech-to-Text is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Deepgram Python Speech-to-Text: Azure AI Voicelive Py (microsoft/skills, 3.1k stars), Deepgram JS Audio Intelligence (deepgram/deepgram-js-sdk, 276 stars), Speech Engine (elevenlabs/skills, 481 stars) and Deepgram Core Workflow B (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
deepgram (a GitHub organization) maintains it in deepgram/deepgram-python-sdk, which has 469 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: deepgram/deepgram-python-sdk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.