game-test / app.py
Omnibus's picture
Update app.py
9bb8351
raw
history blame
3.72 kB
import gradio as gr
import diff
import os
from PIL import Image
import uuid
import random
import bg
from rembg import remove as rm
proc1=diff
proc2=diff
#bg1=gr.Interface.load("spaces/Omnibus/fast-bg-remove-mod")
#proc2=gr.Interface.load("spaces/Omnibus/fast-diff")
sky = "https://huggingface.co/spaces/Omnibus/game-test/resolve/main/assets/sky.png"
platform = 'https://huggingface.co/spaces/Omnibus/game-test/resolve/main/assets/platform.png'
star = 'https://huggingface.co/spaces/Omnibus/game-test/resolve/main/assets/star.png'
bomb = 'https://huggingface.co/spaces/Omnibus/game-test/resolve/main/assets/bomb.png'
dude = 'https://huggingface.co/spaces/Omnibus/game-test/resolve/main/assets/dude.png'
def game_fn(sky=sky,star=star,bomb=bomb,platform=platform,dude=dude):
html_mod=f"""
<div id="demo" style="height:600px">
<iframe
id="myIframe"
src="https://omnibus-game-test-static.static.hf.space/index.html?sky={sky}&platform={platform}&star={star}&bomb={bomb}&dude={dude}"
frameborder="0"
width="100%"
height="100%"
></iframe>
</div>"""
return html_mod
def update_game(inp):
return game_fn(sky=sky)
def sky_fn(inp):
rand = random.randint(1,200)
for i in range(rand):
inp+=" "
#dif = gr.Interface.load("models/stabilityai/stable-diffusion-2-1-base", live=True),
#dif = models[0]
uid=uuid.uuid4()
output=proc1.send_it(inp,5,1)
#in_url=f'https://omnibus-fast-diff.hf.space/file={output[0]}'
#output=dif(inp)
print(output)
outp=Image.open(output[0])
width, height = outp.size
rat = width/height
if width > height:
outp = outp.resize((600*rat,600))
elif width < height:
outp = outp.resize((800,800*rat))
else:
outp = outp.resize((800,536))
outp.save(f"{uid}_sky.png")
out = os.path.abspath(f"{uid}_sky.png")
#out = os.path.abspath(outp)
out_url = f'https://omnibus-game-test.hf.space/file={out}'
return output[0],out_url
def star_fn(inp):
rand = random.randint(1,200)
for i in range(rand):
inp+=" "
uid=uuid.uuid4()
output=proc2.send_it(inp,5,1)
print(output)
outp=Image.open(output[0])
#outp.save(f"{uid}_star.png")
print("removing background")
outbg=rm(outp)
print("resizing")
out = outbg.resize((24,24))
#outbg.save(f"{uid}_star.png")
#out = os.path.abspath(f"{uid}_star.png")
#out_url = f'https://omnibus-game-test.hf.space/file={out}'
return out,out
with gr.Blocks() as app:
with gr.Row():
with gr.Column():
with gr.Row():
prompt_sky=gr.Textbox(label="Background",value="beautiful landscape, real, 8k")
btn_sky=gr.Button("Make")
with gr.Row():
prompt_star=gr.Textbox(label="Star",value="Star, empty white background")
btn_star=gr.Button("Make")
with gr.Row():
update_game=gr.Button("Use Image")
out_im_sky=gr.Image(type='filepath',width=50)
out_im_star=gr.Image(type='filepath',width=50)
out_sky_url=gr.Textbox(visible=True)
out_star_url=gr.Textbox(visible=True)
#start_prompt=gr.Textbox(value="beautiful landscape, real, 8k",visible=False)
html_game = gr.HTML()
update_game.click(game_fn,[out_sky_url,out_star_url],html_game)
btn_sky.click(sky_fn,prompt_sky,[out_im_sky,out_sky_url])
btn_star.click(star_fn,prompt_star,[out_im_star,out_star_url])
#app.load(sky_fn,prompt_sky,[out_im_sky,out_sky_url]).then(game_fn,[out_sky_url],html_game)
app.queue(concurrency_count=10).launch(show_api=False)