From 92df3f907c5d811a64fcc990a2f0af01a5bd31ea Mon Sep 17 00:00:00 2001 From: Richard R Date: Sat, 6 Jun 2026 16:18:40 -0600 Subject: [PATCH] fix(tts): correct language input handling for Replicate Kokoro model Adjust language input resolution in TTS generation to ensure Replicate Kokoro model receives the appropriate language code mapping even when the language property is absent or falsy. Update tests to cover this scenario and verify correct input construction. --- src/lib/server/tts/generate.ts | 2 +- tests/unit/tts-generate.vitest.spec.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/lib/server/tts/generate.ts b/src/lib/server/tts/generate.ts index bbbbd48..0b2f719 100644 --- a/src/lib/server/tts/generate.ts +++ b/src/lib/server/tts/generate.ts @@ -521,7 +521,6 @@ async function addReplicateLanguageInput( input: Record, request: ResolvedServerTTSRequest, ): Promise> { - if (!request.language) return input; if (request.model === REPLICATE_KOKORO_82M_VERSIONED_MODEL) { const languageCode = resolveReplicateKokoroLanguageCode({ language: request.language, @@ -532,6 +531,7 @@ async function addReplicateLanguageInput( } return input; } + if (!request.language) return input; const languageInput = await resolveReplicateLanguageInput({ provider: 'replicate', model: request.model as string, diff --git a/tests/unit/tts-generate.vitest.spec.ts b/tests/unit/tts-generate.vitest.spec.ts index d5e79ec..e32f6d3 100644 --- a/tests/unit/tts-generate.vitest.spec.ts +++ b/tests/unit/tts-generate.vitest.spec.ts @@ -105,5 +105,20 @@ describe('Replicate language schema values', () => { voice: 'bf_emma', language_code: 'b', }); + + await expect(buildReplicateInput({ + text: 'Hello world', + voice: 'af_sarah', + speed: 1, + format: 'mp3', + model: REPLICATE_KOKORO_82M_VERSIONED_MODEL, + provider: 'replicate', + apiKey: 'r8_token', + testNamespace: null, + })).resolves.toEqual({ + text: 'Hello world', + voice: 'af_sarah', + language_code: 'a', + }); }); });