Spaces:
Sleeping
Sleeping
from pydantic import BaseModel | |
from modules.speaker import speaker_mgr | |
from modules.data import styles_mgr | |
from modules.api import utils as api_utils | |
from modules.api.Api import APIManager | |
async def list_styles(): | |
return {"message": "ok", "data": styles_mgr.list_items()} | |
async def list_speakers(): | |
return { | |
"message": "ok", | |
"data": [spk.to_json() for spk in speaker_mgr.list_speakers()], | |
} | |
class CreateSpeaker(BaseModel): | |
seed: int | |
name: str = "" | |
async def create_speaker(request: CreateSpeaker): | |
speaker = speaker_mgr.create_speaker(request.seed, request.name) | |
return {"message": "ok", "data": speaker.to_json()} | |
async def refresh_speakers(): | |
speaker_mgr.refresh_speakers() | |
return {"message": "ok"} | |
def setup(app: APIManager): | |
app.get("/v1/styles/list", response_model=api_utils.BaseResponse)(list_styles) | |
app.get("/v1/speakers/list", response_model=api_utils.BaseResponse)(list_speakers) | |
app.post("/v1/speaker/create", response_model=api_utils.BaseResponse)( | |
create_speaker | |
) | |
app.post("/v1/speaker/refresh", response_model=api_utils.BaseResponse)( | |
refresh_speakers | |
) | |