Files changed (1) hide show
  1. app.py +40 -38
app.py CHANGED
@@ -1,38 +1,40 @@
1
- # app.py
2
-
3
- import streamlit as st
4
- from diffusers import StableDiffusionPipeline
5
- import torch
6
- from PIL import Image
7
- import io
8
-
9
- # Load model once
10
- @st.cache_resource
11
- def load_model():
12
- pipe = StableDiffusionPipeline.from_pretrained(
13
- "runwayml/stable-diffusion-v1-5", # You can change this to another model
14
- torch_dtype=torch.float16
15
- )
16
- return pipe.to("cuda")
17
-
18
- # Streamlit app UI
19
- st.title("🧠 AI Image Generator (Stable Diffusion)")
20
- st.markdown("Generate original, multidimensional images using Stable Diffusion!")
21
-
22
- prompt = st.text_area("Enter your creative prompt:",
23
- "A multi-dimensional alien city with glowing fractals, floating geometry, cosmic lighting, 8K resolution")
24
-
25
- guidance = st.slider("Creativity (Guidance Scale)", 1.0, 20.0, 8.5)
26
-
27
- if st.button("Generate Image"):
28
- with st.spinner("Generating image..."):
29
- pipe = load_model()
30
- image = pipe(prompt, guidance_scale=guidance).images[0]
31
-
32
- st.image(image, caption="Generated Image", use_column_width=True)
33
-
34
- # Download button
35
- buf = io.BytesIO()
36
- image.save(buf, format="PNG")
37
- byte_im = buf.getvalue()
38
- st.download_button("Download Image", byte_im, "generated.png", "image/png")
 
 
 
1
+ # app.py
2
+
3
+ import streamlit as st
4
+ from diffusers import StableDiffusionPipeline
5
+ import torch
6
+ from PIL import Image
7
+ import io
8
+
9
+ # Load model on CPU
10
+ @st.cache_resource
11
+ def load_model():
12
+ pipe = StableDiffusionPipeline.from_pretrained(
13
+ "runwayml/stable-diffusion-v1-5", # You can change to another model if needed
14
+ torch_dtype=torch.float32 # Use float32 on CPU
15
+ )
16
+ return pipe.to("cpu")
17
+
18
+ # Streamlit UI
19
+ st.title("🧠 AI Image Generator (CPU-Compatible)")
20
+ st.markdown("Generate original, multidimensional images using Stable Diffusion β€” no GPU required!")
21
+
22
+ # Prompt and settings
23
+ prompt = st.text_area("Enter your creative prompt:",
24
+ "A multi-dimensional alien city with glowing fractals, floating geometry, cosmic lighting, 8K resolution")
25
+
26
+ guidance = st.slider("Creativity (Guidance Scale)", 1.0, 20.0, 8.5)
27
+
28
+ # Generate button
29
+ if st.button("Generate Image"):
30
+ with st.spinner("Generating image. This may take a few minutes on CPU..."):
31
+ pipe = load_model()
32
+ image = pipe(prompt, guidance_scale=guidance).images[0]
33
+
34
+ st.image(image, caption="Generated Image", use_column_width=True)
35
+
36
+ # Save for download
37
+ buf = io.BytesIO()
38
+ image.save(buf, format="PNG")
39
+ byte_im = buf.getvalue()
40
+ st.download_button("Download Image", byte_im, "generated.png", "image/png")