SAUL19 commited on
Commit
3faa194
·
1 Parent(s): f4364b2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -11
app.py CHANGED
@@ -1,6 +1,11 @@
1
  import gradio as gr
2
  import torch
3
  from diffusers import StableDiffusionPipeline
 
 
 
 
 
4
 
5
  model_id = "CompVis/stable-diffusion-v1-4"
6
  device = "cuda" if torch.cuda.is_available() else "cpu"
@@ -10,15 +15,42 @@ pipe = StableDiffusionPipeline.from_pretrained(
10
 
11
  pipe = pipe.to(device)
12
 
13
- def generatorImage(name):
14
- prompt = name
15
- image = pipe(prompt).images[0]
16
- image_name = '-'.join(prompt.split()) + ".png"
17
- # image.save("./images/" + image_name)
18
-
19
- return image_name
20
-
21
-
22
-
23
- iface = gr.Interface(fn=generatorImage, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  iface.launch()
 
1
  import gradio as gr
2
  import torch
3
  from diffusers import StableDiffusionPipeline
4
+ import os
5
+
6
+ AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID")
7
+ AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY")
8
+ S3_BUCKET_NAME = os.getenv("BUCKET_NAME")
9
 
10
  model_id = "CompVis/stable-diffusion-v1-4"
11
  device = "cuda" if torch.cuda.is_available() else "cpu"
 
15
 
16
  pipe = pipe.to(device)
17
 
18
+ def text_to_image(text):
19
+ # Crea una instancia del cliente de S3
20
+ s3 = boto3.client('s3',
21
+ aws_access_key_id=AWS_ACCESS_KEY_ID,
22
+ aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
23
+
24
+ def save_image_to_s3(image, image_name):
25
+ # Crea un objeto de BytesIO para almacenar la imagen
26
+ image_buffer = BytesIO()
27
+ image.save(image_buffer, format='PNG')
28
+ image_buffer.seek(0)
29
+
30
+ # Define la ruta de destino en el bucket de S3
31
+ s3_key = f"public/{image_name}"
32
+
33
+ # Sube la imagen al bucket de S3 en la ruta especificada
34
+ s3.upload_fileobj(image_buffer, bucket_name, s3_key)
35
+
36
+ def generator_image(text):
37
+ prompt = text
38
+ image = pipe(prompt).images[0]
39
+ image_name = '-'.join(prompt.split()) + ".png"
40
+
41
+ # Guarda la imagen en S3
42
+ save_image_to_s3(image, image_name)
43
+
44
+ return image_name
45
+
46
+ def generator_image_interface(text):
47
+ image_name = generator_image(text)
48
+ return f"Imagen generada: {image_name}"
49
+
50
+ # generate image
51
+ generator_image_interface(text);
52
+
53
+
54
+
55
+ iface = gr.Interface(fn=text_to_image, inputs="text", outputs="text")
56
  iface.launch()