Spaces:
Running
Running
import gradio as gr | |
import os | |
from pathlib import Path | |
from PIL import Image | |
root = Path(os.path.dirname(__file__)) | |
def infer( | |
text, | |
guidance_scale, | |
): | |
img = ( | |
Image.open(root / "cheetah.jpg") | |
if text == "Cheetah" | |
else Image.open(root / "frog.jpg") | |
) | |
img = img.resize((224, 224)) | |
return ([img, img, img, img], "image") | |
block = gr.Blocks() | |
examples = [ | |
["A serious capybara at work, wearing a suit", 7], | |
["A Squirtle fine dining with a view to the London Eye", 7], | |
["A tamale food cart in front of a Japanese Castle", 7], | |
["a graffiti of a robot serving meals to people", 7], | |
["a beautiful cabin in Attersee, Austria, 3d animation style", 7], | |
] | |
with block as demo: | |
with gr.Row(elem_id="prompt-container", equal_height=True): | |
text = gr.Textbox( | |
label="Enter your prompt", | |
show_label=False, | |
max_lines=1, | |
placeholder="Enter your prompt", | |
elem_id="prompt-text-input", | |
) | |
gallery = gr.Gallery( | |
label="Generated images", show_label=False, elem_id="gallery", rows=2, columns=2 | |
) | |
out_txt = gr.Textbox( | |
label="Prompt", | |
placeholder="Enter a prompt to generate an image", | |
lines=3, | |
elem_id="prompt-text-input", | |
) | |
guidance_scale = gr.Slider( | |
label="Guidance Scale", minimum=0, maximum=50, value=7.5, step=0.1 | |
) | |
ex = gr.Examples( | |
examples=examples, | |
fn=infer, | |
inputs=[text, guidance_scale], | |
outputs=[gallery, out_txt], | |
cache_examples=True, | |
) | |
text.submit( | |
infer, | |
inputs=[text, guidance_scale], | |
outputs=[gallery, out_txt], | |
concurrency_id="infer", | |
concurrency_limit=8, | |
) | |
with gr.Blocks() as demo: | |
block.render() | |
if __name__ == "__main__": | |
demo.queue(max_size=10, api_open=False).launch(show_api=False) | |