from __future__ import annotations import logging from fastapi import APIRouter, Depends, Query from fastapi.responses import Response from app.api.auth import get_current_user_id from app.pipelines.tts import generate_speech router = APIRouter(tags=["tts"]) log = logging.getLogger(__name__) @router.get("/tts") async def tts_endpoint( text: str = Query(max_length=500), voice: str = Query(default="Kore"), _user_id: int = Depends(get_current_user_id), ) -> Response: """Generate speech audio via Gemini Live. Cached: same text+voice = instant replay.""" ogg = await generate_speech(text, voice) return Response(content=ogg, media_type="audio/ogg")