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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -32
app.py CHANGED
@@ -109,37 +109,39 @@ def generate_image(prompt):
109
  return Image.open(io.BytesIO(image_bytes))
110
  return None
111
 
112
- def main():
113
- st.title("Stxtement | Image Generation")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
- # Initialize session state variables for prompt and image
116
- if "image" not in st.session_state:
117
- st.session_state["image"] = None
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
@@ -150,19 +152,15 @@ def main():
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 = {}
166
 
167
  #------------------------------------------------------------------------
168
  # Main Guard
 
109
  return Image.open(io.BytesIO(image_bytes))
110
  return None
111
 
112
+ def generate_image_callback():
113
+ prompt = st.session_state.get("prompt_input", "")
114
+ if prompt:
115
+ st.session_state["prompt"] = prompt
116
+ # Add a spinner while generating the image
117
+ with st.spinner('Generating image...'):
118
+ image = generate_image(prompt)
119
+ if image:
120
+ st.session_state["image"] = image
121
+ else:
122
+ st.warning("Please enter a prompt.")
123
+
124
+ def reset_callback():
125
+ # Clear session state variables
126
+ st.session_state["prompt"] = ""
127
+ st.session_state["prompt_input"] = ""
128
+ st.session_state["image"] = None
129
 
130
+ def main():
131
+ st.title("MiImage Creator | Image Generation")
 
 
 
132
 
133
  # Input field for the prompt, tied to session state
134
+ st.text_input(
135
  "Enter a prompt for image generation:",
136
+ value=st.session_state.get("prompt_input", ""),
137
  key="prompt_input"
138
  )
139
 
140
+ # Generate Image button with callback
141
+ st.button("Generate Image", on_click=generate_image_callback)
 
 
 
 
 
 
 
 
 
 
142
 
143
  # Show the image if it exists in the session state
144
+ if st.session_state.get("image"):
145
  st.image(st.session_state["image"], caption="Generated Image")
146
 
147
  # Download button
 
152
  label="Download Image",
153
  data=image_bytes.getvalue(),
154
  file_name="generated_image.png",
155
+ mime="image/png"
 
156
  )
157
 
158
  # Reset button
159
+ st.button("Reset", on_click=reset_callback)
160
+
161
+ # If no image but prompt exists, show reset button to clear prompt
162
+ elif st.session_state.get("prompt_input"):
163
+ st.button("Reset", on_click=reset_callback)
 
 
 
164
 
165
  #------------------------------------------------------------------------
166
  # Main Guard