Fix STT/TTS model paths: use exact vertex_ai/ paths for LiteLLM routing

LiteLLM aliases (whisper-1, tts-1) don't resolve in audio endpoints —
only chat completions support alias routing. Use exact paths:
- STT default: vertex_ai/chirp (was whisper-1)
- TTS default: vertex_ai/text-to-speech (was tts-1)
Override via LITELLM_STT_MODEL / LITELLM_TTS_MODEL in .env.
This commit is contained in:
Daniel Onyejesi 2026-03-29 22:28:32 -04:00
parent f080a220e2
commit 0bd3ff787b
3 changed files with 5 additions and 5 deletions

View file

@ -35,12 +35,12 @@ OPENROUTER_API_KEY=sk-or-v1-your-key
#
# LiteLLM Speech-to-Text (auto-enabled when LITELLM_API_BASE is set)
# TRANSCRIBE_PROVIDER=litellm
# LITELLM_STT_MODEL=whisper-1 # or: groq/whisper-large-v3, openai/whisper-1
# LITELLM_STT_MODEL=vertex_ai/chirp # or: vertex_ai/chirp_2 for newer model
#
# LiteLLM Text-to-Speech (auto-enabled when LITELLM_API_BASE is set)
# TTS_PROVIDER=litellm
# LITELLM_TTS_MODEL=tts-1 # or: tts-1-hd, openai/tts-1
# LITELLM_TTS_VOICE=alloy # alloy, echo, fable, onyx, nova, shimmer
# LITELLM_TTS_MODEL=vertex_ai/text-to-speech # voice is set inside LiteLLM per model
# LITELLM_TTS_VOICE is ignored for Vertex AI — voice is configured in LiteLLM model entry
# ============================================================
# TRANSCRIPTION (speech-to-text)

View file

@ -70,7 +70,7 @@ router.post('/transcribe', authMiddleware, upload.single('audio'), async (req, r
if (provider === 'litellm') {
if (!process.env.LITELLM_API_BASE) return res.status(400).json({ error: 'LITELLM_API_BASE not set.' });
var sttModel = process.env.LITELLM_STT_MODEL || 'whisper-1';
var sttModel = process.env.LITELLM_STT_MODEL || 'vertex_ai/chirp';
var FormData = require('form-data');
var axios = require('axios');
var form = new FormData();

View file

@ -26,7 +26,7 @@ router.post('/text-to-speech', authMiddleware, async (req, res) => {
if (ttsProvider === 'litellm') {
if (!process.env.LITELLM_API_BASE) return res.status(400).json({ error: 'LITELLM_API_BASE not set.' });
var ttsModel = process.env.LITELLM_TTS_MODEL || 'tts-1';
var ttsModel = process.env.LITELLM_TTS_MODEL || 'vertex_ai/text-to-speech';
var base = process.env.LITELLM_API_BASE.replace(/\/+$/, '');
var ttsHeaders = { 'Content-Type': 'application/json' };
if (process.env.LITELLM_API_KEY) ttsHeaders['Authorization'] = 'Bearer ' + process.env.LITELLM_API_KEY;