File size: 645 Bytes
38822a8
 
 
a38b4f9
38822a8
 
a38b4f9
 
7006220
a38b4f9
 
 
 
7006220
38822a8
a38b4f9
38822a8
 
a38b4f9
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# app/api/v1/audio.py
from fastapi import APIRouter, HTTPException
from fastapi.responses import FileResponse
from pydantic import BaseModel
from app.services.audio_service import generate_audio_file

router = APIRouter()

class AudioRequest(BaseModel):
    text: str
    voice: str = "default"
    language: str = "en"

@router.post("/generate")
def generate_audio(payload: AudioRequest):
    try:
        file_path = generate_audio_file(payload.text, payload.language)
        return FileResponse(file_path, media_type="audio/mpeg", filename="output.mp3")
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))