-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdalle.py
More file actions
77 lines (59 loc) · 2.24 KB
/
Copy pathdalle.py
File metadata and controls
77 lines (59 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import sys
import openai
import requests
from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout)
from PyQt5.QtGui import QPixmap, QImage
# Establecer la clave de API
openai.api_key = "tu api key"
# Clase principal de la aplicación
class GeneradorImagenes(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# Crear widgets
self.label = QLabel("Prompt:")
self.lineedit = QLineEdit()
self.boton = QPushButton("Crear")
self.imagen = QLabel()
# Crear layout
hbox = QHBoxLayout()
hbox.addWidget(self.label)
hbox.addWidget(self.lineedit)
hbox.addWidget(self.boton)
vbox = QVBoxLayout()
vbox.addLayout(hbox)
vbox.addWidget(self.imagen)
self.setLayout(vbox)
# Conectar señal "clicked" del boton con el slot "crearImagen"
self.boton.clicked.connect(self.crearImagen)
# Configurar ventana principal
self.setWindowTitle("Generador de imágenes")
self.setGeometry(300, 300, 600, 400)
# Slot que se ejecuta al hacer clic en el boton "Crear"
def crearImagen(self):
# Obtener el texto del prompt ingresado por el usuario
prompt = self.lineedit.text()
# Enviar solicitud a DALL-E y obtener la imagen generada
response = openai.Image.create(
prompt=prompt,
size="512x512"
)
image_url = response['data'][0]['url']
# Descargar la imagen y convertirla a formato QImage
response = requests.get(image_url)
image = QImage.fromData(response.content)
image_data = response.content
# Guardar el contenido de la variable en un archivo en el disco
with open("imagen.jpg", "wb") as f:
f.write(image_data)
# Mostrar la imagen en el lienzo
pixmap = QPixmap.fromImage(image)
self.imagen.setPixmap(pixmap)
return image_url
# Funcion principal
if __name__ == "__main__":
app = QApplication(sys.argv)
window = GeneradorImagenes()
window.show()
sys.exit(app.exec_())