Spaces:
Running
Running
File size: 2,844 Bytes
86b64a1 c27f750 4f8d63d 86b64a1 ee669d4 86b64a1 ee669d4 c04c52a ee669d4 86b64a1 c9e1c69 86b64a1 ee669d4 86b64a1 ee669d4 c04c52a ee669d4 86b64a1 c9e1c69 86b64a1 4f8d63d 86b64a1 4f8d63d a6e68e4 4846855 a6e68e4 86b64a1 c9e1c69 ee669d4 |
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 96 97 98 99 100 101 |
from flask import Flask, render_template, request, send_file, jsonify
from imaginepy import Imagine #, Style, Ratio, Model
from imaginepy.constants import *
import os
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/generate', methods=['POST'])
def generate_image():
prompt = request.form['prompt']
style = request.form['style']
ratio = request.form['ratio']
model = request.form['model']
imagine = Imagine()
try:
img_data = imagine.sdprem(
prompt=prompt,
style=Style[style],
ratio=Ratio[ratio],
seed="",
cfg=16,
model=Model[model],
asbase64=False
)
except Exception as e:
return f"An error occurred while generating the image: {e}"
if img_data is None:
return "An error occurred while generating the image."
img_data = imagine.upscale(img_data)
if img_data is None:
return "An error occurred while upscaling the image."
try:
with open("static/example.jpeg", mode="wb") as img_file:
img_file.write(img_data)
except Exception as e:
return f"An error occurred while writing the image to file: {e}"
return render_template('output.html')
@app.route('/api/generate', methods=['POST'])
def api_generate_image():
data = request.get_json()
prompt = data['prompt']
style = data['style']
ratio = data['ratio']
model = data['model']
imagine = Imagine()
try:
img_data = imagine.sdprem(
prompt=prompt,
style=Style[style],
ratio=Ratio[ratio],
seed='',
cfg=16,
model=Model[model],
asbase64=False
)
except Exception as e:
return jsonify({'error': f"An error occurred while generating the image: {e}"}), 500
if img_data is None:
return jsonify({'error': "An error occurred while generating the image."}), 500
img_data = imagine.upscale(img_data)
if img_data is None:
return jsonify({'error': "An error occurred while upscaling the image."}), 500
try:
image_path = os.path.join(app.root_path, "generated.jpeg")
with open(image_path, mode="wb") as img_file:
img_file.write(img_data)
except Exception as e:
return jsonify({'error': f"An error occurred while writing the image to file: {e}"}), 500
return send_file(image_path, mimetype='image/jpeg', as_attachment=True)
@app.errorhandler(404)
def page_not_found(e):
# Render the 404.html template
return render_template('404.html'), 404
@app.route('/api-docs')
def api_docs():
return render_template('api_docs.html')
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860,debug=True)
|