Un ejemplo práctico, con los archivos
Leer prompts en los registros PNG tEXt, zTXt e iTXt
PNG permite guardar texto de varias formas. Un lector debe identificar el registro y decodificar su contenido antes de interpretarlo. Estos ejemplos guardan los mismos parámetros en tres codificaciones de bloques distintas.
Sigue los pasos
- Descarga los ejemplos tEXt, zTXt e iTXt de abajo.
- Pasa cada uno por el extractor de prompts guardados. El prompt positivo y los ajustes deberían coincidir en los tres casos.
- Compara las huellas de los archivos: codificar el registro de otra forma puede cambiar los bytes sin cambiar la imagen mostrada ni los valores guardados.
Tres codificaciones, un resultado esperado
Nuestro ejemplo tEXt contiene texto sin comprimir. Los ejemplos zTXt e iTXt de este laboratorio contienen datos comprimidos. La especificación del W3C define estos formatos de bloques; los archivos descargables y los resultados muestran los casos exactos que ejecutó nuestro lector.
Cada ejemplo debería devolver la semilla 42, 20 pasos y el mismo prompt del barco de papel. Esto demuestra esos tres casos controlados, no la compatibilidad con cualquier PNG.
Un registro de texto es un dato
El lector reconoce claves concretas de registros guardados, como parameters. No considera cada comentario o descripción PNG como un prompt de generación original.
Los registros se pueden editar. Que varios archivos tengan el mismo prompt describe el texto almacenado, no una firma de un generador de imágenes.
Cuando falla la decodificación
Las sumas de comprobación dañadas, las claves duplicadas contradictorias y los metadatos demasiado grandes no se aceptan como una única instrucción guardada fiable. El ejemplo de conflicto está en la guía de prompts ausentes. Conserva el archivo real si necesitas investigar un caso no compatible.
Descargar · Ejecutar · Comparar
Prueba el ejemplo verificado
Dibujamos la imagen mediante código y añadimos registros controlados. Los prompts y nombres de modelo guardados son datos de demostración. Estos archivos prueban la lectura de registros; no se usó ningún generador de imágenes, aplicación de capturas ni red social para crear estos resultados.
Resultado observado
[
{
"chunk_type": "tEXt",
"saved_prompt": "Controlled example: a paper boat on a blue table",
"seed": "42",
"steps": 20,
"cfg_scale": 7
},
{
"chunk_type": "zTXt",
"saved_prompt": "Controlled example: a paper boat on a blue table",
"seed": "42",
"steps": 20,
"cfg_scale": 7
},
{
"chunk_type": "iTXt",
"saved_prompt": "Controlled example: a paper boat on a blue table",
"seed": "42",
"steps": 20,
"cfg_scale": 7
}
]Los valores de semilla del JSON son cadenas de texto para conservar la precisión de los enteros grandes. Aquí, un resultado null significa que no se devolvió ningún prompt guardado compatible.
Huellas y reproducción
- parameters-tEXt.png · 13.371 bytes
e76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f - parameters-zTXt.png · 13.346 bytes
2cbac7bbc872ec95d8979132ef871b3a1f816ffc55bc12e68ea10ab5ac2d7818 - parameters-iTXt.png · 13.349 bytes
4123149f352daeb842ecf241f7c7e6ee0fc4c5a08175ecb37fc690e093484cbf
Los archivos de prueba y las observaciones se publican bajo CC0-1.0. Descargar todas las observaciones y versiones o leer el procedimiento. El script completo de reproducción en Node.js (requiere sharp) crea las mismas entradas de prueba y compara bytes y píxeles. El código fuente de isGenAI también verifica los campos guardados con npx tsx scripts/build-guide-lab.ts.
Para el estudio independiente de exportaciones, explora los 18 casos de conservación de metadatos.
Fuentes y método
Las fuentes primarias enlazadas describen los formatos. Los resultados de los archivos de prueba descargables se comprobaron con aserciones automatizadas frente al lector actual de isGenAI. Estas guías se prepararon con ayuda de IA y se revisaron con esos ejemplos.
Comunicar un error o un ejemplo no compatible. Para un registro firmado, inspecciona las Content Credentials.