Rajeev91691 commited on
Commit
bd9b228
Β·
verified Β·
1 Parent(s): 4a80ed5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -10
app.py CHANGED
@@ -1,22 +1,48 @@
1
  import streamlit as st
2
- from generator import load_model, generate_image
3
- from PIL import Image
4
  import io
5
 
 
6
  st.set_page_config(page_title="AI Image Generator", layout="centered")
7
- st.title("🎨 AI Image Generator (CPU Optimized)")
8
 
9
- pipe = load_model()
 
 
 
10
 
11
- prompt = st.text_input("Enter prompt:", value="a magical landscape with floating islands")
12
- steps = st.slider("Quality (steps)", min_value=4, max_value=15, value=8)
13
- guidance = st.slider("Prompt Accuracy (guidance scale)", min_value=0.0, max_value=10.0, value=2.5)
14
 
 
 
 
 
 
 
 
 
 
 
15
  if st.button("Generate"):
16
  with st.spinner("Generating image..."):
 
17
  image = generate_image(pipe, prompt, steps, guidance)
18
- st.image(image, caption="Generated Image", use_column_width=True)
 
 
 
 
 
 
 
 
19
 
 
20
  buf = io.BytesIO()
21
- image.save(buf, format="PNG")
22
- st.download_button("Download Image", buf.getvalue(), "generated_image.png", "image/png")
 
 
 
 
 
 
1
  import streamlit as st
2
+ from generator import load_model, generate_image, upscale_image
 
3
  import io
4
 
5
+ # Set Streamlit page configuration
6
  st.set_page_config(page_title="AI Image Generator", layout="centered")
7
+ st.title("🎨 AI Image Generator")
8
 
9
+ # Load model
10
+ @st.cache_resource
11
+ def get_pipe():
12
+ return load_model()
13
 
14
+ pipe = get_pipe()
 
 
15
 
16
+ # Prompt input
17
+ prompt = st.text_input("Enter your prompt", "A scenic landscape with mountains and a river")
18
+
19
+ # Optional parameters
20
+ with st.expander("βš™οΈ Advanced Options"):
21
+ steps = st.slider("Inference Steps", 1, 50, 8)
22
+ guidance = st.slider("Guidance Scale", 1.0, 20.0, 2.5)
23
+ upscale = st.checkbox("πŸ” Upscale Image (2x resolution)", value=True)
24
+
25
+ # Generate button
26
  if st.button("Generate"):
27
  with st.spinner("Generating image..."):
28
+ # Generate image from prompt
29
  image = generate_image(pipe, prompt, steps, guidance)
30
+ st.image(image, caption="πŸ–ΌοΈ Original Image", use_column_width=True)
31
+
32
+ # Upscale if selected
33
+ if upscale:
34
+ upscaled = upscale_image(image)
35
+ st.image(upscaled, caption="πŸ” Upscaled Image", use_column_width=True)
36
+ img_to_download = upscaled
37
+ else:
38
+ img_to_download = image
39
 
40
+ # Prepare image for download
41
  buf = io.BytesIO()
42
+ img_to_download.save(buf, format="PNG")
43
+ st.download_button(
44
+ label="πŸ“₯ Download Image",
45
+ data=buf.getvalue(),
46
+ file_name="generated_image.png",
47
+ mime="image/png"
48
+ )