speech2text / app.py
m00913563
change
0fed822
raw
history blame contribute delete
866 Bytes
import os
from fastapi import FastAPI, HTTPException
from io import BytesIO
import requests
from models import InsertedLink, ExtractedText
import extractor
os.environ['TRANSFORMERS_CACHE'] = '/transformers_cache'
os.environ['HF_HOME'] = '/transformers_cache'
app = FastAPI()
@app.get("/", response_model=dict[str, str])
def getall():
return {"hello":"world"}
@app.post("/speech2text", response_model=ExtractedText)
async def extract(link: InsertedLink):
response = requests.get(link.link)
if response.status_code == 200:
# Open the PDF from bytes in memory
mp3 = (BytesIO(response.content))
else:
#return error, make 500 because file server error
raise HTTPException(status_code=response.status_code, detail="File server error")
dictresult = extractor.speech2text(mp3)
return ExtractedText(**dictresult)