Spaces:
Runtime error
Runtime error
File size: 1,671 Bytes
02afadf 50c63ac 02afadf 48675d9 02afadf 5e7f29f 02afadf 235adef 02afadf 235adef 02afadf 235adef 02afadf 235adef 02afadf 235adef 48675d9 235adef 02afadf 235adef 02afadf 235adef 248c318 50c63ac 235adef 02afadf 48675d9 02afadf 235adef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#!/usr/bin/env python
import json
import pathlib
import tempfile
from pathlib import Path
import gradio as gr
import gradio_user_history as gr_user_history
from gradio_client import Client
from gradio_space_ci import enable_space_ci
enable_space_ci()
client = Client("runwayml/stable-diffusion-v1-5")
def generate(prompt: str, profile: gr.OAuthProfile | None) -> tuple[str, list[str]]:
out_dir = client.predict(prompt, fn_index=1)
metadata = {
"prompt": prompt,
"negative_prompt": "",
"guidance_scale": 0.9,
}
with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as metadata_file:
json.dump(metadata, metadata_file)
with (pathlib.Path(out_dir) / "captions.json").open() as f:
paths = list(json.load(f).keys())
# Saving user history
for path in paths:
gr_user_history.save_image(label=prompt, image=path, profile=profile, metadata=metadata)
return paths # type: ignore
with gr.Blocks(css="style.css") as demo:
with gr.Group():
prompt = gr.Text(show_label=False, placeholder="Prompt")
gallery = gr.Gallery(
show_label=False,
columns=2,
rows=2,
height="600px",
object_fit="scale-down",
)
prompt.submit(fn=generate, inputs=prompt, outputs=gallery)
with gr.Blocks() as demo_with_history:
with gr.Tab("README"):
gr.Markdown(Path("README.md").read_text().split("---")[-1])
with gr.Tab("Demo"):
demo.render()
with gr.Tab("Past generations"):
gr_user_history.render()
if __name__ == "__main__":
demo_with_history.queue().launch()
|