From 4f788e640e8ceb98e6c72bfb9b0bf5424e51ae2b Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Fri, 29 May 2026 23:45:50 +0200 Subject: [PATCH] =?UTF-8?q?fix(coach):=20STT=20auf=20Deepgram=20nova-3=20?= =?UTF-8?q?=E2=80=94=20fixt=20Arabisch/T=C3=BCrkisch-Transcription?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nova-2 unterstützt kein ar/tr → Deepgram 400 "No such model/language/tier combination" → leeres Transcript ("kein Text nach Speech"). nova-3 deckt alle gelisteten Sprachen als diskrete Codes ab (de/en/tr/ar/fr/es/pt/it), ohne Regression. Verifiziert gg. Deepgram models-languages-overview. Co-Authored-By: Claude Opus 4.8 --- backend/server/api/coach/transcribe.post.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/server/api/coach/transcribe.post.ts b/backend/server/api/coach/transcribe.post.ts index d3ef7eb..cd73983 100644 --- a/backend/server/api/coach/transcribe.post.ts +++ b/backend/server/api/coach/transcribe.post.ts @@ -83,7 +83,13 @@ export default defineEventHandler(async (event) => { buffer.length, ); - // Deepgram language mapping (de/en/tr/ar direkt unterstützt) + // Deepgram language mapping. WICHTIG: model=nova-3, NICHT nova-2 — + // nova-2 unterstützt weder Arabisch (ar) noch Türkisch (tr) und antwortet + // dafür mit 400 "No such model/language/tier combination" → leeres + // Transcript / Fehler beim Client ("kein Text nach Speech"). nova-3 deckt + // alle hier gelisteten Sprachen als diskrete Codes ab (inkl. ar + tr), + // ohne Regression für de/en/fr/es/pt/it. Verifiziert gg. Deepgram-Doc + // models-languages-overview (2026-05). const deepgramLang = language && ["de", "en", "tr", "ar", "fr", "es", "pt", "it"].includes(language) @@ -92,7 +98,7 @@ export default defineEventHandler(async (event) => { try { const response = await fetch( - `https://api.deepgram.com/v1/listen?language=${deepgramLang}&model=nova-2`, + `https://api.deepgram.com/v1/listen?language=${deepgramLang}&model=nova-3`, { method: "POST", headers: {