Generador de Prompt desde Imagen
Suelta una imagen para construir un prompt estructurado para Midjourney v6, Flux, SDXL, ComfyUI y DALL-E 3. Extrae colores, aspecto, brillo; elige estilo con chips.
Acerca del Generador de Prompt desde Imagen
Ingeniería inversa de un buen prompt de IA suele requerir 10-30 minutos de prueba y error: extraer colores dominantes a mano, calibrar iluminación y atmósfera, encontrar la sintaxis correcta de parámetros Midjourney, escribir un prompt negativo limpio y pegar-iterar. Esta herramienta hace el trabajo mecánico en menos de un segundo: suelta una foto de referencia o imagen generada por IA, el navegador extrae la paleta dominante por clustering k-means en una cuadrícula reducida, mide la luminancia media, detecta la relación de aspecto (con ajuste a 1:1, 16:9, 9:16, 4:3, 3:2, 21:9) y ensambla un prompt estructurado en el dialecto exacto que tu motor espera (Midjourney 6/v7 --ar --v --stylize, etiquetas ponderadas SDXL, frases naturales Flux, JSON ComfyUI con sampler/scheduler o DALL-E 3 en inglés llano).
Añade chips de estilo, iluminación, atmósfera y cámara con un clic y el prompt se reescribe en tiempo real. Todo corre en tu navegador — la imagen no se sube, la extracción de paleta es instantánea, no se requiere modelo de captioning IA.
¿Por qué un constructor heurístico en lugar de captioning CLIP/BLIP?
El captioning real imagen-a-texto necesita un modelo neuronal de 200-700 MB (BLIP-2, BLIP-3, LLaVA, MoonDream) cargado vía transformers.js, más un dispositivo con WebGPU, más 10-40 segundos de primera carga y 2-5 segundos por imagen. Es técnicamente posible y podríamos ofrecerlo como mejora opcional en Web Worker, pero en la práctica 80% de la calidad del prompt viene de aspecto + paleta + etiquetas estilo/iluminación/atmósfera/cámara, todas extraídas en menos de 100ms sin descarga. La paleta de chips te permite agregar las palabras de alto impacto que un modelo de visión habría adivinado, y usualmente conoces tu sujeto mejor que CLIP.
¿Cómo se extraen los colores dominantes?
Clustering k-means estándar con k=5. Reducimos la imagen a una cuadrícula de 64 píxeles de ancho (64×36 a 64×85 según aspecto), descartamos píxeles totalmente transparentes y agrupamos iterativamente los tripletes RGB restantes en 5 grupos durante 8 rondas. El centroide de cada cluster es el color dominante y el tamaño del cluster es su frecuencia. Cada centroide se ajusta al color nombrado más cercano (rojo, naranja, amarillo, verde, turquesa, azul, morado, rosa, marrón, negro, blanco, gris, beige) para el prompt y mostramos el valor hex crudo. El pase completo es un tick rAF en un móvil moderno.
¿Por qué cambia el formato del prompt según el motor?
Cada sistema texto-a-imagen tiene su sintaxis que afecta calidad. Midjourney v6/v7 usa flags (--ar 16:9 --v 6 --style raw --stylize 250) y trata comas como separadores blandos. SDXL y SD 1.5 responden a paréntesis ponderados (obra maestra:1.2) y prefieren etiquetas separadas por comas. Flux Dev/Pro está entrenado con captions de lenguaje natural y prefiere frases completas con puntos, no etiquetas. ComfyUI es un grafo de nodos — exportamos un fragmento JSON que entra en el nodo CLIP-Text-Encode con sampler por defecto (dpmpp_2m), scheduler (karras), pasos (28) y CFG (4.5). DALL-E 3 prefiere inglés conversacional simple. Elige el motor antes de construir y te saltas el paso de traducción de sintaxis.
¿Qué me dice la medición de brillo?
Luminancia media con la fórmula Rec.709 (0,2126·R + 0,7152·G + 0,0722·B) sobre el color más dominante. Bajo 60 es 'low-key / oscuro' (Caravaggio, cine negro, horror). 60-110 es 'atmosférico' (fotografía urbana nublada, drama). 110-160 'equilibrado' (luz diurna típica). 160-200 'brillante' (fotografía de producto limpia, playa). Sobre 200 es 'high-key / sobreexpuesto' (editorial de moda, boda). Si no elegiste chip de iluminación, esta etiqueta se agrega al prompt como punto de partida — sobrescríbela con un chip específico como 'golden hour' o 'rayos volumétricos' para guía más fuerte.

¿Por qué importa tanto el aspecto en prompts?
Los modelos de difusión incorporan aspecto al entrenamiento: un prompt 9:16 obtiene composición de retrato móvil (sujeto único, encuadre cerrado, fondo cae), 16:9 obtiene paisaje cinematográfico (sujeto amplio, detalle ambiental, horizonte distante), 1:1 obtiene tomas de producto centradas, 21:9 cinemascope extremo. Enviar un prompt 1:1 a un sampler 9:16 por defecto 512×512 puede producir caras estiradas o sujetos cortados. La herramienta autodetecta el aspecto de tu imagen y ajusta a la relación estándar más cercana del motor; anula el ajuste si quieres recomponer.
¿Puedo usar esto para flujos de upscale o img2img?
Indirectamente. El prompt generado es la entrada textual de un img2img: toma este prompt, envíalo con tu imagen a Midjourney con --iw (peso imagen) o a SDXL/Flux con la misma imagen como init_image a fuerza de denoise 0,4-0,7. La extracción de paleta es especialmente útil para upscale — pegar la paleta en el prompt durante upscale por tiles evita que el upscaler derive a tonos cálidos genéricos. Para flujos ComfyUI img2img, el fragmento JSON entra directo al nodo CLIP-Text-Encode conectado a tu pila VAEEncodeForInpaint.
¿Soporta metadatos EXIF de cámara y lente?
Aún no en esta versión — parseo EXIF es objetivo futuro. Al agregarse, la herramienta extraerá distancia focal (auto-sugiriendo chip '85mm retrato' o '24mm gran angular'), apertura (sugiriendo 'profundidad de campo reducida' para f/1.4-f/2.8 o 'enfoque profundo' para f/8+), ISO (sugiriendo 'grano de película' para ISO 1600+) y marca/modelo de cámara (algunos prompts responden a 'shot on Hasselblad' o 'Leica Q3' como booster). Por ahora puedes leer EXIF en tu app de cámara o cualquier visor EXIF en este sitio y hacer clic manualmente en el chip que corresponda.
¿Mi imagen se sube a algún lado?
No. Todo el pipeline — lectura de archivo, extracción de paleta, detección de aspecto, cálculo de brillo, ensamblado de prompt — corre en tu navegador con JavaScript estándar y Canvas API. Los bytes de la imagen nunca llegan a nuestros servidores, ni a un CDN, ni a una API de IA externa. Puedes desconectar la red tras cargar la página y la herramienta sigue funcionando. Para trabajo fotográfico comercial, tableros de referencia bajo NDA o imágenes de producto no lanzadas, esta herramienta es segura. La única llamada de red después de cargar es analítica estándar (respeta do-not-track).
