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.
Writes and reviews Python code for Deepgram's turn-aware streaming speech-to-text (Flux, /v2/listen), including end-of-turn detection.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-conversational-stt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-conversational-stt --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-conversational-stt .claude/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .claude/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-sttType 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-conversational-stt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-conversational-stt --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-conversational-stt .agents/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .agents/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-stt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-conversational-stt --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-conversational-stt .cursor/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .cursor/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-stt--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-conversational-stt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-conversational-stt --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-conversational-stt .gemini/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .gemini/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-sttInstalls 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-conversational-stt -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-conversational-stt .github/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .github/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-stt -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-conversational-stt --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-conversational-stt .opencode/skills/deepgram-python-conversational-stt && 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-conversational-stt" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-conversational-stt into .opencode/skills/deepgram-python-conversational-stt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-conversational-stt", 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-conversational-sttWrites and reviews Python code for Deepgram's turn-aware streaming speech-to-text (Flux, /v2/listen), including end-of-turn detection.
The skill covers the `client.listen.v2.connect` call, a websocket-only endpoint with no REST path, built for conversational audio with explicit turn boundaries, eager end-of-turn signals and barge-in scenarios. It requires a Flux model, `flux-general-en` for English or `flux-general-multi` for multilingual, and v2 has no `language` parameter, only a `language_hint` for the multilingual model.
Key parameters include `encoding`, `sample_rate` (passed as a string), `eager_eot_threshold`, `eot_threshold`, `eot_timeout_ms` and `keyterm`. For application-controlled turns, set `eot_threshold` to the string `1.0` with a large timeout and call `send_force_end_turn()`, which needs deployment enablement. The skill sends general transcription to `deepgram-python-speech-to-text`, interactive voice agents to `deepgram-python-voice-agent` and analytics to `deepgram-python-audio-intelligence`, and its authentication example loads the key from the environment.
4 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.
Links to these hosts (documentation or services it may open):
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 Flux Conversational STT loads about 1.8k tokens when it runs. Until then it costs about 138 tokens; SKILL.md has 476 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). 476 words, ~1,792 tokens.
.claude/skills/deepgram-python-conversational-stt/SKILL.md (or your agent's skills folder).Turn-aware streaming STT at /v2/listen — optimized for conversational audio (end-of-turn detection, eager EOT, barge-in scenarios).
Use a different skill when:
deepgram-python-speech-to-text.deepgram-python-voice-agent.deepgram-python-audio-intelligence.import os
from dotenv import load_dotenv
load_dotenv()
from deepgram import DeepgramClient
client = DeepgramClient(api_key=os.environ["DEEPGRAM_API_KEY"])Header: Authorization: Token <api_key>. WSS only — no REST path on v2.
import threading, time
from pathlib import Path
from deepgram.core.events import EventType
from deepgram.listen.v2.types import (
ListenV2CloseStream,
ListenV2Connected,
ListenV2FatalError,
ListenV2TurnInfo,
)
with client.listen.v2.connect(
model="flux-general-en",
encoding="linear16",
sample_rate="16000",
) as conn:
def on_message(m):
if isinstance(m, ListenV2TurnInfo):
print(f"turn {m.turn_index} [{m.event}] {m.transcript}")
elif isinstance(m, dict): # untyped fallback
if m.get("type") == "TurnInfo":
print(f"turn {m.get('turn_index')} [{m.get('event')}] {m.get('transcript')}")
else:
print(f"event: {getattr(m, 'type', type(m).__name__)}")
conn.on(EventType.OPEN, lambda _: print("open"))
conn.on(EventType.MESSAGE, on_message)
conn.on(EventType.CLOSE, lambda _: print("close"))
conn.on(EventType.ERROR, lambda e: print(f"err: {type(e).__name__}: {e}"))
def send_audio():
for chunk in mic_chunks(): # 80ms recommended
conn.send_media(chunk)
time.sleep(0.01)
conn.send_close_stream(ListenV2CloseStream(type="CloseStream"))
threading.Thread(target=send_audio, daemon=True).start()
conn.start_listening()| Param | Notes |
|---|---|
model | flux-general-en (English) or flux-general-multi (multilingual) — REQUIRED, must be a Flux model |
encoding | linear16, mulaw, etc. Omit for containerized audio |
sample_rate | String in the SDK signature, e.g. "16000" |
eager_eot_threshold | Fire end-of-turn early at this confidence |
eot_threshold | Primary end-of-turn confidence; set to "1.0" to suppress confidence-based endings |
eot_timeout_ms | Time-based fallback turn end; still applies when eot_threshold="1.0" |
keyterm | Bias for domain keywords |
mip_opt_out, tag | Metadata / privacy flags |
language_hint | ONLY for flux-general-multi |
authorization, request_options | Override auth or request options |
No language parameter on v2 — language is implied by model (flux-general-en) or hinted via language_hint on multi.
For application-controlled turns, use eot_threshold="1.0" with a sufficiently large eot_timeout_ms, then call conn.send_force_end_turn() for the active turn. ForceEndTurn requires deployment enablement; see examples/16-transcription-force-end-turn.py.
ListenV2Connected — connection establishedListenV2ConfigureSuccess / ListenV2ConfigureFailure — mid-session config changesListenV2TurnInfo — per-turn transcript + event (Update, EndOfTurn, EagerEndOfTurn, ...) + turn_indexListenV2FatalError — terminal errorClient messages: ListenV2Media, ListenV2Configure, ListenV2ForceEndTurn, ListenV2CloseStream.
from deepgram import AsyncDeepgramClient
client = AsyncDeepgramClient()
async with client.listen.v2.connect(model="flux-general-en", ...) as conn:
# same .on(...) handlers, then:
await conn.start_listening()reference.md — "Listen V2 Connect"./llmstxt/developers_deepgram_llms_txt./v2/listen, not /v1/listen. Different route, different client path (listen.v2 vs listen.v1).nova-3, base, etc. will be rejected. Use flux-general-en or flux-general-multi.language parameter. Language is set by model choice. Use language_hint on flux-general-multi.sample_rate is a STRING in the SDK (e.g. "16000").send_close_stream(ListenV2CloseStream(type="CloseStream")) — not send_finalize (that's v1).construct_type for unknowns. Handle both branches (see socket_client.py patch in .fernignore).socket_client.py is patched / frozen (see .fernignore → src/deepgram/listen/v2/socket_client.py). Don't overwrite that manual patch during regeneration; treat other listen/v2 files as generated unless the regen workflow says otherwise.encoding/sample_rate for containerized audio (WAV, OGG, etc.) — the server detects them from the container.examples/14-transcription-live-websocket-v2.pytests/manual/listen/v2/connect/main.pydeepgram-python-speech-to-text — v1 general-purpose STT (REST + WSS)deepgram-python-voice-agent — full interactive assistantFor 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-conversational-stt of deepgram/deepgram-python-sdk.
Open the folder on GitHubat commit 5c2f3af
Deepgram Flux Conversational STT 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 Flux Conversational STT this skilldeepgram/deepgram-python-sdk | 469 | — | ~1.8k | 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
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
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
Writes and reviews Python code for Deepgram's turn-aware streaming speech-to-text (Flux, /v2/listen), including end-of-turn detection. connect` call, a websocket-only endpoint with no REST path, built for conversational audio with explicit turn boundaries, eager end-of-turn signals and barge-in scenarios. It requires a Flux model, `flux-general-en` for English or `flux-general-multi` for multilingual, and v2 has no `language` parameter, only a `language_hint` for the multilingual model.
Deepgram Flux Conversational STT fits situations like: building a conversational UI that needs explicit turn boundaries; streaming transcription with Flux models and low-latency end-of-turn signals; reviewing Python code that calls listen.v2.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-conversational-stt -a claude-code`. Or copy the skill folder (.agents/skills/deepgram-python-conversational-stt in deepgram/deepgram-python-sdk) into .claude/skills/deepgram-python-conversational-stt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-conversational-stt -a codex`. Or copy the skill folder (.agents/skills/deepgram-python-conversational-stt in deepgram/deepgram-python-sdk) into .agents/skills/deepgram-python-conversational-stt 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-conversational-stt -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-conversational-stt, .gemini/skills/deepgram-python-conversational-stt, .github/skills/deepgram-python-conversational-stt and .opencode/skills/deepgram-python-conversational-stt in your project.
Going by SKILL.md and its folder, Deepgram Flux Conversational STT needs the command-line tools its instructions call (npx) and credentials named DEEPGRAM_API_KEY. Our summary lists: A Deepgram API key; Python with the Deepgram SDK installed.
SKILL.md names 1 domain. 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 Flux Conversational STT is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k 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 Flux Conversational STT: 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.