Spaces:
Runtime error
Runtime error
from flask import Flask, jsonify, request | |
import cv2 | |
from rembg.session_factory import new_session | |
from rembg import remove | |
import requests | |
import base64 | |
import numpy as np | |
import streamlit as st | |
app = Flask(__name__) | |
def indexApi(): | |
return jsonify({"output": "okay"}) | |
def removeApi(): | |
image_url = request.form.get("image_url") | |
key = request.form.get("key") | |
model = request.form.get("model") | |
if (model == None): | |
model = "u2netp" | |
# # reject if key not the same | |
# apiKey = st.secrets["Api-Key"] | |
# if apiKey != key: | |
# return jsonify({ | |
# "image_url": image_url, | |
# "model": model, | |
# "result": "Invalid API Key", | |
# }), 400 | |
# response = requests.get(image_url) | |
encoded_data = image_url.split(',')[1] | |
arr = np.fromstring(base64.b64decode(encoded_data), np.uint8) | |
image = cv2.imdecode(arr, cv2.IMREAD_COLOR) | |
result = remove(image, session=new_session(model)) | |
#encode result | |
base64_string = base64.b64encode(cv2.imencode('.png', result)[1]).decode() | |
return jsonify({ | |
"model": model, | |
"result": base64_string, | |
}) | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0", port=7860) |