stt-whisper-cpp-ap/app/main.py

20 lines
558 B
Python

from fastapi import FastAPI, File, UploadFile
import shutil
import os
from whispercpp import Whisper
app = FastAPI()
# Load the model (auto-download and cache it)
whisper = Whisper.from_pretrained("base.en") # Options: tiny, base, small, etc.
@app.post("/transcribe")
async def transcribe_audio(audio: UploadFile = File(...)):
temp_file = f"temp_{audio.filename}"
with open(temp_file, "wb") as buffer:
shutil.copyfileobj(audio.file, buffer)
result = whisper.transcribe(temp_file)
os.remove(temp_file)
return {"text": result}