diff --git a/.env.example b/.env.example index e8e9079..16b6f50 100644 --- a/.env.example +++ b/.env.example @@ -42,10 +42,11 @@ OPENROUTER_API_KEY=sk-or-v1-your-key # LITELLM_API_KEY=sk-litellm-your-key # Admin can discover available models via the admin panel # -# LiteLLM Speech-to-Text (auto-enabled when LITELLM_API_BASE is set) +# LiteLLM Speech-to-Text # TRANSCRIBE_PROVIDER=litellm -# LiteLLM STT: NOT supported for Vertex AI Chirp via LiteLLM proxy. -# Use TRANSCRIBE_PROVIDER=google for Vertex AI / Gemini STT. +# LITELLM_STT_MODEL=whisper-1 # model_name alias in LiteLLM config +# NOTE: vertex_ai/chirp does NOT work via LiteLLM audio proxy. +# For Vertex AI speech, use TRANSCRIBE_PROVIDER=google (Gemini inline audio). # # LiteLLM TTS: WORKS — use the model_name alias from your LiteLLM model_list # TTS_PROVIDER=litellm (auto-detected when LITELLM_API_BASE set) diff --git a/src/routes/transcribe.js b/src/routes/transcribe.js index f8a93f7..3e26994 100644 --- a/src/routes/transcribe.js +++ b/src/routes/transcribe.js @@ -78,7 +78,10 @@ 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 || 'vertex_ai/chirp'; + // Default to whisper-1 — vertex_ai/chirp does NOT work via LiteLLM audio proxy. + // User should set LITELLM_STT_MODEL to their configured whisper alias, or + // use TRANSCRIBE_PROVIDER=google for Vertex AI / Gemini transcription instead. + var sttModel = process.env.LITELLM_STT_MODEL || 'whisper-1'; var FormData = require('form-data'); var axios = require('axios'); var form = new FormData();