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) | |
arr = np.asarray(bytearray(response.content), dtype=np.uint8) | |
image = cv2.imdecode(arr, -1) # 'Load it as it is' | |
result = remove(image, session=new_session(model)) | |
#encode result | |
base64_string = base64.b64encode(cv2.imencode('.png', result)[1]).decode() | |
return jsonify({ | |
"image_url": image_url, | |
"model": model, | |
"result": base64_string, | |
}) | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0", port=7860) |