Spaces:
Sleeping
Sleeping
import os | |
from io import BytesIO | |
import gradio as gr | |
import numpy as np | |
import replicate | |
import requests | |
from PIL import Image | |
model_id = "stability-ai/sdxl:2b017d9b67edd2ee1401238df49d75da53c523f36e363881e057f5dc3ed3c5b2" | |
default_steps = 25 | |
def generate(prompt: str, secret_key: str): | |
""" | |
γγγ³γγγγηζη»ε(PIL.Image.open)γεεΎ | |
""" | |
if secret_key == os.environ["SECRET_KEY"]: | |
output = replicate.run( | |
model_id, | |
input={ | |
"prompt": prompt, | |
"seed": -1, | |
"num_inference_steps": default_steps, | |
}, | |
) | |
# γͺγ³γ―εεΎ | |
png_link = output[0] | |
# PNGγγ‘γ€γ«γγͺγ³γ―γγεεΎ | |
response = requests.get(png_link) | |
# γ€γ‘γΌγΈγγ‘γ’γͺδΈγ«ιγ | |
img = Image.open(BytesIO(response.content)) | |
return img | |
examples = [ | |
["station"], | |
["station, ghibli style"], | |
["Elon Musk"], | |
["Elon Musk playing Shogi"], | |
# ["An astronaut riding a rainbow unicorn, cinematic, dramatic", ""], | |
# ["A robot painted as graffiti on a brick wall. a sidewalk is in front of the wall, and grass is growing out of cracks in the concrete.", ""], | |
# ["Panda mad scientist mixing sparkling chemicals, artstation.", ""], | |
# ["An astronaut riding a rainbow unicorn, cinematic, dramatic"], | |
# [ | |
# "photo of a rhino dressed suit and tie sitting at a table in a bar with a bar stools, award winning photography." | |
# ], | |
# ["a giant monster hybrid of dragon and spider, in dark dense foggy forest"], | |
# [ | |
# "a man in a space suit playing a piano, highly detailed illustration, full color illustration, very detailed illustration" | |
# ], | |
] | |
with gr.Blocks(title="Stable Diffusion XL (SDXL 1.0)") as demo: | |
with gr.Row(): | |
with gr.Column(scale=1, min_width=600): | |
gr_prompt = gr.Textbox(label="γγγ³γγ") | |
gr_password = gr.Textbox(label="γγΉγ―γΌγ") | |
gr_generate_button = gr.Button("ηζ") | |
# with gr.Accordion("advanced settings", open=False): | |
# gr_steps = gr.Number(label="steps", value=default_steps) | |
# gr_seed = gr.Number(label="seed", value=-1) | |
with gr.Column(scale=1, min_width=600): | |
gr_image = gr.Image() | |
# examples=examples | |
gr_generate_button.click( | |
generate, | |
inputs=[gr_prompt, gr_password], | |
outputs=[gr_image], | |
) | |
with gr.Row(): | |
gr.Examples(examples, inputs=[gr_prompt], label="γγγ³γγδΎ") | |
demo.launch() | |