File size: 560 Bytes
9f559c6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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)