from fastapi import APIRouter, UploadFile, File, Form from typing import Optional from controllers.transcription_controller import TranscriptionController from models.schema import TranscriptionResponse router = APIRouter() controller = TranscriptionController() @router.post("/transcribe", response_model=TranscriptionResponse) async def transcribe_audio( audio_file: UploadFile = File(...), output_language: Optional[str] = Form(None) ): contents = await audio_file.read() return await controller.transcribe_audio(contents, output_language)