arcanus/koala2
0
1from flask import Flask, request, jsonify2from flask_cors import CORS3import os4from werkzeug.utils import secure_filename5from app_rvc import SoniTranslate6 7app = Flask(__name__)8CORS(app)9 10UPLOAD_FOLDER = "uploads"11if not os.path.exists(UPLOAD_FOLDER):12 os.makedirs(UPLOAD_FOLDER)13 14# Autentifikační klíč (API klíč)15API_KEY = "MY_SECRET_API_KEY"16 17@app.route("/process_video", methods=["POST"])18def process_video():19 # Ověření API klíče20 api_key = request.headers.get("Authorization")21 if api_key != f"Bearer {API_KEY}":22 return jsonify({"status": "error", "message": "Invalid API key"}), 40323 24 # Ověření vstupních dat25 if "video" not in request.files or "target_language" not in request.form:26 return jsonify({"status": "error", "message": "Missing parameters"}), 40027 28 video_file = request.files["video"]29 target_language = request.form["target_language"]30 31 # Uložení videa32 filename = secure_filename(video_file.filename)33 file_path = os.path.join(UPLOAD_FOLDER, filename)34 video_file.save(file_path)35 36 try:37 # Inicializace SoniTranslate a spuštění zpracování38 translator = SoniTranslate(cpu_mode=False)39 result = translator.multilingual_media_conversion(40 media_file=file_path,41 target_language=target_language,42 is_gui=False,43 )44 45 return jsonify({"status": "success", "result": result}), 20046 except Exception as e:47 return jsonify({"status": "error", "message": str(e)}), 50048 finally:49 # Smazání dočasného souboru50 os.remove(file_path)51 52if __name__ == "__main__":53 app.run(host="0.0.0.0", port=5000, debug=True)54 