diff --git a/package.json b/package.json index 14e57a3..0f99326 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "assemblyai", - "version": "4.34.4", + "version": "4.34.5", "description": "The AssemblyAI JavaScript SDK provides an easy-to-use interface for interacting with the AssemblyAI API, which supports async and real-time transcription, as well as the latest LeMUR models.", "engines": { "node": ">=18" diff --git a/src/services/streaming/service.ts b/src/services/streaming/service.ts index b1249dd..1bb5537 100644 --- a/src/services/streaming/service.ts +++ b/src/services/streaming/service.ts @@ -283,6 +283,10 @@ export class StreamingTranscriber { searchParams.set("speech_model", this.params.speechModel.toString()); } + if (this.params.languageCode !== undefined) { + searchParams.set("language_code", this.params.languageCode); + } + if (this.params.languageDetection !== undefined) { searchParams.set( "language_detection", diff --git a/src/types/streaming/index.ts b/src/types/streaming/index.ts index 91e4516..e24557b 100644 --- a/src/types/streaming/index.ts +++ b/src/types/streaming/index.ts @@ -93,6 +93,7 @@ export type StreamingTranscriberParams = { prompt?: string; agentContext?: string; speechModel?: StreamingSpeechModel; + languageCode?: string; languageDetection?: boolean; domain?: StreamingDomain; inactivityTimeout?: number; diff --git a/tests/unit/streaming.test.ts b/tests/unit/streaming.test.ts index dacecea..4914453 100644 --- a/tests/unit/streaming.test.ts +++ b/tests/unit/streaming.test.ts @@ -303,6 +303,24 @@ describe("streaming", () => { await connect(rt, server); }); + it("should include language_code in connection URL", async () => { + await cleanup(); + WS.clean(); + + const wsUrl = `${websocketBaseUrl}?token=123&sample_rate=16000&speech_model=u3-rt-pro&language_code=es`; + server = new WS(wsUrl); + rt = new StreamingTranscriber({ + websocketBaseUrl, + token: "123", + sampleRate: 16_000, + speechModel: "u3-rt-pro", + languageCode: "es", + }); + onOpen = jest.fn(); + rt.on("open", onOpen); + await connect(rt, server); + }); + it("should include whisper-rt speech model in connection URL", async () => { await cleanup(); WS.clean();