from fastapi import APIRouter, UploadFile, File from services.stt_service import speech_to_text from models.stt import STTResponse import os import uuid router = APIRouter(prefix="/stt", tags=["Speech To Text"]) @router.post("/", response_model=STTResponse) async def convert_stt(file: UploadFile = File(...)): temp_name = f"audio/temp/{uuid.uuid4()}_{file.filename}" with open(temp_name, "wb") as f: f.write(await file.read()) text = speech_to_text(temp_name) os.remove(temp_name) return STTResponse(text=text)