File size: 2,128 Bytes
2137684 8951018 2137684 8951018 2137684 b2a6cfa 2137684 0a36afb 2137684 0a36afb 4203ba3 0a36afb 2137684 0a36afb 567194a 2137684 4203ba3 2137684 567194a 2137684 fa394be 2137684 c8ceda2 a84f943 fec3b39 2137684 67c10d2 567194a 2137684 c8ceda2 |
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 |
from flask import Flask, render_template,request,jsonify,Response
import os
import json
from flask_cors import CORS
import time
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
import requests
app = Flask(__name__)
CORS(app)
def get_client_ip():
return request.headers.get(os.getenv('head'), get_remote_address())
limiter = Limiter(
key_func=get_client_ip,
app=app,
default_limits=["8 per minute"]
)
users = 0
userslist = []
@app.route("/")
def index():
global users
global userslist
if(request.remote_addr not in userslist):
userslist.append(request.remote_addr)
users = len(userslist)
return render_template('models.html')
@app.route("/users")
def users():
return {"total users : " : users}
@app.route('/gen', methods=['POST'])
@limiter.limit("8 per minute")
def Hf():
prompt = request.json.get('prompt', '')
negative = request.json.get('negative', '')
steps = request.json.get('steps', 20)
width = request.json.get('width',1024)
height = request.json.get('height',1024)
scale = request.json.get('scale',7)
model = request.json.get('model','sd3')
style = request.json.get('style', 'Cinematic')
def Gen(prompt,negative,steps,width,height,scale,style,model):
req = requests.post('https://xyplon-server2.hf.space/hf/img/gen',headers={
'Authorization' : os.getenv('auth')
},json={
'prompt': prompt,
'negative': negative,
'steps': steps,
'width': width,
'height': height,
'scale': scale,
'model' : model,
'style': style
}, stream=True)
if(req.status_code!=200):
return "an error occurred! ", 500
for chunk in req.iter_lines():
yield f'{chunk.decode()}\n'
return Response(Gen(prompt=prompt,negative=negative,steps=steps,width=width,height=height,scale=scale,style=style,model=model), mimetype="text/event-stream")
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0', port=7860, threaded=True) |