Use when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Conversational STT v2 / Flux (`/v2/listen`) for turn-aware streaming transcription. Covers `client.listen.v2.createConnection()` / `connect()`, Flux models, and turn events like `TurnInfo`. Use `deepgram-js-speech-to-text` for standard v1 ASR and `deepgram-js-voice-agent` for full-duplex assistants. Triggers include "flux", "v2 listen", "conversational STT", "turn detection", "end of turn", "EOT", and "listen.v…
Use when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Conversational STT v2 / Flux (`/v2/listen`) for turn-aware streaming transcription.
Covers `client.listen.v2.createConnection()` / `connect()`, Flux models, and turn events like `TurnInfo`.
Use `deepgram-js-speech-to-text` for standard v1 ASR and `deepgram-js-voice-agent` for full-duplex assistants.
Triggers include "flux", "v2 listen", "conversational STT", "turn detection", "end of turn", "EOT", and "listen.v2".
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Socket methods from src/api/resources/listen/resources/v2/client/Socket.ts: sendMedia(...), sendCloseStream(...), sendListenV2Configure(...), waitForOpen().
Custom wrapper additions from src/CustomClient.ts: createConnection(...) alias and Node-only ping(...) helper.
Limitations
The current generated ListenV2Model type only exposes "flux-general-en".
Product docs mention broader Flux capabilities, but flux-general-multi / language_hint are not surfaced in this repo's generated types today.
API reference (layered)
In-repo reference: reference.md does not currently document listen.v2; use src/CustomClient.ts and src/api/resources/listen/resources/v2/client/{Client,Socket}.ts as the in-repo source of truth.
There is no REST path here. This skill is /v2/listen WebSocket only.
Current repo typing only allows flux-general-en. Treat multilingual Flux support as a product capability not yet reflected in this SDK surface.
Close with sendCloseStream, not sendFinalize. Finalize is the v1 pattern.
ping() is Node-only.src/CustomClient.ts throws in browsers because browser WS ping frames are not user-exposed.
createConnection() is lazy. Call connect() after registering handlers.
The example explicitly warns about access/availability. A 400 may mean your account or endpoint is not enabled yet, not that your socket code is wrong.
Omit encoding for containerized audio. Keep it for raw PCM/Opus streams.
Example files in this repo
examples/26-transcription-live-websocket-v2.ts
examples/27-deepgram-session-header.ts
Central product skills
For 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/skills
This SDK ships language-idiomatic code skills; deepgram/skills ships cross-language product knowledge (see api, docs, recipes, examples, starters, setup-mcp).