ProfessorLeVesseur commited on
Commit
fc53eb3
·
verified ·
1 Parent(s): e4eee2f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -11
app.py CHANGED
@@ -118,39 +118,48 @@ def main():
118
  if "prompt" not in st.session_state:
119
  st.session_state["prompt"] = ""
120
 
121
- # Input field for the prompt
122
- prompt = st.text_input("Enter a prompt for image generation:", value=st.session_state["prompt"])
123
-
124
- if st.button("Generate Image"):
 
 
 
 
 
125
  if prompt:
 
 
126
  # Add a spinner while generating the image
127
  with st.spinner('Generating image...'):
128
  image = generate_image(prompt)
129
  if image:
130
  st.session_state["image"] = image # Store generated image in session state
131
- st.image(image, caption="Generated Image")
132
- st.session_state["prompt"] = prompt # Store the prompt in session state
133
  else:
134
  st.warning("Please enter a prompt.")
135
 
136
- # Show download and reset buttons only if an image is generated
137
  if st.session_state["image"]:
 
 
138
  # Download button
139
  image_bytes = io.BytesIO()
140
  st.session_state["image"].save(image_bytes, format='PNG')
141
-
142
  st.download_button(
143
  label="Download Image",
144
  data=image_bytes.getvalue(),
145
  file_name="generated_image.png",
146
- mime="image/png"
 
147
  )
148
-
149
  # Reset button
150
- if st.button("Reset"):
151
  # Clear session state variables
152
  st.session_state["image"] = None
153
  st.session_state["prompt"] = ""
 
154
 
155
  # Clear UI by resetting query params
156
  st.query_params = {}
 
118
  if "prompt" not in st.session_state:
119
  st.session_state["prompt"] = ""
120
 
121
+ # Input field for the prompt, tied to session state
122
+ prompt = st.text_input(
123
+ "Enter a prompt for image generation:",
124
+ value=st.session_state["prompt"],
125
+ key="prompt_input"
126
+ )
127
+
128
+ # Generate Image button
129
+ if st.button("Generate Image", key="generate_button"):
130
  if prompt:
131
+ # Save prompt to session state
132
+ st.session_state["prompt"] = prompt
133
  # Add a spinner while generating the image
134
  with st.spinner('Generating image...'):
135
  image = generate_image(prompt)
136
  if image:
137
  st.session_state["image"] = image # Store generated image in session state
 
 
138
  else:
139
  st.warning("Please enter a prompt.")
140
 
141
+ # Show the image if it exists in the session state
142
  if st.session_state["image"]:
143
+ st.image(st.session_state["image"], caption="Generated Image")
144
+
145
  # Download button
146
  image_bytes = io.BytesIO()
147
  st.session_state["image"].save(image_bytes, format='PNG')
148
+
149
  st.download_button(
150
  label="Download Image",
151
  data=image_bytes.getvalue(),
152
  file_name="generated_image.png",
153
+ mime="image/png",
154
+ key="download_button"
155
  )
156
+
157
  # Reset button
158
+ if st.button("Reset", key="reset_button"):
159
  # Clear session state variables
160
  st.session_state["image"] = None
161
  st.session_state["prompt"] = ""
162
+ st.session_state["prompt_input"] = ""
163
 
164
  # Clear UI by resetting query params
165
  st.query_params = {}