Files
xtts-server/gateway/api/openai_speech.py

21 lines
572 B
Python

from fastapi import APIRouter, Response
from pydantic import BaseModel
from core.queue_client import push_job, await_result
router = APIRouter()
class SpeechRequest(BaseModel):
model: str
input: str
voice: str = "auto"
language: str | None = None
format: str = "wav"
voice_sample_url: str | None = None
voice_sample_base64: str | None = None
@router.post("/speech")
async def speech(req: SpeechRequest):
job_id = push_job(req.dict())
audio_bytes, mime = await_result(job_id)
return Response(content=audio_bytes, media_type=mime)