from flask import Flask, request, jsonify from flask_cors import CORS import os from werkzeug.utils import secure_filename from utils import predict_image app = Flask(__name__) CORS(app) # Allow cross-origin (Next.js ke Flask) UPLOAD_FOLDER = "/tmp/uploads" os.makedirs(UPLOAD_FOLDER, exist_ok=True) @app.route("/", methods=["GET"]) def home(): return jsonify({ "status": "API is running", "message": "Use POST /predict to classify batik" }) @app.route('/predict', methods=['POST']) def predict(): if 'file' not in request.files: return jsonify({'error': 'No file uploaded'}), 400 file = request.files['file'] filename = secure_filename(file.filename) filepath = os.path.join(UPLOAD_FOLDER, filename) file.save(filepath) result = predict_image(filepath) return jsonify(result) if __name__ == '__main__': app.run(host="0.0.0.0", port=7860)