fix(gateway): make voice transcription model configurable + router-compatible

- AI_VOICE_TRANSCRIPTION_MODEL config (default whisper-1) so the model can be a provider-qualified id (openrouter/openai/whisper-1) that actually has credentials through 9router/omniroute — bare whisper-1 maps to the openai provider which has none
- response_format json (not text): 9router proxies only json/verbose_json transcription responses; text returns 400
- parse text from the json response object
- prod env updated: model=openrouter/openai/whisper-1 (still needs OpenRouter STT balance — 402 until funded)
This commit is contained in:
asepharyana committed 2026-09-01 18:25:14 +07:00
1 parent 7ef86c81ca
commit c704fbf7a5
2 files changed
+12 -3

No files matched your search

@@ -340,6 +340,11 @@ export const configSchema = z
.optional()
.transform((v) => v === "true")
.default(false),
// Whisper model routed through the LLM base URL. Through 9router/omniroute
// use a provider-qualified id that has credentials (e.g.
// openrouter/openai/whisper-1) — bare `whisper-1` maps to the `openai`
// provider which the router rejects with "No credentials for provider".
AI_VOICE_TRANSCRIPTION_MODEL: z.string().default("whisper-1"),
// ── Auto Delete ─────────────────────────────────────────────────────
AUTO_DELETE_FLAGGED_ENABLED: z