1. Introducción al modelo DALL·E
El modelo DALL·E de OpenAI es un sistema de inteligencia artificial que puede generar imágenes a partir de indicaciones textuales. Su capacidad va desde replicar imágenes simples hasta reinterpretar creativamente escenas descritas en texto. El nombre "DALL·E" es una fusión del pintor Salvador Dalí y el personaje animado WALL·E, simbolizando la intersección entre el arte y la automatización.
El modelo DALL·E se entrena a través del aprendizaje profundo para comprender indicaciones textuales y transformarlas en representaciones visuales. Ya sea fotografía, pintura, arte digital u cualquier otra forma de imagen, DALL·E puede generar imágenes coincidentes basadas en las descripciones.
2. Uso básico del modelo de generación de imágenes DALL·E
OpenAI proporciona una interfaz API para DALL·E, que permite a los desarrolladores integrar el modelo en sus propias aplicaciones o servicios. A continuación se muestra el proceso básico y el significado de los parámetros para generar imágenes utilizando las interfaces API DALL·E 3 y DALL·E 2:
curl -X POST https://api.openai.com/v1/images/generations \
-H "Authorization: Bearer TU_CLAVE_API" \
-H "Content-Type: application/json" \
-d '{
"model": "dall-e-2", # Versión del modelo, puede ser "dall-e-3" o "dall-e-2".
"prompt": "Indicación textual", # Texto utilizado para generar la imagen.
"n": 1, # Número de imágenes a generar.
"size": "1024x1024", # Tamaño de la imagen.
"quality": "standard" # Calidad de la imagen, puede ser "hd".
}'
-
model
: Especifica la versión del modelo DALL·E que se va a utilizar. -
prompt
: Proporciona la indicación textual para el modelo, que utiliza para generar imágenes. -
n
: Especifica el número de imágenes a generar. DALL·E 3 solo puede generar 1 imagen a la vez, mientras que DALL·E 2 puede generar hasta 10 imágenes simultáneamente. -
size
: Tamaño de la imagen generada. Para dall-e-2, debe ser uno de 256x256, 512x512 o 1024x1024. Para dall-e-3, debe ser uno de 1024x1024, 1792x1024 o 1024x1792. -
quality
: Establece la calidad de la imagen generada.standard
para calidad estándar,hd
para calidad de alta definición.
3. Edición de imágenes y generación de variantes (solo DALL·E 2)
3.1. Edición de Imágenes (Edición o Expansión de Imágenes)
Con la función de edición de imágenes de DALL·E 2, puedes subir una imagen y su máscara correspondiente. Las áreas transparentes en la máscara indican las partes a editar, y el modelo generará contenido en estas áreas basado en las nuevas indicaciones textuales. Esta función puede crear nuevos elementos diferentes de los elementos de la imagen original, generando así versiones editadas.
Continúa utilizando el ejemplo de solicitud de API con el comando curl:
curl -X POST https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer TU_CLAVE_API" \
-H "Content-Type: multipart/form-data" \
-F "model=dall-e-2" \
-F "prompt=Descripción textual nueva" \
-F "image=@/ruta_de_tu_imagen_original.png" \
-F "mask=@/ruta_de_tu_máscara.png" \
-F "n=1" \
-F "size=1024x1024"
-
image
: archivo que contiene la imagen original. -
mask
: archivo que contiene la máscara, donde el área transparente indica la región a ser procesada por el modelo. -
prompt
: nueva indicación textual que describe todo el contenido de la nueva imagen, no solo el área borrada.
Es importante tener en cuenta que la imagen original y la máscara subidas deben ser imágenes PNG cuadradas, que no superen los 4MB de tamaño y tengan las mismas dimensiones.
Ejemplo:
curl https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image="@sunlit_lounge.png" \
-F mask="@mask.png" \
-F model="dall-e-2" \
-F prompt="Un área de descanso iluminada por el sol con una piscina y un flamenco en su interior" \
-F n=1 \
-F size="1024x1024"
Imagen Original
Imagen de la Máscara
Imagen Generada
3.2. Generación de Variantes de Imágenes
Utilizando DALL·E 2 para generar variantes de imágenes parte de una imagen existente para crear algunas versiones que difieren en contenido o estilo. Esta función se puede utilizar para explorar diferentes posibilidades de una imagen o para una evolución creativa.
De manera similar, utiliza el comando curl para enviar una solicitud de API:
curl -X POST https://api.openai.com/v1/images/variations \
-H "Authorization: Bearer TU_CLAVE_API" \
-H "Content-Type: multipart/form-data" \
-F "image=@/ruta_de_tu_imagen.png" \
-F "n=2" \
-F "size=1024x1024"
-
image
: archivo que contiene la imagen original para la cual se generarán variantes. -
n
: el número de variantes a generar, que puede ser controlado utilizando este parámetro.
Al igual que antes, la imagen de entrada debe ser un archivo PNG cuadrado, con un tamaño menor a 4MB.