De imagen a prompt JSON: flujo editable y verificable
Un método independiente del modelo para extraer solo evidencia visible, separar lo fijo de lo editable, generar variantes y aceptar el resultado con criterios claros.
Índice

Un prompt JSON creado a partir de una imagen sirve sobre todo como especificación visual editable. No es una máquina capaz de recuperar el prompt secreto con el que se produjo la imagen. El proceso útil consiste en describir solo lo visible, separar lo que debe conservarse de lo que se desea cambiar, generar varios candidatos y compararlos con la referencia mediante la misma lista de control.
JSON ayuda a aislar sujeto, composición, iluminación, color, materiales y texto. Sin embargo, los píxeles no revelan el modelo exacto de cámara, el tipo físico de una luz fuera del encuadre, el nombre preciso de una fuente, la semilla ni las palabras originales del creador. El objetivo, por tanto, es lograr una semejanza controlada y evaluable, no una reproducción píxel por píxel.
A continuación tienes un metaprompt listo para copiar, un esquema JSON, un método de edición y una prueba de aceptación.
Qué resuelve este flujo de trabajo
Úsalo para:
- mantener la lógica visual de una referencia y modificar solo algunos elementos;
- reutilizar la misma especificación con distintos modelos;
- diagnosticar por qué una imagen “tiene el estilo” pero no la composición;
- revisar de forma repetible fotografías, anuncios, carteles, interfaces e ilustraciones.
No presentes el JSON como el prompt original recuperado. Una imagen final no contiene todo el historial de generación, las referencias ocultas, las instrucciones ignoradas ni la posproducción.
Una buena especificación debe ser:
- Observable: cada afirmación se puede justificar con la imagen.
- Editable: cada dimensión importante tiene su propio campo.
- Verificable: cada campo corresponde a algo que puede revisarse en el resultado.
Qué necesitas
Prepara:
- la referencia con la mayor resolución que puedas usar legalmente;
- un modelo con capacidad visual;
- un generador o editor de imágenes;
- un lugar donde guardar JSON, versión del modelo, ajustes y salidas;
- una frase clara que indique qué debe permanecer y qué puede cambiar.
Recorta la interfaz del navegador, comentarios y bordes ajenos al diseño. Mantén la relación de aspecto original salvo que cambiarla sea parte explícita del encargo.
La documentación oficial de OpenAI sobre imágenes y visión y la de Google sobre comprensión de imágenes muestran que los sistemas multimodales actuales pueden analizar entradas visuales. Sus herramientas de generación también admiten referencias o edición iterativa. El formato concreto cambia según el proveedor, por lo que este método se mantiene independiente del modelo.
Paso 1: extrae un JSON de observaciones
Envía la imagen junto con este prompt. Está diseñado para impedir que el modelo convierta suposiciones en hechos.
Actúa como analista de evidencia visual. Examina la imagen de referencia
adjunta y devuelve únicamente un objeto JSON válido.
Reglas:
1. Describe solo evidencia directamente visible.
2. No deduzcas causas ocultas, el prompt original, equipo de cámara exacto,
fechas exactas, tecnología de luz invisible ni texto ilegible.
3. Usa null cuando un valor no pueda determinarse por la imagen.
4. Mantén las dimensiones visuales en campos separados.
5. Transcribe literalmente el texto claramente legible; no adivines letras.
6. Explica las relaciones espaciales: izquierda/derecha, arriba/abajo,
primer plano/fondo, centrado/desplazado, tamaño relativo y solapamiento.
7. Antes de responder, busca contradicciones entre campos.
8. Usa frases concretas y completas, no listas vagas de adjetivos.
Devuelve esta estructura:
{
"image_type": null,
"subject": null,
"action": null,
"location": null,
"composition": {
"orientation_and_aspect_ratio": null,
"framing_and_crop": null,
"subject_placement": null,
"spatial_relationships": null,
"negative_space": null
},
"lighting": {
"visible_direction": null,
"apparent_temperature": null,
"softness_and_contrast": null,
"highlights_reflections_shadows": null,
"unknown_causes": null
},
"color_palette": null,
"materials_and_textures": null,
"camera_and_focus": {
"viewpoint": null,
"perspective": null,
"depth_of_field": null,
"sharp_and_blurred_regions": null
},
"text_and_typography": {
"verbatim_text": [],
"placement_and_alignment": null,
"size_hierarchy": null,
"visible_lettering_style": null,
"unreadable_text": null
},
"style": null,
"mood_and_vibe": null,
"uncertainties": [],
"exclusions": null
}
Valida el JSON antes de generar
Comprueba cuatro puntos:
- el objeto se puede analizar como JSON, sin comentarios, comas finales ni explicación adicional;
- están todos los campos necesarios;
- las incógnitas aparecen como
nullo enuncertainties; - no hay contradicciones internas.
Los ejemplos del flujo compartido por un usuario que inspiró esta guía muestran dos errores frecuentes. En una foto de un gato dentro de una nevera, la imagen sí permite observar luz fría en el interior y luz cálida en la cocina, pero no demuestra que la lámpara sea LED. En una captura de un sitio web, el análisis reconoce un titular alineado a la izquierda y, al mismo tiempo, llama “centrado” al hero. El primer caso es una inferencia sin apoyo; el segundo, una contradicción. Ambos deben bloquear la generación.
Paso 2: separa lo fijo, lo editable y lo desconocido
Clasifica los datos antes de reescribirlos:
| Estado | Significado | Ejemplo |
|---|---|---|
locked | debe conservarse | posición del sujeto, jerarquía, relación de aspecto |
editable | se cambia de forma deliberada | color, escenario, titular |
unknown | la imagen no lo demuestra | lente, tipo de luz, familia tipográfica |
Añade un objeto de control junto al JSON de observaciones:
{
"locked": [
"un sujeto principal en el tercio inferior izquierdo",
"gran espacio negativo a la derecha",
"luz lateral suave y contraste general bajo",
"titular situado sobre la línea de apoyo"
],
"editable": {
"subject": "sustituir la taza de cerámica por una botella de vidrio transparente",
"accent_color": "cambiar el rojo apagado por azul cobalto",
"verbatim_text": ["NORTH", "STILL WATER"]
},
"unknown": [
"modelo de cámara",
"distancia focal exacta",
"familia tipográfica exacta",
"tipo físico de la luz fuera de cuadro"
],
"hard_constraints": [
"no añadir texto",
"no cambiar el punto de vista",
"no añadir objetos fuera de la distribución de referencia"
]
}
Esta separación comunica tres órdenes distintas: conservar, modificar y no inventar.
Elimina conflictos
Lee la especificación en lenguaje corriente:
- un sujeto no puede estar centrado y alineado a la izquierda a la vez;
- el recorte debe ser coherente con la relación de aspecto;
- una luz suave no produce sombras de borde duro sin otra fuente;
- “sin texto” no puede coexistir con un titular obligatorio;
- un objeto no puede ocupar dos posiciones incompatibles.
El generador no tiene por qué resolver bien una especificación contradictoria. Puede elegir una opción al azar, mezclarlas o ignorarlas.
Paso 3: genera un primer lote controlado
Entrega el JSON y el objeto de control al generador. Adjunta también la referencia cuando la herramienta admita image-to-image o edición. Las guías oficiales de OpenAI y Google documentan flujos con imágenes de entrada e iteración, aunque las capacidades exactas dependen del modelo.
Puedes usar este prompt de entrega:
Crea una imagen nueva a partir de la referencia adjunta y la especificación JSON.
Prioridad:
1. Cumple hard_constraints.
2. Conserva todos los elementos de locked.
3. Aplica únicamente los cambios de editable.
4. Mantén unknown como desconocido; no inventes detalles técnicos.
5. Iguala primero composición y relaciones espaciales, después la textura.
6. El texto entre comillas debe aparecer exactamente una vez y sin palabras extra.
7. No copies marcas de agua, firmas ni logotipos protegidos.
Devuelve una sola imagen y no expliques el prompt.
Si el generador ignora JSON, presenta los mismos datos como secciones:
SUJETO:
COMPOSICIÓN:
ILUMINACIÓN:
COLOR:
MATERIALES:
TEXTO:
ESTILO:
CONSERVAR:
CAMBIAR:
NO AÑADIR:
JSON es el formato de edición y la fuente de verdad; no es un protocolo universal para todos los modelos.
En el primer lote:
- usa la misma relación de aspecto;
- registra la semilla si existe, sin esperar que funcione igual en otro modelo;
- genera tres o cuatro candidatos;
- guarda JSON, referencia, modelo y versión, ajustes y salida;
- identifica las ejecuciones como
v01-a,v01-byv01-c.
La señal de éxito no es “se ve bonita”. Es: al menos un candidato supera todas las puertas obligatorias y no falla en los campos visuales prioritarios.
Paso 4: puntúa la salida frente a la referencia
Compara ambas imágenes al mismo tamaño. Asigna:
0: incorrecto o ausente;1: parcialmente correcto;2: coincidencia aceptable para el uso previsto.
| Campo | Qué comparar |
|---|---|
| Sujeto | cantidad, rasgos, silueta, tamaño relativo |
| Composición | posición, recorte, equilibrio, espacio negativo, solapamiento |
| Relaciones espaciales | izquierda/derecha, arriba/abajo, delante/detrás |
| Iluminación | dirección visible, temperatura, suavidad, contraste, sombras |
| Color | tonos principales, secundarios y de acento y su ubicación |
| Materiales | brillo, transparencia, tejido, grano, pelo, metal, papel |
| Texto | contenido exacto, cantidad, ortografía, alineación, jerarquía |
| Estilo y ambiente | medio, acabado, tratamiento visual, atmósfera |
Puertas obligatorias:
- no hay afirmaciones invisibles o sin apoyo;
- no hay contradicciones;
- el texto requerido es correcto;
- las relaciones espaciales críticas se mantienen;
- no aparecen objetos, palabras, logotipos o marcas de agua no solicitados.
La puntuación total sirve para ordenar candidatos, pero no compensa una puerta fallida. Una imagen atractiva con el titular equivocado o el diseño invertido sigue siendo un fracaso para ese objetivo.
Revisa de lo grande a lo pequeño
Orden recomendado:
- lienzo y composición;
- número, posición y escala de los sujetos;
- iluminación y masas de color;
- materiales y textura;
- tipografía y detalles pequeños.
No optimices la textura si el sujeto está en el lado incorrecto.
Paso 5: cambia un grupo de campos cada vez
Elige el mejor candidato como nueva base. Corrige únicamente el grupo asociado al fallo principal.
| Fallo | Cambiar | Conservar de forma explícita |
|---|---|---|
| Sujeto demasiado grande | posición y escala en composition | punto de vista, luz, paleta |
| Diseño desplazado | relaciones espaciales y espacio negativo | apariencia del sujeto, materiales |
| Escena demasiado cálida | temperatura y paleta | geometría y texto |
| Producto parece plástico | material, brillos y reflejos | forma, posición, etiqueta |
| Texto mal escrito | texto literal, cantidad y posición | todos los píxeles no textuales si hay edición |
| Estilo correcto, identidad incorrecta | rasgos del sujeto o fuerza de referencia | composición y fondo |
Escribe: “Cambia solo el titular. Conserva el recorte, el punto de vista, la geometría, la iluminación, los colores y el resto del texto”.
Las guías oficiales de prompting recomiendan separar los cambios de las restricciones y refinar una sola cosa por iteración. Así puedes saber qué produjo la mejora.
Fallos habituales y recuperación
La salida no es JSON válido
Pide reparar la respuesta existente:
Repara el siguiente contenido para convertirlo en JSON válido.
Conserva todo lo respaldado por la imagen. No añadas nuevas afirmaciones.
Devuelve solo JSON.
Un esquema estructurado evita errores sintácticos, pero no garantiza que las observaciones sean ciertas.
El generador ignora los campos
Convierte el objeto en secciones de lenguaje natural. Coloca CONSERVAR, CAMBIAR y NO AÑADIR al final y elimina detalles secundarios que puedan ocultar las restricciones importantes.
La composición deriva
Añade relaciones concretas:
- “el centro del sujeto está aproximadamente al 30% del ancho”;
- “el borde izquierdo del titular comparte guía con la imagen”;
- “el producto ocupa el tercio inferior”;
- “la mitad derecha queda casi vacía”.
Las coordenadas orientan, no garantizan; inspecciona la salida real.
El texto exacto falla
Pon el texto entre comillas, indica cuántas veces debe aparecer y prohíbe palabras extra. Sigue un flujo text-first si el proveedor lo recomienda. Si el texto debe ser legal o comercialmente exacto, deja prevista la composición final en una herramienta de diseño. La documentación actual de OpenAI reconoce límites de colocación y claridad tipográfica; Google también recomienda generar primero el texto cuando la imagen lo contiene.
El personaje o producto cambia entre versiones
Usa la mejor imagen anterior como entrada de edición en lugar de empezar de cero. Repite un bloque corto de identidad, geometría y etiquetas. Compara varias ejecuciones: los proveedores advierten que la coherencia de personajes, marca y maquetación precisa puede variar.
La solicitud falla antes de producir una imagen
Guarda el error y el identificador de solicitud. Corrige autenticación, cuota, formato o moderación antes de reintentar. Aplica reintentos con espera solo a límites temporales o errores de servidor; modifica primero las solicitudes corregibles por el usuario.
Guarda un registro de aceptación
{
"run_id": "v03-b",
"reference_file": "reference.png",
"analysis_json": "reference.v01.json",
"generator_and_version": "registrar-el-valor-real",
"settings": {
"aspect_ratio": "registrar-el-valor-real",
"quality": "registrar-el-valor-real",
"seed": null
},
"scores": {
"subject": 2,
"composition": 2,
"spatial_relations": 2,
"lighting": 1,
"color": 2,
"materials": 1,
"text": 2,
"style_and_mood": 2
},
"hard_gates": {
"unsupported_claims": false,
"contradictions": false,
"required_text_wrong": false,
"critical_layout_wrong": false,
"unrequested_elements": false
},
"decision": "accept",
"next_change": null
}
Así “prefiero B” se convierte en una decisión auditable. También permite comprobar si cambiar de modelo mejoró el resultado o solo alteró el estilo.
Preguntas frecuentes
¿Se puede recuperar el prompt original exacto?
No. Solo se puede producir una descripción útil de la evidencia visible. El proceso original puede haber incluido referencias ocultas, seeds, ajustes, instrucciones descartadas, varias ediciones y posproducción.
¿Qué pongo en cámara e iluminación?
Describe efectos visibles: punto de vista, perspectiva, profundidad de campo, suavidad de sombras, dirección aparente y temperatura. No afirmes equipo exacto ni tecnología invisible sin otra fuente verificada.
¿Todos los generadores aceptan JSON?
No. Conserva JSON como especificación maestra y transfórmalo al formato que siga mejor la herramienta elegida.
¿Cuántas iteraciones hacen falta?
Empieza con tres o cuatro candidatos, elige la mejor base y modifica un grupo por ronda. Detente cuando pasen todas las puertas y nuevas variaciones ya no mejoren el uso real.
¿Basta una puntuación alta de similitud?
No. Puede ocultar texto incorrecto, diseño invertido, objetos extra o un logotipo inventado. La revisión por campos sigue siendo necesaria.
Fuentes y nivel de evidencia
- Hilo de Vox en X: práctica comunicada por un usuario que inspiró la separación por campos; no es un benchmark independiente.
- OpenAI: imágenes y visión, generación y prompting de imágenes: documentación oficial sobre entradas visuales, edición iterativa, estructura, evaluación y límites.
- Google: comprensión de imágenes y generación: documentación oficial sobre análisis, JSON estructurado, referencias, iteración y límites.
La idea central no depende de una marca: conserva la evidencia observable en una estructura, formula los cambios de manera explícita y acepta el resultado comparándolo con la referencia.