import gradio as gr
import diff
import os
from PIL import Image
import uuid
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,platform=platform,star=star,bomb=bomb,dude=dude):
html_mod=f"""
"""
return html_mod
def update_game(sky=None,platform=None,star=None,bomb=None,dude=None):
return game_fn(sky=sky)
def dif_fn(inp):
uid=uuid.uuid4()
output=diff.send_it(inp,5,1)
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,800))
outp.save(f"{uid}_sky.png")
out = os.path.abspath(f"{uid}_sky.png")
out_url = f'https://omnibus-game-test.hf.space/file={out}'
return output[0],out_url
with gr.Blocks() as app:
with gr.Row():
with gr.Column():
prompt=gr.Textbox()
with gr.Row():
btn=gr.Button("Make Image")
update_game=gr.Button("Use Image")
out_im=gr.Image(type='filepath')
out_url=gr.Textbox(visible=False)
start_prompt=gr.Textbox(value="A beautiful landscape",visible=False)
html_game = gr.HTML()
update_game.click(game_fn,[out_url],html_game)
btn.click(dif_fn,prompt,[out_im,out_url])
app.load(dif_fn,start_prompt,[out_im,out_url]).then(game_fn,[out_url],html_game)
app.launch()