Martes, 21 de julio de 2026  ·  LATAM / Español
ÚLTIMA HORA
Anthropic lanza mejoras en la API de Claude para América Latina  ·  MCP 2026-07-28 ya en release candidate  ·  Claude Sonnet 5 supera benchmarks de coding agéntico  ·  Claude Code alcanza $1B de run-rate en 6 meses  ·  NSA publica guía de seguridad para el protocolo MCP
Hace 45 min →
Principiante 35 min en total 6 pasos

Cómo hacer que Claude genere imágenes

Claude no crea imágenes nativamente, pero puede generarlas vía código (SVG, matplotlib) o integrando APIs externas.

Imagen de portada editorial · Cómo hacer que Claude genere imágenes · Educación · Claude Builders
Requisitos
  • Cuenta en Anthropic Console (console.anthropic.com) con API key
  • Python 3.9+ instalado
  • Librería anthropic instalada (pip install anthropic)
  • Créditos de API activos
Lo que vas a aprender
  • Por qué Claude no genera imágenes directamente y qué sí puede hacer
  • Cómo pedirle a Claude que genere gráficos SVG listos para usar
  • Cómo usar Claude para escribir código Python (matplotlib) que produce imágenes
  • Cómo orquestar Claude con una API de generación de imágenes real
  • Errores comunes al esperar imágenes de un modelo de texto
PASO 1 · ~5 min

Entender qué puede y qué no puede hacer Claude

Antes de escribir código, aclaremos algo clave: Claude (incluido claude-opus-4-8) es un modelo de lenguaje con visión. Puede LEER y analizar imágenes que le envías, pero NO produce archivos PNG/JPG directamente como lo haría DALL-E, Midjourney o Stable Diffusion. Esto confunde a muchos principiantes en España y LATAM que esperan pedir 'dibújame un gato' y recibir una foto. Lo que Claude SÍ hace excelente es generar el CÓDIGO que crea imágenes: SVG vectorial, gráficos con matplotlib, diagramas con HTML/CSS, o texto tipo ASCII art. Además, puede actuar como orquestador: escribir el prompt perfecto y llamar a una API de imágenes externa por ti. En este tutorial cubrimos las tres vías reales. Elige según tu caso: SVG para logos e íconos simples, matplotlib para gráficos de datos, y APIs externas para imágenes fotorrealistas.

ConsejoSi tu objetivo son imágenes realistas o artísticas, salta directo al paso 5 (API externa). Claude solo será tu asistente de prompts.
Error comúnNo pierdas tiempo pidiéndole a Claude 'genera una imagen de X' esperando un archivo binario: siempre responderá con texto o código.
PASO 2 · ~5 min

Configurar tu cliente de Claude

Instala la librería oficial y configura tu API key. Ve a console.anthropic.com, entra en 'API Keys' y crea una nueva. Guárdala como variable de entorno para no exponerla en tu código (buena práctica de seguridad). En Linux/macOS usa export en la terminal; en Windows usa set. Nunca subas tu key a GitHub. Con esto listo, verificamos que la conexión funciona antes de generar nada.

python
# Terminal
pip install anthropic
export ANTHROPIC_API_KEY='sk-ant-tu-key-aqui'

# archivo test.py
import anthropic

client = anthropic.Anthropic()

mensaje = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=100,
    messages=[{"role": "user", "content": "Responde 'conexión OK'"}]
)
print(mensaje.content[0].text)
ConsejoEn LATAM con conexiones inestables, añade timeout=30 al crear el cliente: anthropic.Anthropic(timeout=30).
Error comúnSi ves 'authentication_error', tu key está mal copiada o la variable de entorno no se cargó en la terminal actual.
PASO 3 · ~7 min

Generar una imagen SVG con Claude

El SVG es formato vectorial basado en texto (XML), perfecto para que Claude lo genere directamente. Le pedimos que devuelva SOLO el código SVG y lo guardamos en un archivo que puedes abrir en cualquier navegador. Ideal para íconos, logos simples, ilustraciones geométricas o diagramas. Aquí generamos un ícono de sol. Después de guardar el archivo .svg, ábrelo con doble clic o conviértelo a PNG con herramientas como Inkscape o una web como cloudconvert.

python
import anthropic, re

client = anthropic.Anthropic()

prompt = "Genera un icono SVG de un sol amarillo con rayos, 200x200px. Devuelve SOLO el codigo SVG, sin explicaciones ni markdown."

resp = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2000,
    messages=[{"role": "user", "content": prompt}]
)

texto = resp.content[0].text
# Extraer el bloque SVG por si incluye texto extra
match = re.search(r"<svg.*?</svg>", texto, re.DOTALL)
svg = match.group(0) if match else texto

with open("sol.svg", "w", encoding="utf-8") as f:
    f.write(svg)
print("Guardado en sol.svg — abrelo en tu navegador")
ConsejoPide dimensiones y colores exactos (hex) en el prompt: cuanto más específico, mejor el resultado a la primera.
Error comúnA veces Claude envuelve el SVG en ```xml pese a pedirle que no; por eso el re.search extrae solo la etiqueta.
PASO 4 · ~6 min

Crear gráficos de datos con matplotlib

Para visualizaciones de datos (barras, líneas, tortas), Claude escribe código Python con matplotlib que genera un PNG real. Este es el caso más útil para informes y dashboards. Le pasamos los datos, Claude devuelve el script, y lo ejecutamos para obtener el archivo de imagen. Necesitas instalar matplotlib primero. Aquí generamos un gráfico de ventas ficticias.

python
# pip install matplotlib
import anthropic, matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

client = anthropic.Anthropic()
prompt = ("Escribe SOLO codigo Python con matplotlib que dibuje un grafico de barras "
          "de ventas: Enero 120, Febrero 150, Marzo 90, Abril 200. Titulo 'Ventas Q1'. "
          "Guardalo con plt.savefig('ventas.png'). Sin explicaciones ni markdown.")

resp = client.messages.create(model="claude-opus-4-8", max_tokens=1000,
    messages=[{"role":"user","content":prompt}])

codigo = resp.content[0].text.replace("```python","").replace("```","").strip()
exec(codigo)
print("Grafico guardado en ventas.png")
ConsejoUsa matplotlib.use('Agg') antes de importar pyplot para generar imágenes sin abrir ventanas (útil en servidores).
Error comúnEjecutar código con exec() de un LLM es riesgoso en producción; revísalo antes o córrelo en un entorno aislado (sandbox).
PASO 5 · ~7 min

Generar imágenes reales usando Claude + una API externa

Para imágenes fotorrealistas o artísticas necesitas un modelo de difusión. Aquí Claude brilla como generador de prompts: le describes tu idea en español, él la convierte en un prompt optimizado en inglés, y luego llamas a una API de imágenes (ejemplo con OpenAI DALL-E; funciona igual con Stability AI o Replicate). Necesitas una key del proveedor de imágenes elegido. Claude mejora enormemente la calidad del prompt final.

python
# pip install anthropic openai
import anthropic, openai, requests

claude = anthropic.Anthropic()
idea = "un mercado de frutas colorido en Ciudad de Mexico al atardecer"

# 1) Claude optimiza el prompt
r = claude.messages.create(model="claude-opus-4-8", max_tokens=300,
    messages=[{"role":"user","content":f"Convierte esta idea en un prompt detallado en ingles para un generador de imagenes. Solo el prompt: {idea}"}])
prompt_img = r.content[0].text.strip()
print("Prompt:", prompt_img)

# 2) Generar imagen con DALL-E
oa = openai.OpenAI()  # requiere OPENAI_API_KEY
img = oa.images.generate(model="dall-e-3", prompt=prompt_img, size="1024x1024", n=1)
url = img.data[0].url
open("mercado.png","wb").write(requests.get(url).content)
print("Imagen guardada en mercado.png")
ConsejoPídele a Claude que incluya estilo, iluminación y encuadre en el prompt (ej: 'cinematic, golden hour, 35mm') para resultados profesionales.
Error comúnNecesitas créditos en AMBOS servicios (Anthropic y el proveedor de imágenes). Son facturaciones separadas.
PASO 6 · ~5 min

Elegir la vía correcta y automatizar

Ya dominas las tres estrategias. Ahora decide según tu necesidad: SVG para gráficos vectoriales editables y ligeros; matplotlib para datos y reportes; API externa para imágenes realistas. Puedes combinar: por ejemplo, un flujo donde Claude analiza un CSV, genera el gráfico matplotlib y escribe una descripción. Envuelve tu lógica en funciones reutilizables y maneja errores con try/except para producción. Guarda las salidas con nombres únicos (timestamp) para no sobrescribir. Con esto tienes un pipeline completo de generación visual asistida por Claude.

python
import time

def generar_svg(descripcion, client):
    try:
        r = client.messages.create(model="claude-opus-4-8", max_tokens=2000,
            messages=[{"role":"user","content":f"Genera SOLO codigo SVG de: {descripcion}"}])
        nombre = f"img_{int(time.time())}.svg"
        with open(nombre,"w",encoding="utf-8") as f:
            f.write(r.content[0].text)
        return nombre
    except Exception as e:
        print("Error:", e)
        return None

# uso
import anthropic
c = anthropic.Anthropic()
print(generar_svg("un logo minimalista de una montana azul", c))
ConsejoRegistra cada generación en un log con la fecha y el prompt usado; te ayudará a reproducir resultados exitosos.
Error comúnNo abuses de max_tokens innecesariamente: pagas por tokens generados aunque el SVG sea corto.
Resultado

Ahora entiendes que Claude no genera imágenes como archivo binario, pero sí es una herramienta poderosa para producirlas por tres vías: generando código SVG vectorial listo para navegador, escribiendo scripts matplotlib para gráficos de datos, y actuando como optimizador de prompts que se conecta con APIs de generación de imágenes reales como DALL-E o Stability. Tienes código funcional y reutilizable para cada caso.

PRÓXIMOS PASOS
¿Quieres dominar Claude a fondo?

Los programas de certificación en español te llevan de principiante a builder profesional con Claude y su API.

Ver todos los programas