chore(main): release 7.5.0#743
Merged
GregHolmes merged 3 commits intoJul 15, 2026
Merged
Conversation
4d7e204 to
099f815
Compare
GregHolmes
previously approved these changes
Jul 15, 2026
The .fern/metadata.json sdkVersion drifted one release behind (7.4.1 vs the 7.5.0 stamped in pyproject.toml, client_wrapper.py user-agent, and X-Fern-SDK-Version) because release-please never bumped it. JS and Java already list .fern/metadata.json ($.sdkVersion) in their extra-files; add the matching entry here and correct the current stale value.
GregHolmes
approved these changes
Jul 15, 2026
Contributor
Author
|
🤖 Created releases: 🌻 |
GregHolmes
added a commit
to deepgram/cli
that referenced
this pull request
Jul 15, 2026
## Flux TTS in `dg speak` (Speak v2, WebSocket streaming) Adds Flux TTS to the `speak` command, websocket-first per the Flux TTS CLI ticket. ### What's in it - **`flux-*` models → Speak v2 WebSocket streaming** (`speak.v2.connect`); `aura-*` stay on Speak v1 batch REST. Raw `linear16` output is wrapped in **WAV** so it's directly playable. New `client.speak_text_stream()` helper + an `--encoding` guard (Flux streaming is `linear16`/`mulaw`/`alaw` only). - **Bug fixes (surfaced by non-prod base URLs):** - `_create_client` environment now derives `https` (REST) + `wss` (WebSocket) from the host and includes `agent_rest` — the old builder crashed on any custom base URL. - `verify_api_key` validates against the configured base URL instead of hardcoded production, so staging/non-prod keys pass the auth guard. - **New global options:** `--base-url` and `--api-key` (the explicit-credential path already existed; nothing fed it). - **Docs:** Flux (v1 vs v2) documented in `speak --help`/examples/agent_help, the `skills` Developer Guide (also migrated off the removed pre-Fern `SpeakOptions` API), and the README. ### Verification - `pytest`: **967 passing** (incl. new Flux speak tests). - `ruff` clean on changed files. - Live-tested against **staging**: `dg speak -m flux-alexis-en` → valid WAV; plus `aura` speak, `listen`, `read`, `models`, and manage commands. ##⚠️ Restrictions — do NOT merge/release yet 1. **Depends on an unreleased SDK.** This pins `deepgram-sdk>=7.5.0`, which is **not yet published** — it's the pending Python SDK release-please PR **deepgram/deepgram-python-sdk#743** (`chore(main): release 7.5.0`), which contains the Speak v2 streaming client this uses. **This PR must not merge/release until `deepgram-sdk` 7.5.0 is live on PyPI.** 2. **`uv sync` will fail until 7.5.0 ships** (can't resolve `>=7.5.0`). The lockfile needs regenerating once 7.5.0 is published. Local testing so far used an editable install of the SDK checkout (not part of this PR). 3. **EA scope — WebSocket only for Flux.** No Flux REST/batch in the CLI (per the ticket). 4. **No Flux voice listing.** `dg models` does not list Flux voices — the models service doesn't expose them yet (GA/API-side), so it's intentionally omitted.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release PR for 7.5.0 — compare v7.4.0...v7.5.0
What's in 7.5.0
#742 — Flux TTS streaming (Speak V2) + agent listen reconfigure
client.speak.v2.connect(...): newspeak/v2/package (client, socket client, request/response types), top-levelSpeakV2Encoding/SpeakV2MipOptOut/SpeakV2Model/SpeakV2SampleRate/SpeakV2Tag, and optionalsend_flush()/send_close()control messages.send_update_listen(...)withAgentV1UpdateListen/AgentV1UpdateListenListen, plus theAgentV1ListenUpdatedserver acknowledgement.eot_threshold,eager_eot_threshold,eot_timeout_ms.#744 — Flux TTS batch (REST) + agent latency report
client.speak.v2.audio.generate(...)(+ raw client): the REST companion to streaming.modelrequired (flux-only); optionalencoding/container/sample_rate/bit_rate/callback/callback_method/tag/mip_opt_out/priority. Nospeed(GA-only, excluded for EA).sample_rate/bit_rateare typed asint— a float like24000.0is rejected on the wire.SpeakV2AcceptedResponseJSON ack through the audio byte iterator as raw bytes; join the chunks and parserequest_idyourself (documented in the docstring; typed content-type dispatch tracked as a follow-up).AgentV1LatencyReport— new latency-report type + request, wired into the agent socket-client response union.interrupt— new value onAgentV1InjectAgentMessageBehavior.This PR was generated with Release Please.