use std::sync::Arc; use axum::{Json, extract::State, http::StatusCode}; use crate::tts::TtsPool; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] pub struct Body { text: String, lang: String, style_id: String, } pub async fn handler( State(state): State>, Json(payload): Json, ) -> Result, (StatusCode, String)> { Ok(state .synthesize(payload.text, payload.lang, payload.style_id) .await .map_err(|err| (StatusCode::BAD_REQUEST, err))?) }