Spaces:
Sleeping
Sleeping
| from flask import Flask, request, jsonify, send_from_directory | |
| from flask_cors import CORS | |
| from genai import gen_vton | |
| from werkzeug.utils import secure_filename | |
| import os | |
| import tempfile | |
| #app = Flask(__name__) | |
| app = Flask(__name__, static_folder='processed_images') | |
| CORS(app, supports_credentials=True) | |
| #CORS(app, supports_credentials=True, resources={r"/*": {"origins": "*"}}) # Allow requests from any originorigins=["http://localhost:3000"]) | |
| #CORS(app, resources={r"/proc": {"origins": "http://localhost:3000"}}, supports_credentials=True) | |
| #@app.route("/proc") | |
| def process_images(): | |
| # Retrieve images from the request | |
| print("Request came here") | |
| print(request) | |
| print(request.headers) | |
| print(request.files) | |
| user_image_t = request.files.get('userImage') | |
| dress_image_t = request.files.get('dressImage') | |
| #print(dress_image_t.filename) | |
| print(user_image_t.filename) | |
| #file = request.files['file'] | |
| if dress_image_t: | |
| # Save the file to a temporary file | |
| temp_dir = tempfile.gettempdir() | |
| filename = secure_filename(dress_image_t.filename) | |
| temp_path = os.path.join(temp_dir, filename) | |
| dress_image_t.save(temp_path) | |
| dress_image = temp_path | |
| if user_image_t: | |
| temp_dir = tempfile.gettempdir() | |
| filename = secure_filename(user_image_t.filename) | |
| temp_path_1 = os.path.join(temp_dir, filename) | |
| user_image_t.save(temp_path_1) | |
| user_image = temp_path_1 | |
| gen_vton(user_image, dress_image) | |
| processed_image_1_path = './processed_images/output_image.jpg' | |
| processed_image_2_path = './processed_images/output_image_1.jpg' | |
| # Save your images using the paths above... | |
| # Return the URL for the saved images | |
| url_to_processed_image_1 = request.host_url + processed_image_1_path | |
| url_to_processed_image_2 = request.host_url + processed_image_2_path | |
| # Process images... | |
| # For the sake of this example, let's say the processing function returns two image URLs | |
| processed_image_urls = [url_to_processed_image_1, url_to_processed_image_2] | |
| os.remove(temp_path) | |
| os.remove(temp_path_1) | |
| return jsonify({'processedImages': processed_image_urls}) | |
| def processed_images(filename): | |
| print("request_came_here") | |
| return send_from_directory(app.static_folder, filename) | |
| # Example of generating a unique filename for the output | |
| # | |
| if __name__ == '__main__': | |
| app.run(debug=True, host='0.0.0.0') | |