Deepgram JS Conversational Stt
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Conversational STT v2 / Flux (/v2/listen) for turn-aware streaming transcription.
Shows how to add Deepgram analytics such as diarization, summaries, sentiment, topics, redaction and language detection to speech transcription in Python.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-audio-intelligence -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-audio-intelligence --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-audio-intelligence .claude/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .claude/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligenceType 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-audio-intelligence -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-audio-intelligence --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-audio-intelligence .agents/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .agents/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligence -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-audio-intelligence --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-audio-intelligence .cursor/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .cursor/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligence--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-audio-intelligence -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-audio-intelligence --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-audio-intelligence .gemini/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .gemini/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligenceInstalls 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-audio-intelligence -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-audio-intelligence .github/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .github/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligence -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-audio-intelligence --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-audio-intelligence .opencode/skills/deepgram-python-audio-intelligence && 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-audio-intelligence" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-audio-intelligence into .opencode/skills/deepgram-python-audio-intelligence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-audio-intelligence", 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-audio-intelligenceShows how to add Deepgram analytics such as diarization, summaries, sentiment, topics, redaction and language detection to speech transcription in Python.
These are analytics overlays on the same `/v1/listen` transcription endpoint used for plain speech-to-text, switched on with request parameters: summarize, topics, intents, sentiment, language detection, diarization, redaction and entity detection. The skill covers the REST client methods `client.listen.v1.media.transcribe_url` and `transcribe_file`, plus the smaller set supported over WebSocket through `client.listen.v1.connect`.
Availability differs by transport. Diarize, redact, punctuate, smart_format and entity detection work over both REST and WSS, while summarize, topics, intents, sentiment, detect_language and the custom topic and intent options are REST only. Quick starts show a URL request, a file request and a diarization request with word-level timings, and a table lists per-word fields such as the word, punctuated word, start and end times and confidence. Authentication uses an API key loaded from the environment with python-dotenv. Other Deepgram skills are named for plain transcription, analytics on text, turn-taking and voice agents.
5 steps, taken from the first numbered list 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deepgram Audio Intelligence for Python loads about 2.3k tokens when it runs. Until then it costs about 183 tokens; SKILL.md has 612 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). 612 words, ~2,323 tokens.
.claude/skills/deepgram-python-audio-intelligence/SKILL.md (or your agent's skills folder).Analytics overlays applied to /v1/listen transcription: summarize, topics, intents, sentiment, language detection, diarization, redaction, entities. Same endpoint / same client methods as STT — enable features via params.
Use a different skill when:
deepgram-python-speech-to-text.deepgram-python-text-intelligence (/v1/read).deepgram-python-conversational-stt.deepgram-python-voice-agent.| Feature | REST | WSS |
|---|---|---|
diarize | yes | yes |
redact | yes | yes |
punctuate, smart_format | yes | yes |
| Entity detection | yes | yes |
summarize | yes | no |
topics | yes | no |
intents | yes | no |
sentiment | yes | no |
detect_language | yes | no |
custom_topic / custom_intent | yes | no |
For the WSS-only subset, same code path as deepgram-python-speech-to-text.
from dotenv import load_dotenv
load_dotenv()
from deepgram import DeepgramClient
client = DeepgramClient()Header: Authorization: Token <api_key>.
response = client.listen.v1.media.transcribe_url(
url="https://dpgr.am/spacewalk.wav",
model="nova-3",
smart_format=True,
punctuate=True,
diarize=True, # speaker separation
summarize="v2", # "v2" for the current model; True also accepted on /v1/listen
topics=True,
intents=True,
sentiment=True,
detect_language=True,
redact=["pci", "pii"], # or Sequence[str]
language="en-US",
)
r = response.results
print("transcript:", r.channels[0].alternatives[0].transcript)
print("summary:", r.summary)
print("topics:", r.topics)
print("intents:", r.intents)
print("sentiments:", r.sentiments)
print("detected_language:", r.channels[0].detected_language)
# Speaker diarization
for word in r.channels[0].alternatives[0].words or []:
speaker = getattr(word, "speaker", None)
if speaker is not None:
print(f"Speaker {speaker}: {word.word}")with open("call.wav", "rb") as f:
audio = f.read()
response = client.listen.v1.media.transcribe_file(
request=audio,
model="nova-3",
diarize=True,
redact=["pii"],
summarize="v2",
topics=True,
)Enable speaker separation and word-level timestamps in a single request, then iterate the per-word objects to build a speaker-labelled transcript with timing.
response = client.listen.v1.media.transcribe_url(
url="https://dpgr.am/spacewalk.wav",
model="nova-3",
diarize=True, # tag each word with a speaker id
smart_format=True, # punctuated_word for cleaner output
punctuate=True,
)
words = response.results.channels[0].alternatives[0].words or []
# Per-word: speaker, timestamps, confidence
for w in words:
speaker = getattr(w, "speaker", None)
text = w.punctuated_word or w.word
print(f"[speaker {speaker}] {text} ({w.start:.2f}s–{w.end:.2f}s, conf={w.confidence:.2f})")
# Group consecutive words by speaker into utterances
from itertools import groupby
for speaker, group in groupby(words, key=lambda w: getattr(w, "speaker", None)):
text = " ".join((w.punctuated_word or w.word) for w in group)
print(f"Speaker {speaker}: {text}")Per-word fields available on each entry:
| Field | Type | Description |
|---|---|---|
word | str | Lowercase token |
punctuated_word | str | None | Token with smart-formatted casing/punctuation (when smart_format=True) |
start, end | float | Audio timestamps in seconds |
confidence | float | 0.0–1.0 confidence |
speaker | int | None | Speaker id (when diarize=True); None if diarization disabled |
speaker_confidence | float | None | Speaker-id confidence |
For a higher-level breakdown, set utterances=True to get pre-grouped speaker turns at response.results.utterances. Set paragraphs=True for a paragraphs view organised by speaker turn boundaries.
import threading
from deepgram.core.events import EventType
with client.listen.v1.connect(model="nova-3", diarize=True, redact=["pii"]) as conn:
conn.on(EventType.MESSAGE, lambda m: print(m))
threading.Thread(target=conn.start_listening, daemon=True).start()
for chunk in audio_chunks:
conn.send_media(chunk)
conn.send_finalize()summarize, topics, intents, sentiment, detect_language, diarize, redact, custom_topic, custom_topic_mode, custom_intent, custom_intent_mode, detect_entities, plus all the standard STT params (model, language, encoding, sample_rate, ...).
redact is typed as Optional[str] in the current generated SDK (src/deepgram/listen/v1/media/client.py). Pass a single redaction mode such as "pci", "pii", "numbers", or "phi". Multi-mode redaction at the transport level is supported by sending redact as a repeated query parameter — check src/deepgram/types/listen_v1redact.py for the current type and fall back to raw query-param construction (or multiple calls) if you need several modes. The earlier Union[str, Sequence[str]] override is no longer carried in .fernignore.
reference.md — "Listen V1 Media" (REST params include all analytics flags), "Listen V1 Connect" (WSS-supported subset)./llmstxt/developers_deepgram_llms_txt.summarize on /v1/listen accepts a boolean OR the string "v2". Use "v2" to pin the current summarization model; True also works (maps to the default model). /v1/read is the reverse — it accepts boolean only. If you need summarization on already-transcribed text, see deepgram-python-text-intelligence.nova-3 unless you have a reason.pci, pii, phi, numbers, etc. — not arbitrary strings.custom_topic / custom_intent need a mode ("extended" or "strict").examples/15-transcription-advanced-options.py — smart_format, punctuate, diarizetests/wire/test_listen_v1_media.py — wire test covering intelligence paramsdeepgram-python-speech-to-text — same endpoint, plain transcriptiondeepgram-python-text-intelligence — same analytics, text inputdeepgram-python-conversational-stt — Flux for turn-takingdeepgram-python-voice-agent — interactive assistantsFor 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-audio-intelligence of deepgram/deepgram-python-sdk.
Open the folder on GitHubat commit 5c2f3af
Deepgram Audio Intelligence for Python 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 Audio Intelligence for Python this skilldeepgram/deepgram-python-sdk | 469 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Deepgram JS Conversational Sttdeepgram/deepgram-js-sdk | 276 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Deepgram JS Voice Agentdeepgram/deepgram-js-sdk | 276 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Audio To Textgodot-fun/gai | 181 | — | ~707 | Automated safety check: Pass | MIT | |
| Transcribe Anythingswyxio/skills | 172 | — | ~8.5k | Automated safety check: Pass | MIT | |
| Whisper Speech RecognitionOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~1.9k | Automated safety check: Notes | MIT |
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Conversational STT v2 / Flux (/v2/listen) for turn-aware streaming transcription.
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that builds an interactive voice agent via agent.deepgram.com/v1/agent/converse.
godot-fun/gai
Transcribes a single PCM16 WAV file to plain UTF-8 text locally through a standard-library Python wrapper around native SenseVoice Small F16 GGUF FunASR llama.cpp runtimes, preferring cross-vendor…
swyxio/skills
Transcribes audio and video files to text using pluggable ASR backends.
Orchestra-Research/AI-Research-SKILLs
Transcribes audio with OpenAI's Whisper: 99 languages, translation to English, language detection, six model sizes and word-level timestamps, from Python or the CLI.
decolua/9router
Transcribes audio files into text or subtitles through 9Router's Whisper-compatible endpoint, using models from OpenAI, Groq, Gemini, Deepgram and others.
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
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.
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
Shows how to add Deepgram analytics such as diarization, summaries, sentiment, topics, redaction and language detection to speech transcription in Python. These are analytics overlays on the same `/v1/listen` transcription endpoint used for plain speech-to-text, switched on with request parameters: summarize, topics, intents, sentiment, language detection, diarization, redaction and entity detection.connect`.
Deepgram Audio Intelligence for Python fits situations like: adding speaker diarization to a Deepgram transcription call; summarizing audio or detecting sentiment, topics and intents; redacting sensitive information from a transcript; detecting the spoken language of an audio file.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-audio-intelligence -a claude-code`. Or copy the skill folder (.agents/skills/deepgram-python-audio-intelligence in deepgram/deepgram-python-sdk) into .claude/skills/deepgram-python-audio-intelligence in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-audio-intelligence -a codex`. Or copy the skill folder (.agents/skills/deepgram-python-audio-intelligence in deepgram/deepgram-python-sdk) into .agents/skills/deepgram-python-audio-intelligence 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-audio-intelligence -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-audio-intelligence, .gemini/skills/deepgram-python-audio-intelligence, .github/skills/deepgram-python-audio-intelligence and .opencode/skills/deepgram-python-audio-intelligence in your project.
Going by SKILL.md and its folder, Deepgram Audio Intelligence for Python needs the command-line tools its instructions call (npx). 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 Audio Intelligence for Python 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.3k tokens (SKILL.md is roughly 9.3k 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 Audio Intelligence for Python: Deepgram JS Conversational Stt (deepgram/deepgram-js-sdk, 276 stars), Deepgram JS Voice Agent (deepgram/deepgram-js-sdk, 276 stars), Audio To Text (godot-fun/gai, 181 stars) and Transcribe Anything (swyxio/skills, 172 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 6, 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.