Releases: HumeAI/hume-typescript-sdk
Releases · HumeAI/hume-typescript-sdk
0.15.2
What's Changed
- Remove more directory exports/imports by @twitchard in #578
Full Changelog: 0.15.1...0.15.2
0.15.1
0.15.0
What's Changed
-
Fern upgrade by @twitchard in #567
- (feat) We now support the
humeClient.tts.streamInput()bidirectional websocket endpoint! - (feat) The library is now provided as a dual ESM/CommonJS module
- Note: bundlers like
vitewill now prefer importinghumeas an ES Module. This may trigger import errors as the ES Module interface is stricter about what imports are allowed. Please either configure your bundler to importhumeas a CommonJS module or follow the instructions below to migrate your imports.
- Note: bundlers like
- (feat) Requests across the API now support specifying
queryParamsandheaders. - (break) Resource clients (not typically instantiated directly by users) don't support
accessTokenanymore, or specifyingenvironmentas a URL. This is still possible in the overarchingHumeClient. .voiceIdis deprecated inhumeClient.evi.chat({...})in favor of.sessionSettings.voiceId- (feat) Type of
synthesizeFilereturn is nowcore.BinaryResponserather thanstream.Readable - (feat)
chatSocket.sendBinary(...)will send raw audio bytes over the chat stream await chatSocket.tillSocketOpen()is deprecated in favor ofawait chatSocket.waitForOpen()- (feat) When instantiating a
HumeClientyou can specify an object like - (feat) Deserialization is now more forgiving, which should improve error messages and forward compatibility with API changes.
where
{ base: "https://example.com/", evi: "wss://example.com/v0/evi", tts: "wss://example.com/v0/tts", stream: "wss://example.com/v0/stream", }
basedetermines the base for all REST api operations,
evidetermines the base for the EVI/chatwebsocket
ttsdetermines the base for thestreamInputwebsocket
streamdetermines the base for the expression measurement streaming websocket. - (break) HumeEnvironment.Production is now
HumeEnvironment.Prodand it is no longer a single string. - (break) You can no longer instantiate resource clients directly with
environmentas a string, or directly with an accessToken. This does not affect typical users who instantiateHumeClient.
- (feat) We now support the
-
No no-cache by @twitchard in #562
Migrating to the ES-compatible exports
ES Modules are stricter about where you are allowed to import from. For example, each of these three imports will fail
import type { SubscribeEvent } from 'hume/api/resources/empathicVoice';
import { AssistantMessage } from 'hume/serialization/resources/empathicVoice/index.js';
import type { CloseEvent } from 'hume/core';because only hume and hume/serialization are supported export paths. You must import these symbols from the supported import locations.
import { type Hume } from 'hume'
type SubscribeEvent = Hume.empathicVoice.SubscribeEvent
import * as HumeSerialization from 'hume/serialization'
const AssistantMessage = HumeSerialization.empathicVoice.AssistantMessage
// Not directly exported, will be exported in a future release, but available via reference
type CloseEvent = Parameters<NonNullable<Hume.empathicVoice.chat.ChatSocket.EventHandlers['close']>
+>[0];Full Changelog: 0.14.1...0.15.0
0.14.1
0.14.0
What's Changed
This is a significant release, corresponding to the release of our new multilingual Text-to-Speech model, Octave 2 (preview), and our multilingual-capable EVI version, 4-mini. See the announcement.
- #548
- TTS:
version: "2"is now supported in all TTS requests. Octave 2 (preview) has multilingual capabilities, however does not currently support thedescriptionfield. If you require acting instructions or voice design, please continue to use Octave 1. Voices saved with Octave 1 are forwards-compatible with Octave 2 -- however voices saved using Octave 2 are not backwards-compatible with Octave 1. - TTS: Word-level and phoneme-level timestamps are now available for TTS created using Octave 2. This enables use cases such as word highlighting or lip-syncing. Pass
version: "2", includeTimestampTypes=['word', 'phoneme']intosynthesizeJsonStreamingto receive timestamp messages, or access the.timestampsfield onSnippet. - (break) The type of messages yielded by
synthesizeJsonStreaminghas changed fromSnippetAudioChunktoTtsOutput(= SnippetAudioChunk | TimestampMessage)- EVI: version
4-miniis now supported. Configs using4-minimust specify a supplemental LLM and cannot enable quick responses.
- EVI: version
- EVI: new supplemental LLMs:
claude-sonnet-4-5-20250929andgrok-4-fast-non-reasoning-latest
- TTS:
Full Changelog: 0.13.8...0.14.0
0.13.8
What's Changed
- #530: Make
SilenceFiller.tsmore cross-platform (@twitchard)
Full Changelog: 0.13.7...0.13.8
0.13.7
0.13.6
What's Changed
- #533: (fix) More universally supply accessToken (@twitchard)
Full Changelog: 0.13.5...0.13.6
0.13.5
What's Changed
- #523: Fern Generation (@app/fern-api)
- Add
voiceIdto session_settings. You can now change voices within an EVI chat! - Add
requestIdfield toSnippetAudioChunkto aid in debugging.
- Add
- #525: Add
collateandSilenceFillerhelpers (@twitchard)
Full Changelog: 0.13.4...0.13.5