|
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) |