fix(coach): use nova-2-general for ar/tr STT to avoid 400 errors
This commit is contained in:
parent
6d59bfd62b
commit
d31d5b3b83
@ -83,31 +83,39 @@ export default defineEventHandler(async (event) => {
|
||||
buffer.length,
|
||||
);
|
||||
|
||||
// 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).
|
||||
// Deepgram language mapping.
|
||||
// Live-Diagnose (2026-05-30): nova-3 lehnt language=ar (und tr) mit
|
||||
// 400 "No such model/language/tier combination found" ab — entgegen
|
||||
// der vorherigen Annahme. Fallback für ar/tr: nova-2-general
|
||||
// (multilingual auto-detect). Für alle anderen Sprachen bleibt nova-3
|
||||
// (bessere Genauigkeit, diskrete language-codes).
|
||||
const deepgramLang =
|
||||
language &&
|
||||
["de", "en", "tr", "ar", "fr", "es", "pt", "it"].includes(language)
|
||||
? language
|
||||
: "de";
|
||||
|
||||
const needsGeneralModel = ["ar", "tr"].includes(deepgramLang);
|
||||
const deepgramUrl = needsGeneralModel
|
||||
? "https://api.deepgram.com/v1/listen?model=nova-2-general"
|
||||
: `https://api.deepgram.com/v1/listen?language=${deepgramLang}&model=nova-3`;
|
||||
|
||||
console.log(
|
||||
"[transcribe] language:",
|
||||
deepgramLang,
|
||||
"model:",
|
||||
needsGeneralModel ? "nova-2-general" : "nova-3",
|
||||
);
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://api.deepgram.com/v1/listen?language=${deepgramLang}&model=nova-3`,
|
||||
{
|
||||
const response = await fetch(deepgramUrl, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Token ${config.deepgramApiKey}`,
|
||||
"Content-Type": blobType,
|
||||
},
|
||||
body: buffer,
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user