salomonsky commited on
Commit
5981fd1
1 Parent(s): e3a57cc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -17
app.py CHANGED
@@ -121,6 +121,23 @@ def create_video_from_images():
121
  def main():
122
  st.set_page_config(layout="wide")
123
  st.title("Generador de Imágenes")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  st.warning("Este espacio contiene contenido que no es adecuado para todas las audiencias. Se recomienda discreción.")
125
  agree = st.checkbox("Soy mayor de 18 años y entiendo que el contenido puede no ser apropiado.")
126
 
@@ -128,60 +145,60 @@ def main():
128
  prompt = st.sidebar.text_input("Descripción de la imagen", max_chars=500)
129
  format_option = st.sidebar.selectbox("Formato", ["9:16", "16:9"])
130
  model_option = st.sidebar.selectbox("Modelo", ["enhanceaiteam/Flux-Uncensored-V2", "enhanceaiteam/Flux-uncensored"])
131
-
132
  width, height = (720, 1280) if format_option == "9:16" else (1280, 720)
133
-
134
  if st.sidebar.button("Generar Imagen"):
135
  with st.spinner("Generando imagen..."):
136
  result = asyncio.run(gen(prompt, width, height, model_option))
137
  image_paths = result[0]
138
  prompt_file = result[1]
139
-
140
  if image_paths:
141
  if Path(image_paths).exists():
142
  st.image(image_paths, caption="Imagen Generada")
143
  else:
144
  st.error("El archivo de imagen no existe.")
145
-
146
  if prompt_file and Path(prompt_file).exists():
147
  prompt_text = Path(prompt_file).read_text()
148
  st.write(f"Prompt utilizado: {prompt_text}")
149
  else:
150
  st.write("El archivo del prompt no está disponible.")
151
-
152
  files, usage = get_storage()
153
  st.text(usage)
154
  cols = st.columns(6)
155
  prompts = get_prompts()
156
-
157
  for idx, file in enumerate(files):
158
  with cols[idx % 6]:
159
  image = Image.open(file)
160
  prompt_file = prompts.get(Path(file).stem.replace("image_", ""), None)
161
  prompt_text = Path(prompt_file).read_text() if prompt_file else "No disponible"
162
-
163
  st.image(image, caption=f"Imagen {idx+1}")
164
  st.write(f"Prompt: {prompt_text}")
165
-
166
  if st.button(f"Borrar Imagen {idx+1}", key=f"delete_{idx}"):
167
  try:
168
- os.remove(file)
169
  if prompt_file:
170
  os.remove(prompt_file)
171
  st.success(f"Imagen {idx+1} y su prompt fueron borrados.")
172
  except Exception as e:
173
  st.error(f"Error al borrar la imagen o prompt: {e}")
174
-
175
  if st.sidebar.button("Borrar todas las imágenes"):
176
  delete_all_images()
177
-
178
  if st.sidebar.button("Descargar imágenes en .zip"):
179
  download_images_as_zip()
180
-
181
  if st.button("Generar video con las imágenes"):
182
- video_path = create_video_from_images()
183
- if video_path:
184
- st.video(str(video_path), format="video/mp4")
185
-
186
- if __name__ == "__main__":
187
  main()
 
121
  def main():
122
  st.set_page_config(layout="wide")
123
  st.title("Generador de Imágenes")
124
+
125
+ if "authenticated" not in st.session_state:
126
+ st.session_state.authenticated = False
127
+
128
+ if not st.session_state.authenticated:
129
+ st.subheader("Iniciar sesión")
130
+ username = st.text_input("Usuario")
131
+ password = st.text_input("Contraseña", type="password")
132
+
133
+ if st.button("Ingresar"):
134
+ if username == credentials["username"] and password == credentials["password"]:
135
+ st.session_state.authenticated = True
136
+ st.success("Inicio de sesión exitoso.")
137
+ else:
138
+ st.error("Usuario o contraseña incorrectos.")
139
+ return
140
+
141
  st.warning("Este espacio contiene contenido que no es adecuado para todas las audiencias. Se recomienda discreción.")
142
  agree = st.checkbox("Soy mayor de 18 años y entiendo que el contenido puede no ser apropiado.")
143
 
 
145
  prompt = st.sidebar.text_input("Descripción de la imagen", max_chars=500)
146
  format_option = st.sidebar.selectbox("Formato", ["9:16", "16:9"])
147
  model_option = st.sidebar.selectbox("Modelo", ["enhanceaiteam/Flux-Uncensored-V2", "enhanceaiteam/Flux-uncensored"])
148
+
149
  width, height = (720, 1280) if format_option == "9:16" else (1280, 720)
150
+
151
  if st.sidebar.button("Generar Imagen"):
152
  with st.spinner("Generando imagen..."):
153
  result = asyncio.run(gen(prompt, width, height, model_option))
154
  image_paths = result[0]
155
  prompt_file = result[1]
156
+
157
  if image_paths:
158
  if Path(image_paths).exists():
159
  st.image(image_paths, caption="Imagen Generada")
160
  else:
161
  st.error("El archivo de imagen no existe.")
162
+
163
  if prompt_file and Path(prompt_file).exists():
164
  prompt_text = Path(prompt_file).read_text()
165
  st.write(f"Prompt utilizado: {prompt_text}")
166
  else:
167
  st.write("El archivo del prompt no está disponible.")
168
+
169
  files, usage = get_storage()
170
  st.text(usage)
171
  cols = st.columns(6)
172
  prompts = get_prompts()
173
+
174
  for idx, file in enumerate(files):
175
  with cols[idx % 6]:
176
  image = Image.open(file)
177
  prompt_file = prompts.get(Path(file).stem.replace("image_", ""), None)
178
  prompt_text = Path(prompt_file).read_text() if prompt_file else "No disponible"
179
+
180
  st.image(image, caption=f"Imagen {idx+1}")
181
  st.write(f"Prompt: {prompt_text}")
182
+
183
  if st.button(f"Borrar Imagen {idx+1}", key=f"delete_{idx}"):
184
  try:
185
+ os.remove(file)
186
  if prompt_file:
187
  os.remove(prompt_file)
188
  st.success(f"Imagen {idx+1} y su prompt fueron borrados.")
189
  except Exception as e:
190
  st.error(f"Error al borrar la imagen o prompt: {e}")
191
+
192
  if st.sidebar.button("Borrar todas las imágenes"):
193
  delete_all_images()
194
+
195
  if st.sidebar.button("Descargar imágenes en .zip"):
196
  download_images_as_zip()
197
+
198
  if st.button("Generar video con las imágenes"):
199
+ video_path = create_video_from_images()
200
+ if video_path:
201
+ st.video(str(video_path), format="video/mp4")
202
+
203
+ if __name__ == "__main__":
204
  main()