from flask import Flask, request, jsonify import requests from imageEmbedding.index import get_image_embedding from imageToText.index import extract_text app = Flask(__name__) @app.route('/extract_image_text_and_embedding', methods=['POST']) def get_image_embedding_route(): try: image_url = request.json.get("imageUrl") print(image_url) response = requests.get(image_url) if response.status_code != 200: return jsonify({"error": "Failed to download image"}), 500 binary_data = response.content extracted_text = extract_text(binary_data) image_embedding = get_image_embedding(binary_data) image_embedding_list = image_embedding.tolist() return jsonify({"image_embedding": image_embedding_list,"extracted_text":extracted_text}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 @app.route('/extract_image_text_and_embedding_binary_data', methods=['POST']) def get_image_embedding_binary_route(): try: # Assuming the image data is sent in the request body binary_data = request.get_data() if not binary_data: return jsonify({"error": "No image data provided"}), 400 extracted_text = extract_text(binary_data) image_embedding = get_image_embedding(binary_data) image_embedding_list = image_embedding.tolist() return jsonify({"image_embedding": image_embedding_list, "extracted_text": extracted_text}), 200 except Exception as e: return jsonify({"error": str(e)}), 500