chatty / app /api /endpoints /tts.py
GitHub Action
Deploy to Hugging Face Space
3470cf9
Raw
History Blame Contribute Delete
680 Bytes
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")