Contenido del curso
Interfaces de la API y streaming
Function calling y salidas estructuradas
Reducción de costos con caching y batch
Ingeniería de producción y control de calidad
Proyecto final de consultas sobre documentos
Analizar una imagen de referencia
Resumen
Cuando tienes una imagen de referencia (un póster, una foto de un evento, una captura o cualquier pieza visual) y necesitas extraer información para planear una campaña, puedes enviar esa imagen a OpenAI y recibir un análisis detallado. Aquí aprenderás a construir esa función de análisis visual dentro de tu integración con FastAPI, ideal para quienes trabajan en marketing de contenido y automatización.
Para qué sirve analizar una imagen de referencia en marketing
La idea es simple: partir de una pieza visual existente y dejar que el modelo describa lo que ve para orientar la estrategia. En lugar de interpretar tú solo el estilo o los colores, el modelo te devuelve un desglose útil para tomar decisiones creativas.
En la clase se define una función llamada analizarImagenDeReferencia dentro del archivo del OpenAI client [00:32]. Esta función recibe dos parámetros:
- La imagen codificada en base64, que llega como un string.
- El tipo de contenido (content type), también como string.
El retorno es un string con el análisis. Y aquí viene lo interesante: se reutiliza client.responses.create con el mismo modelo del curso, el GPT 5.4 [00:52].
¿Qué es base64 en el envío de imágenes? Es una forma de codificar una imagen como texto para poder transmitirla dentro de una petición. En este flujo permite que la imagen viaje como string hacia la API de OpenAI.
Cómo se construye la función de análisis con responses.create
Las instrucciones que se le pasan al modelo son concretas: analiza esta imagen como referencia visual para una campaña; describe estilo, elementos importantes, colores, tono visual y posibles usos, y responde en español [01:05].
El input combina dos partes:
- Un
input textcon el mensaje "analiza esta imagen para una campaña de contenido". - Un
input imageque recibe la URL o el valor de la imagen, el content type y el base64 que llegan por parámetro [01:24].
Como se usa responses.create, la respuesta se obtiene a través del output text [01:46]. Con eso queda lista la función lado cliente.
Cómo crear el endpoint analyzeImage en FastAPI
El siguiente paso ocurre en el archivo server.py. Ya existía un endpoint de contenido, así que ahora se agrega uno nuevo de tipo post llamado /analyzeImage [02:07].
Este endpoint usa una función asíncrona que recibe un parámetro de tipo archivo. El flujo interno funciona así:
imageByteslee el valor y el tamaño del archivo.- El base64 codifica la imagen para procesarla.
- Se envía a la función
analizarImagenDeReferencia, pasándole el image base64 y el tipo de contenido confile.contentType[02:31].
Finalmente, el endpoint retorna HTML para renderizar en el navegador: un título que dice "Análisis de la imagen" y un paragraph con todo el análisis que devuelve el modelo [02:55].
¿Por qué usar multipart/form-data al subir imágenes? Porque es el formato que permite enviar archivos dentro de un formulario. Al tratarse de una imagen y no de texto plano, el formulario debe encriptar el contenido como multipart form-data.
Qué imports necesitas para que todo funcione
Para validar que el archivo corra sin errores, se agregan las importaciones faltantes en la parte superior [03:07]:
base64, que permite codificar y decodificar la imagen.UploadFileyFiledesde FastAPI, que ya se importaba junto conForm.- La nueva función
analyzeReferenceImagedesde el package del OpenAI client, que se suma a las cuatro funciones ya importadas.
Cuando el editor pinta analyzeReferenceImage, UploadFile y File en su color de validación, sabes que la importación quedó correcta [03:40].
Cómo agregar el formulario en el home y probar en el navegador
Al reiniciar el servidor y refrescar, al principio no aparece la cajita para analizar imagen. Eso pasa porque falta agregar ese bloque dentro del home, justo debajo de "generar contenido por canal" [04:07].
El formulario que se añade tiene estas características:
- Método post con action apuntando a
/analyzeImage. - Encriptación multipart form-data por tratarse de un archivo.
- Un input type de tipo file con nombre
file. - Un botón de submit que dice "Analizar imagen" [04:30].
Después de guardar y reiniciar el servidor, ya puedes escoger una imagen y presionar "Analizar imagen". En la clase se usa la imagen del lanzamiento del curso de hace unos meses [05:03].
Qué información devuelve el modelo sobre una imagen
El resultado llega estructurado siguiendo exactamente lo que se pidió en las instrucciones. El análisis incluye [05:23]:
- Estilo visual.
- Elementos importantes, con subitems como personas, branding, espacio y composición.
- Colores, con la paleta dominante y qué transmite cada uno, más una lectura cromática.
- Tono visual y qué comunica la imagen.
- Posibles usos en campañas de contenido, con formatos recomendados.
- Fortalezas para marketing, riesgos o limitaciones, recomendación de estrategia y una conclusión.
La conclusión de ejemplo es reveladora: describe la imagen como potente para transmitir comunidad, energía, legitimidad y cercanía, especialmente útil para marcas de tecnología, educación y software [05:52]. Incluso ofrece convertir el análisis en concepto de campaña, copies para redes, brief creativo y lineamientos visuales.
Con esto, tu integración ya interpreta imágenes como contexto de entrada. El siguiente paso lógico es automatizar la creación de una imagen original partiendo de un brief estructurado [06:34].
Todo el curso trabaja con GPT 5.4, así que anímate a probar otros modelos y cuéntanos en los comentarios qué ventajas identificaste.