text2image_3 / app.py
Kpenciler's picture
Update app.py
3ea8358
raw
history blame
2.6 kB
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,
"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()