Shabbir-Anjum commited on
Commit
2638478
·
verified ·
1 Parent(s): 13cd3a5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -34
app.py CHANGED
@@ -1,43 +1,28 @@
1
  import streamlit as st
2
- from diffusers import StableDiffusionPipeline
3
- import torch
4
- from PIL import Image
5
- import io
6
- import base64
7
 
8
- # Model ID
9
- model_id = "stabilityai/stable-diffusion-2-1"
10
 
11
- # Load the model from Hugging Face Hub
12
- pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
13
- pipe = pipe.to("cuda" if torch.cuda.is_available() else "cpu")
 
14
 
15
- # Streamlit app title and description
16
- st.title("Stable Diffusion Image Generation")
17
- st.write("Generate images using the Stability AI's Stable Diffusion model.")
18
 
19
- # Input for the prompt
20
- prompt = st.text_input("Enter a prompt for the image:")
21
 
22
  # Generate button
23
- if st.button("Generate Image"):
24
- if prompt:
25
- with st.spinner('Generating image...'):
26
- # Generate image
27
- image = pipe(prompt).images[0]
28
-
29
- # Convert image to displayable format
30
- buffered = io.BytesIO()
31
- image.save(buffered, format="PNG")
32
- img_str = base64.b64encode(buffered.getvalue()).decode()
33
 
34
- # Display the image
35
- st.image(image, caption="Generated Image", use_column_width=True)
36
 
37
- # Option to download the image
38
- st.markdown(
39
- f'<a href="data:image/png;base64,{img_str}" download="generated_image.png">Download Image</a>',
40
- unsafe_allow_html=True,
41
- )
42
- else:
43
- st.error("Please enter a prompt to generate an image.")
 
1
  import streamlit as st
2
+ from transformers import DiffusionPipeline
 
 
 
 
3
 
4
+ # Load the Diffusion pipeline
5
+ pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-3-medium")
6
 
7
+ def generate_prompt(prompt_text):
8
+ # Generate response using the Diffusion model
9
+ response = pipeline(prompt=prompt_text, top_p=0.9, num_return_sequences=1)[0]['generated_text']
10
+ return response
11
 
12
+ # Streamlit app UI
13
+ st.title('Diffusion Model Prompt Generator')
 
14
 
15
+ # Input prompt from user
16
+ prompt_input = st.text_area('Enter your prompt here:', height=100)
17
 
18
  # Generate button
19
+ if st.button('Generate'):
20
+ if prompt_input:
21
+ with st.spinner('Generating...'):
22
+ generated_text = generate_prompt(prompt_input)
23
+ st.success('Generation complete!')
24
+ st.text_area('Generated Text:', value=generated_text, height=200)
25
+ else:
26
+ st.warning('Please enter a prompt to generate.')
 
 
27
 
 
 
28