Skip to navigation

Update Nova-3 Keyterms Mid-Stream from the SDKs, Play Audio from the CLI, and Deepgram Skills v1.7.0

Deepgram Python SDK v7.13.0, JavaScript SDK v5.15.0, and Java SDK v0.11.1 let you reconfigure an active Nova-3 stream without reconnecting, including keyterms and numerals, and add custom Think-provider messages for Voice Agent sessions. Go SDK v3.9.0, .NET SDK v7.1.3, Rust SDK v0.12.0 and v0.13.0, Deepgram CLI v0.3.3, and Deepgram skills v1.7.0 are also available.

Each Configure message replaces the stream’s keyterms and turns formatting features on or off through a features object, for example "features": { "numerals": true }. Updating keyterms mid-stream is available on the global endpoint (api.deepgram.com) only. For limits and error behavior, see Configure.

Python SDK v7.13.0

Deepgram Python SDK v7.13.0 adds connection.send_configure(ListenV1Configure(...)) to change keyterms and formatting options such as numerals on a live Listen V1 stream. Most Configure rejections arrive as typed ListenV1Error responses. Voice Agent sessions can exchange experimental custom Think-provider payloads with send_custom_to_think_provider(...) and AgentV1CustomFromThinkProvider responses, which require a configured custom Think-provider WebSocket endpoint.

For release details, see deepgram-python-sdk v7.13.0.

JavaScript SDK v5.15.0

Deepgram JavaScript SDK v5.15.0 adds sendConfigure({ type: "Configure", ... }) for live Listen V1 streams, with most rejections delivered as typed ListenV1Error messages, and the experimental sendCustomToThinkProvider(...) for Voice Agent sessions.

WebSocket connection errors now retry through the configured reconnectAttempts budget unless your application closed the socket. For custom transports, the retry budget resets after a connection stays open for the default five-second stable period.

For release details, see deepgram-js-sdk v5.15.0.

Java SDK v0.11.1

Deepgram Java SDK v0.11.1 adds sendConfigure(ListenV1Configure) for live Listen V1 streams and onErrorMessage(...) for typed server errors. When no typed handler is registered, onError(...) receives a ListenV1ErrorException that carries the server error. Voice Agent sessions gain the experimental sendCustomToThinkProvider(...) and onCustomFromThinkProvider(...), which require a custom Think-provider wss:// endpoint.

For release details, see deepgram-java-sdk v0.11.1.

Go SDK v3.9.0

Deepgram Go SDK v3.9.0 supports the current Voice Agent function-call protocol with typed function requests, responses, and cancellation events. Function settings accept arbitrary JSON Schema properties, and client-side functions can omit an endpoint. The Management client adds create, read, update, and delete endpoints for reusable Voice Agent configurations and Agent template variables. Configurations are stored and returned as JSON strings, and an update to a configuration replaces its metadata only.

For release details, see deepgram-go-sdk v3.9.0.

.NET SDK v7.1.3

Deepgram .NET SDK v7.1.3 makes LiveSchema.Model optional on the Listen V1 WebSocket. Connect no longer throws NullReferenceException when you omit the model. Keyterms with an explicit non-Nova-3 model still fail validation with DeepgramException.

For release details, see deepgram-dotnet-sdk 7.1.3.

Rust SDK v0.13.0

Deepgram Rust SDK v0.13.0 adds Text Intelligence analysis, SRT and WebVTT caption helpers, Voice Agent Flux and Aura speak settings with integer expressivity, typed Voice Agent server events, model listing that includes outdated models, streaming TTS options, named Aura-2 models, and self-hosted distribution credential management. Pre-recorded and streaming responses expose extra metadata, and Entity::raw_value preserves the spoken text before formatting.

It also fixes a streaming worker that stopped when the idle timer fired without keep-alive, a Flux TTS deadlock on terminal errors under backpressure, and usage requests that omit the audio meter group.

This pre-1.0 release includes breaking changes:

  • Details::duration and Details::total_audio are now Option<f64>, and Details::channels and Details::streams are now Option<usize>. An absent value means the meter group was omitted, which is different from zero usage.
  • Management and Auth::grant calls now use the configured base URL. To keep sending them to the hosted API from a custom-base-URL setup, create a separate client with Deepgram::new(api_key). A base URL with a path prefix must end in /.
  • Streaming metadata and StreamResponse::TerminalResponse are non-exhaustive. Pattern matches must include .., and you can’t build these types with struct literals.
  • Named Whisper models and redaction values parse to their own variants, so code that matched them as CustomId or Other must match the named variants.
  • Speak::speak_to_file no longer prints a success message to stdout.

For release details, see deepgram-rust-sdk 0.13.0.

Rust SDK v0.12.0

Deepgram Rust SDK v0.12.0 fixes a hang on /v1/listen and /v2/listen streaming sessions when the response channel filled up, delivers the terminal transport error to your code, and preserves unknown streaming frames. WebSocket requests now send the full authority in the Host header.

This pre-1.0 release includes a behavior change: sending data on an ended /v1/listen session now returns Err, where v0.11.0 returned Ok(()).

For release details, see deepgram-rust-sdk 0.12.0.

Deepgram CLI v0.3.3

Deepgram CLI v0.3.3 adds two flags to dg speak. --play sends audio to your system player (ffplay, afplay, paplay, or aplay) and works with -o to save and play in one command. --list-voices lists the available text-to-speech voices and their languages.

dg skills now installs Deepgram skills v1.7.0 from a pinned, hash-checked bundle, installs and removes only the skill folders the CLI owns, and cleans up skill files it can prove an earlier 0.3.x release wrote.

For release details, see deepgram/cli v0.3.3.

Deepgram skills v1.7.0

Deepgram skills give AI coding assistants such as Claude Code, Cursor, and Codex up-to-date Deepgram API, SDK, and CLI guidance. The deepgram plugin now lists 14 skills, including the speech-to-text, text-to-speech, voice-agent, audio-intelligence, text-intelligence, browser-agent, and cli skills added in v1.6.0.

v1.7.0 updates all 14 skills for the September API, SDK, and CLI changes, including Flux TTS pause markers and Early Access pronunciation overrides, the Flux STT Warning message and mid-stream numerals, the Voice Agent reusable-configuration and agent-variable endpoints, and FunctionCallCancelled. The skills also correct which SDKs support each feature and add the EU, Australia, and India regional endpoints.

Install with npx skills add deepgram/skills or dg skills. For release details, see deepgram/skills v1.7.0.

Earlier releases

These releases, from September 14 through October 5, did not get their own changelog entries:

  • Python SDK v7.10.0, JavaScript SDK v5.12.0, and Java SDK v0.10.1 add Voice Agent FunctionCallCancelled events and the defer_until_eot function setting. JavaScript streaming sockets also support for await...of.
  • Python SDK v7.11.0, JavaScript SDK v5.13.0, and Java SDK v0.10.2 turn Numerals on or off during a Flux STT stream with Configure.
  • Python SDK v7.12.0, JavaScript SDK v5.14.0, and Java SDK v0.11.0 add Flux TTS pause markers for batch synthesis and Early Access pronunciation overrides; see Speed, Pause, and Pronunciation. Python also adds typed Flux STT Warning messages.
  • Go SDK v3.8.0 adds a Flux TTS client for batch and WebSocket synthesis, and ForceEndTurn for Flux STT. Go SDK v3.7.1 fixes Speak V1 WebSocket metadata and the Clear control message.
  • .NET SDK v7.1.2 surfaces unknown WebSocket server frames through the Unhandled event and adds opt-in DeepgramWebSocketException errors for rejected WebSocket upgrades.
  • Rust SDK v0.11.0 adds the rustls-tls-native-roots feature and Deepgram::tls_config for TLS-inspecting proxies and private CAs. This release includes a breaking change: a Flux wss:// connection behind a private CA that worked on v0.10.1 only because another crate enabled native roots now fails with UntrustedTlsCertificate until you enable rustls-tls-native-roots or pass Deepgram::tls_config.
  • Deepgram CLI v0.3.2 keeps stdout parseable for scripts and corrects advertised command examples.