Spaces:
Sleeping
Sleeping
File size: 2,832 Bytes
6f70afa 0112c3e 6f70afa 0112c3e 1bc5390 6f70afa 851394e 6f70afa 0112c3e 6f70afa 7790ebf 6f70afa 1bc5390 7790ebf 2c011da 6f70afa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
import os
from flask import Flask, flash, request, redirect, url_for, session, jsonify
from flask_session import Session
from werkzeug.utils import secure_filename
from example_inference import example_inference
from flask import send_from_directory
from gradio_client import Client
import base64
UPLOAD_FOLDER = 'images'
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
app = Flask(__name__)
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
Session(app)
client = Client("stabilityai/stable-diffusion-3-medium")
def generate_logo(prompt):
"""Generates a logo using the provided prompt."""
result = client.predict(
prompt=prompt,
negative_prompt="",
seed=0,
randomize_seed=True,
width=1024,
height=1024,
guidance_scale=7,
num_inference_steps=50,
api_name="/infer",
)
return result
@app.route('/logo', methods=['POST'])
def generate_response():
try:
data = request.get_json()
if 'prompt' in data :
prompt = data['prompt']
response = generate_logo(prompt)
print(response, 'response')
fileUrl = f'https://stabilityai-stable-diffusion-3-medium.hf.space/file={response[0]}'
return jsonify(fileUrl)
else:
return jsonify({"error": "Missing required parameters"}), 400
except Exception as e:
return jsonify({"Error": str(e)}), 500
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
@app.route('/rm-bg/<transparent>/<color>', methods=['GET', 'POST'])
def upload_file(transparent, color):
transparent = True if transparent == "true" else False
if request.method == 'POST':
if 'file' not in request.files:
flash('No file part')
return {"status": "Failed", "message": "Please Provide file name(file)."}
file = request.files['file']
if file.filename == '':
flash('No selected file')
return {"status": "Failed", "message": "Filename Not Found."}
if file and allowed_file(file.filename):
img_data = file.read()
img_base64 = base64.b64encode(img_data)
if isinstance(img_base64, bytes):
img_base64 = img_base64.decode('utf-8')
print('yes')
image_bytes = base64.b64decode(img_base64)
rm_image_path = example_inference(image_bytes, transparent, color)
return rm_image_path
return {
"message": "Get Request not allowed"
}
if __name__ == '__main__':
# http_server = WSGIServer(('', 8000), app)
# http_server.serve_forever()
app.debug = True
app.run(port=8000) |