//! OpenAPI documentation configuration using utoipa. use utoipa::OpenApi; use crate::server::handlers::{listen, tts}; use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage, TranscriptMessage}; #[derive(OpenApi)] #[openapi( info( title = "Makima Audio API", version = "1.0.0", description = "Streaming audio APIs for speech-to-text and text-to-speech with voice cloning.", license(name = "MIT"), ), paths( listen::websocket_handler, tts::synthesize_handler, ), components( schemas( ApiError, AudioEncoding, StartMessage, StopMessage, TranscriptMessage, ) ), tags( (name = "STT", description = "Speech-to-text streaming endpoints"), (name = "TTS", description = "Text-to-speech synthesis endpoints"), ) )] pub struct ApiDoc;