Módulo 4: Generación de Imágenes

1. Introducción: Generación de Imágenes

Descripción

Esta es la primera cápsula del Módulo 4 de la Guía de IA Multimodal. Aquí vas a entender el estado actual de la generación de imágenes con IA, qué modelos existen, cómo funcionan a alto nivel, y qué puedes construir con ellos. Si los módulos anteriores (vision, documentos) se enfocaron en entender contenido visual, este módulo se enfoca en crear contenido visual desde cero.

Por qué importa: La generación de imágenes es la modalidad "output" más visible de la IA multimodal. En 2023-2024, DALL-E 3, Midjourney y Stable Diffusion transformaron industrias completas: marketing, e-commerce, editorial, gaming, y prototipado. Sin embargo, la mayoría de developers solo han probado estas herramientas de forma casual. Dominar las APIs de generación — entender parámetros, costos, limitaciones y cómo combinar generación con análisis — te separa del resto.

Este módulo no es un tutorial de "cómo generar imágenes bonitas". Es una guía técnica para integrar generación de imágenes en sistemas de software: APIs, parámetros, fallbacks entre proveedores, pipelines que combinan generación con vision, y decisiones de arquitectura (¿DALL-E o Stable Diffusion? ¿Cuándo usar cada uno?).

El proyecto final del módulo — un Image Generator con fallback — demuestra resiliencia ante fallos de proveedores: si DALL-E falla, el sistema automáticamente genera con Stable Diffusion, sin que el usuario lo note.


¿Dónde Estamos en la Guía?

Contexto

Esta guía tiene 8 módulos organizados en 3 fases:

Phase 1: Fundamentos Multimodales (Módulos 1-3)
├── Módulo 1: Introducción a IA Multimodal         ✓ completado
├── Módulo 2: Vision + LLMs                        ✓ completado
└── Módulo 3: Comprensión de Documentos             ✓ completado

Phase 2: Generación y Audio (Módulos 4-5)
├── Módulo 4: Generación de Imágenes               ← ESTÁS AQUÍ
└── Módulo 5: Procesamiento de Audio

Phase 3: RAG, Casos de Uso y Proyecto (Módulos 6-8)
├── Módulo 6: RAG Multimodal
├── Módulo 7: Casos de Uso
└── Módulo 8: Proyecto Final — Document Analyzer Multimodal

Duración total estimada: 6-7 horas (self-paced).

¿Hacia dónde vamos?

En los módulos 1-3 aprendiste a analizar contenido: enviar imágenes a GPT-4 Vision, extraer datos de PDFs, clasificar documentos. Ahora invertimos la dirección: en lugar de image → text, hacemos text → image.

La progresión dentro de este módulo es deliberada:

  1. Primero entiendes el landscape (esta cápsula) — modelos, proveedores, casos de uso
  2. Luego dominas DALL-E 3 (cápsula 2) — la opción más accesible y de mayor calidad
  3. Después Stable Diffusion (cápsula 3) — más control, más económico, open source
  4. Comparas ambos (cápsula 4) — decisiones de arquitectura basadas en datos
  5. Diseñas prompts para imagen (cápsula 5) — el prompt engineering visual
  6. Editas y creas variaciones (cápsula 6) — inpainting, outpainting, variaciones
  7. Integras en pipelines (cápsula 7) — generación + vision en un flujo
  8. Construyes el proyecto (cápsula 8) — Image Generator con fallback completo

La Era de la Generación de Imágenes

Breve historia

La generación de imágenes con IA tiene una historia corta pero intensa:

2021 — DALL-E (original)
  OpenAI presenta un modelo que genera imágenes desde texto.
  Impresionante pero limitado. Solo acceso para investigadores.

2022 — Stable Diffusion + Midjourney + DALL-E 2
  Stable Diffusion se libera como open source → explosión de la comunidad.
  Midjourney gana popularidad por calidad artística.
  DALL-E 2 lanza API pública.

2023 — DALL-E 3 + SDXL
  DALL-E 3 integrado en ChatGPT. Comprensión de prompts mejorada drásticamente.
  SDXL (Stable Diffusion XL) eleva la calidad del ecosistema open source.

2024 — SD3 + Flux + competencia masiva
  Stable Diffusion 3 con arquitectura DiT (Diffusion Transformer).
  Flux emerge como alternativa de alta calidad.
  La generación de imágenes se comoditiza: más opciones, menores costos.

Estado actual del mercado

El mercado de generación de imágenes se ha dividido en dos grandes campos:

Modelos cerrados (API):

  • DALL-E 3 (OpenAI) — integración nativa con GPT, calidad consistente
  • Imagen (Google) — acceso vía Vertex AI, menos popular que DALL-E
  • Ideogram — fuerte en tipografía dentro de imágenes

Modelos abiertos (open source):

  • Stable Diffusion XL, SD3 — el estándar open source
  • Flux — alta calidad, rápido crecimiento
  • Playground v2 — orientado a calidad fotorrealista

Para este módulo nos enfocamos en DALL-E 3 y Stable Diffusion porque:

  • Representan los dos paradigmas (cerrado vs abierto)
  • Tienen APIs accesibles (OpenAI y Replicate respectivamente)
  • Cubren el 90% de los casos de uso en producción
  • Las técnicas que aprendas son transferibles a cualquier otro modelo

Qué es Generación de Imágenes

Definición

Generación de imágenes es el proceso de crear imágenes nuevas desde descripciones en texto natural (prompts). Los modelos de difusión — la arquitectura dominante — funcionan "limpiando" ruido progresivamente hasta formar una imagen coherente con el prompt.

No necesitas entender la matemática de los modelos de difusión para usar las APIs. Pero sí necesitas entender los parámetros que controlan la generación, porque determinan la calidad, estilo, costo y tiempo de tus resultados.

Cómo funciona (alto nivel)

Prompt (texto) → Encoder → Espacio latente → Proceso de difusión → Decoder → Imagen (pixels)
  1. El prompt se convierte en un vector numérico (embedding)
  2. El modelo parte de ruido aleatorio en un espacio comprimido (latente)
  3. En cada paso de difusión (step), el modelo reduce el ruido guiado por el embedding del prompt
  4. Más steps = más detalle, pero más tiempo y costo
  5. El resultado latente se decodifica a una imagen en pixels

Proveedores principales

ProveedorModeloTipo de APICosto aprox.Características principales
OpenAIDALL-E 3API REST oficial$0.04-0.08/imgAlta calidad, comprensión semántica superior, reescribe prompts
ReplicateSDXL, SD3, FluxAPI REST$0.002-0.02/imgMúltiples modelos, pago por segundo de GPU
Stability AISD3, SDXLAPI REST oficial$0.01-0.03/imgAcceso directo al developer de Stable Diffusion
MidjourneyMidjourney v6Solo Discord (sin API REST)$10-60/mes suscripciónCalidad artística excepcional, pero sin API programática
GoogleImagen 2Vertex AIVariableIntegración con Google Cloud
Hugging FaceMúltiplesInference APIGratis (limitado)Ideal para experimentar, requiere GPU para producción

Casos de Uso en Producción

1. Marketing y publicidad

Generar variaciones de creativos publicitarios para A/B testing. Un solo prompt puede producir docenas de imágenes para probar en campañas. El costo de un diseñador gráfico para 50 variaciones es prohibitivo; con DALL-E 3 cuesta menos de $4.

prompts_campana = [
    "Producto tecnológico minimalista sobre fondo blanco, iluminación suave de estudio",
    "Producto tecnológico sobre escritorio de madera, luz natural de ventana",
    "Producto tecnológico flotando con fondo gradiente azul a morado",
]

2. E-commerce

Generar imágenes de producto desde diferentes ángulos, fondos o contextos de uso. Elimina la necesidad de sesiones fotográficas para cada variación de color o escenario.

fondos = ["fondo blanco estudio", "cocina moderna", "escritorio minimalista", "naturaleza exterior"]
for fondo in fondos:
    prompt = f"Botella de agua de acero inoxidable sobre {fondo}, fotografía profesional de producto"

3. Prototipado y diseño

Generar mockups de interfaces, conceptos visuales para presentaciones, storyboards para video. Permite iterar rápido antes de involucrar a un diseñador para el resultado final.

4. Contenido editorial

Ilustraciones para artículos, thumbnails para videos, imágenes para redes sociales. Publicaciones que antes requerían stock photos genéricas ahora tienen ilustraciones únicas y alineadas con el contenido.

5. Pipelines multimodales

El caso de uso más avanzado: combinar generación con análisis. Ejemplos reales:

  • Documento → Diagrama: Analizar un PDF con GPT-4 Vision → extraer estructura → generar diagrama con DALL-E
  • Descripción → Imagen → Análisis: Generar imagen → analizarla con vision → iterar el prompt
  • Chatbot visual: Usuario describe lo que quiere → sistema genera → usuario da feedback → sistema ajusta
def pipeline_documento_a_diagrama(documento_path: str) -> str:
    texto = analizar_documento(documento_path)
    prompt_imagen = f"Diagrama técnico que muestra: {texto[:500]}"
    imagen_url = generar_imagen(prompt_imagen)
    return imagen_url

6. Gaming y entretenimiento

Generación de assets: texturas, fondos, sprites conceptuales, concept art. Especialmente útil en fases tempranas de desarrollo donde se necesitan muchas iteraciones rápidas.


Roadmap del Módulo 4

#CápsulaQué aprenderásDuración
01Introducción (esta)Landscape, modelos, casos de uso, setup8 min
02DALL-E 3 (OpenAI)API completa, parámetros, formatos, costos8 min
03Stable DiffusionReplicate API, SDXL, parámetros avanzados8 min
04Comparación DALL-E vs SDBenchmark, costos, decisiones de arquitectura7 min
05Prompts para imagenPrompt engineering visual, negative prompts7 min
06Edición y variacionesInpainting, outpainting, variaciones6 min
07Integración en pipelinesGeneración + vision, flujos compuestos6 min
08Proyecto: Image GeneratorDALL-E + SD fallback, sistema completo10 min

Duración estimada total del módulo: ~60 min


Objetivos del Módulo

Al completar este módulo serás capaz de:

ObjetivoCápsula donde se cubre
Usar la API de DALL-E 3 con todos sus parámetros (size, quality, style)02
Integrar Stable Diffusion vía Replicate con control fino de parámetros03
Comparar DALL-E vs SD y elegir el adecuado según contexto04
Diseñar prompts efectivos para generación de imágenes05
Aplicar edición (inpainting) y generar variaciones06
Construir pipelines que combinan generación con análisis07
Implementar un Image Generator con fallback entre proveedores08

Habilidades técnicas específicas

  • Llamadas a la API de OpenAI Images (client.images.generate)
  • Llamadas a Replicate para Stable Diffusion
  • Manejo de respuestas en URL y base64
  • Descarga y almacenamiento de imágenes generadas
  • Negative prompts para Stable Diffusion
  • Parámetros de sampling (steps, guidance_scale, scheduler)
  • Error handling para content policy violations
  • Patrón fallback entre múltiples proveedores

Prerrequisitos

Lo que necesitas de módulos anteriores

Este módulo asume que completaste los módulos 1-3 o tienes experiencia equivalente:

PrerrequisitoDónde lo aprendiste
Configurar OPENAI_API_KEY y usar OpenAI() clientMódulo 1
Entender la diferencia entre modelos de análisis y generaciónMódulo 1
Trabajar con imágenes en base64 y URLsMódulo 2
Manejar errores de API (rate limits, content policy)Módulo 2
Construir funciones reutilizables que llaman APIsMódulo 3

Verificación rápida

Si puedes ejecutar este código sin problemas, estás listo:

from openai import OpenAI

client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Responde solo 'OK'"}],
    max_tokens=5
)
print(response.choices[0].message.content)

Si obtienes OK, tu API key funciona y puedes continuar.


Setup Técnico

Dependencias

pip install openai>=1.0.0 replicate requests Pillow
PaquetePara qué lo usamos
openaiAPI de DALL-E 3
replicateAPI de Stable Diffusion vía Replicate
requestsDescargar imágenes desde URLs
PillowManipulación básica de imágenes (resize, mostrar)

API Keys

export OPENAI_API_KEY="sk-..."
export REPLICATE_API_TOKEN="r8_..."

OPENAI_API_KEY es obligatoria para las cápsulas 2, 4-8. REPLICATE_API_TOKEN es necesaria para las cápsulas 3, 4, 7-8. Puedes crear una cuenta gratuita en replicate.com que incluye créditos iniciales.

Verificación del setup

import openai
import replicate

print(f"openai version: {openai.__version__}")
print(f"replicate importado correctamente")

client = openai.OpenAI()

response = client.images.generate(
    model="dall-e-3",
    prompt="Un cuadrado rojo sobre fondo blanco",
    size="1024x1024",
    quality="standard",
    n=1
)
print(f"DALL-E 3 funciona. URL: {response.data[0].url[:80]}...")

Si obtienes una URL, tu setup está completo para todo el módulo.

Estructura de archivos recomendada

module-04-workspace/
├── generated/           ← Imágenes generadas se guardan aquí
├── 01_intro.py
├── 02_dalle3.py
├── 03_stable_diffusion.py
├── 04_comparacion.py
├── 05_prompts.py
├── 06_edicion.py
├── 07_pipelines.py
└── 08_proyecto.py

Qué NO Cubre Este Módulo

Es igual de importante saber qué no vamos a cubrir para evitar falsas expectativas:

TemaPor qué no lo cubrimosDónde aprenderlo
Fine-tuning de modelos de imagenRequiere GPUs, datasets, y es un campo especializadoDocumentación de Stability AI, cursos de ML
Entrenamiento desde ceroFuera de alcance para AI Engineers (vs ML Engineers)Papers originales, cursos de deep learning
Midjourney (interfaz Discord)No tiene API REST; no es integrable en códigoDocumentación de Midjourney
Generación de videoAún inmaduro para producción; cambiará rápidoMódulo futuro o actualización de la guía
ControlNet avanzadoRequiere infraestructura local con GPUDocumentación de Stable Diffusion
Aspectos legales de copyrightDepende de jurisdicción y cambia constantementeConsultar fuentes legales actualizadas

Modelo Mental: Análisis vs Generación

En los módulos 1-3 trabajaste el flujo imagen → texto (análisis). Ahora trabajamos texto → imagen (generación). Este cambio de dirección tiene implicaciones prácticas:

AspectoAnálisis (M1-3)Generación (M4)
InputImagen existenteTexto (prompt)
OutputTexto (descripción, datos)Imagen nueva
DeterminismoAlto (misma imagen = mismo análisis)Bajo (mismo prompt ≠ misma imagen)
ControlPreguntas específicasPrompt engineering + parámetros
CostoBasado en tokens de input/outputBasado en resolución y calidad
Errores típicosAlucinaciones en textoArtefactos visuales, manos mal
EvaluaciónComparar contra ground truthSubjetiva + criterios definidos

El no-determinismo es la diferencia más importante. Cada vez que generas una imagen con el mismo prompt, obtienes un resultado diferente. Esto es una feature (variedad) y un bug (inconsistencia) al mismo tiempo. Aprenderás a manejarlo con seeds y parámetros.


Autoevaluación

Antes de avanzar a la cápsula 2, verifica que puedes responder estas preguntas:

Conceptuales:

  1. ¿Cuáles son los dos paradigmas principales de generación de imágenes (cerrado vs abierto)?
  2. ¿Por qué la generación de imágenes es no-determinista?
  3. ¿En qué se diferencia usar DALL-E 3 vs Stable Diffusion desde la perspectiva de un developer?

Prácticas: 4. ¿Tienes tu OPENAI_API_KEY configurada y funcionando? 5. ¿Tienes REPLICATE_API_TOKEN configurada (o sabes cómo obtenerla)? 6. ¿Puedes nombrar tres casos de uso de generación de imágenes en producción?

Respuestas esperadas
  1. Cerrado: DALL-E 3 (OpenAI) — API propietaria, alta calidad, menos control. Abierto: Stable Diffusion — open source, más control (negative prompts, parámetros), ejecutable localmente.
  2. Porque el proceso de difusión parte de ruido aleatorio diferente en cada ejecución. El seed controla ese ruido; mismo seed = misma imagen.
  3. DALL-E 3: una sola API (openai), pocos parámetros, calidad consistente, más caro. SD: múltiples APIs (Replicate, Stability, local), muchos parámetros (steps, cfg_scale, scheduler, negative_prompt), más barato, requiere más tuning.
  4. Ejecutar el código de verificación de la sección Setup.
  5. Registrarse en replicate.com → Settings → API tokens.
  6. Marketing (variaciones de creativos), e-commerce (fotos de producto), pipelines multimodales (documento → diagrama).

Evidencia de Éxito

Al terminar este módulo, sabrás que tuviste éxito si:

  • ✅ Puedes generar una imagen con DALL-E 3 desde un prompt y recibir la URL o Base64 del resultado
  • ✅ Puedes generar una imagen con Stable Diffusion vía Replicate, configurando parámetros como steps, cfg_scale y negative prompt
  • ✅ Conoces las diferencias de costo, control y calidad entre DALL-E 3 y Stable Diffusion
  • ✅ Sabes diseñar prompts efectivos para generación de imágenes (estructura, descriptores, estilos)
  • ✅ Puedes implementar un fallback que intenta DALL-E 3 primero y cae a Stable Diffusion si falla
  • ✅ Tu Image Generator con Fallback funciona: genera imágenes, verifica calidad, y rastrea costos

Resumen

  • Generación de imágenes es la modalidad que crea contenido visual desde texto — complemento del análisis que dominaste en M1-M3.
  • Los dos paradigmas principales son: cerrado (DALL-E 3 — API propietaria, alta calidad, menos control) y abierto (Stable Diffusion — open source, más parámetros, más barato).
  • Los casos de uso reales incluyen: marketing (variaciones de creativos), e-commerce (fotos de producto), pipelines multimodales (documento → diagrama).
  • Este módulo cubre: API de DALL-E 3, Stable Diffusion vía Replicate, prompt engineering visual, edición/variaciones, y pipelines de generación.
  • El proyecto del módulo es un Image Generator con Fallback que intenta múltiples proveedores, verifica calidad y rastrea costos.

Terminología del Módulo

TérminoSignificado
PromptTexto que describe la imagen a generar
Negative promptTexto que describe lo que NO debe aparecer (solo Stable Diffusion)
SeedNúmero que controla el ruido inicial; mismo seed = mismo resultado
StepsCantidad de pasos de difusión; más steps = más detalle
CFG Scale / GuidanceQué tan estrictamente el modelo sigue el prompt (más alto = más literal)
InpaintingEditar una zona específica de una imagen existente
OutpaintingExpandir una imagen más allá de sus bordes originales
VariacionesGenerar imágenes similares a una imagen de referencia
Revised promptEl prompt reescrito por DALL-E 3 internamente
SchedulerAlgoritmo de sampling en Stable Diffusion (K_EULER, DPM, etc.)

Recursos Adicionales

  1. OpenAI Images API — Documentación oficial de DALL-E 3
  2. Replicate — Stable Diffusion y otros modelos vía API
  3. Stability AI — Creadores de Stable Diffusion
  4. Prompt Engineering for Image Generation (OpenAI Cookbook) — Ejemplos avanzados
  5. Hugging Face Diffusers — Librería para ejecutar modelos de difusión localmente