from fastapi import UploadFile, HTTPException | |
from tempfile import NamedTemporaryFile | |
from services.whisper_service import transcribe_audio | |
async def process_uploaded_files(files: list[UploadFile]): | |
"""Processes a list of uploaded files and returns transcription results.""" | |
if not files: | |
raise HTTPException(status_code=400, detail="No files were provided") | |
results = [] | |
for file in files: | |
with NamedTemporaryFile(delete=True) as temp: | |
with open(temp.name, "wb") as temp_file: | |
temp_file.write(file.file.read()) | |
transcript = transcribe_audio(temp.name) | |
results.append({ | |
'filename': file.filename, | |
'transcript': transcript, | |
}) | |
return results | |