import os
from flask import Flask, request
import uuid
import whisper
model = whisper.load_model("small")

app = Flask(__name__)
@app.route('/transcribe', methods=['POST'])
def transcribe():
    if request.method == 'POST':
        if 'file' not in request.files:
            return 'No file part'
        tempfile = os.path.join('./audio', str(uuid.uuid1()))
        file = request.files['file']
        file.save(tempfile)
        result = model.transcribe(tempfile) 
        os.remove(tempfile)
    return result

# CORSの対応を追加する。
@app.after_request
def after_request(response):
    response.headers['Access-Control-Allow-Origin'] = "https://APEXアプリが動作しているホスト名"
    return response

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8443, ssl_context=('./certs/fullchain.pem', './certs/privkey.pem'), debug=True)