Repository navigation
Releases
v0.3.0
Image: spekoai/gateway:0.3.0 (also :0.3)
What's Changed
- Add Omi omi-medical-1 STT adapters under a new omi provider by @twinarta in #151
- fix(meta): bill client-closed transcribe sessions as complete by @Baymurat785 in #148
- fix(elevenlabs): flush each clause on the dialogue socket so v3/v4 speak sooner by @Baymurat785 in #143
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What changed for you
Faster first audio in the LiveKit plugin. speko_gateway.livekit.TTS now keeps one Gateway session open and ready for the next reply. A reply's first text no longer waits for a session and its provider connection to open. With managed ElevenLabs, that also takes the provider's token check out of the path to first audio. In direct measurements of that connection from Southeast Asia, first audio on eleven_v4_turbo took 553 ms P50 when text was sent right after connecting, and 59 ms on a connection that was already open.
What you need to do. Rebuild your agent image on spekoai/gateway:0.2. No code changes are needed. LiveKit calls prewarm() when your agent starts, and that opens the first standby session.
One more open session per agent.
- Between replies, each
TTSholds one extra Gateway session and provider connection. During a reply it holds two. - These count toward your organization's concurrent-session limit, the Gateway's
SPEKO_MAX_SESSIONS, and provider connection limits. - With managed credentials, each open session also reserves credit for its
max_input_characters. - If you run close to any of these limits, raise them before you upgrade, or lower
max_input_characters.
Opting out. TTS(standby_sessions=0) restores the previous behavior.
Cleanup. A standby that no reply uses closes after 3 minutes. LiveKit does not close the TTS when a session ends, so call aclose() to release it sooner.
The Pipecat integration is unchanged in this release.
Image: spekoai/gateway:0.2.0 (also :0.2)
What's Changed
- Versioned releases with a changelog customers can watch by @Baymurat785 in #145
- feat(livekit): keep a standby TTS gateway session for the next reply by @Laroikin in #146
Full Changelog: v0.1.0...v0.2.0
v0.1.0
First versioned Gateway release. Pin spekoai/gateway:0.1.0 (exact) or spekoai/gateway:0.1 (gets 0.1.x fixes) instead of :latest. :latest moves with every merge to main.
What changed for you
- Fixed: managed STT and TTS sessions failed with
invalid_request(HTTP 400) on thesha-1506cd4image from 2026-11-04 01:34 UTC. That image sent aruntime.incarnation_idfield that the Speko control plane does not accept yet. (#144) - Gateway now reports verified provider account occupancy to the control plane (instance protocol 3). No configuration change needed. (#140)
- Runtime instance reporting uses fenced process lifetimes. (#137, #139)
- Credential refresh keeps opaque session and attempt IDs intact in the request path. (#136, #140)
- Gemini TTS sends the requested language as
speechConfig.languageCode. (#135)
Image: spekoai/gateway:0.1.0 (also :0.1), commit 5e18cdf.