PNG records · Controlled example
One saved prompt in three PNG text encodings
tEXt, zTXt and iTXt files return the same prompt and seed, despite having different file bytes.
Does the PNG text encoding change the recovered prompt?
All three controlled files return the same saved prompt, negative prompt, model label and settings. Their SHA-256 hashes differ because the bytes used to store the records differ.
How the case was made
The same AUTOMATIC1111-style parameters string was attached to the same code-drawn PNG as tEXt, compressed zTXt and compressed iTXt. Each file was read by the saved-prompt parser and checked against the same expected object.

Files and observed output
- parameters-tEXt.png · 13,371 bytes
SHA-256: e76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f - parameters-zTXt.png · 13,346 bytes
SHA-256: 2cbac7bbc872ec95d8979132ef871b3a1f816ffc55bc12e68ea10ab5ac2d7818 - parameters-iTXt.png · 13,349 bytes
SHA-256: 4123149f352daeb842ecf241f7c7e6ee0fc4c5a08175ecb37fc690e093484cbf
Recorded result
[
{
"chunk_type": "tEXt",
"file": "parameters-tEXt.png",
"result": {
"format": "automatic1111",
"prompt": "Controlled example: a paper boat on a blue table",
"negative_prompt": "text, blur",
"recorded_model": "demonstration-only",
"settings": {
"seed": "42",
"steps": 20,
"sampler": "Euler",
"cfg_scale": 7,
"width": 1024,
"height": 768
}
}
},
{
"chunk_type": "zTXt",
"file": "parameters-zTXt.png",
"result": {
"format": "automatic1111",
"prompt": "Controlled example: a paper boat on a blue table",
"negative_prompt": "text, blur",
"recorded_model": "demonstration-only",
"settings": {
"seed": "42",
"steps": 20,
"sampler": "Euler",
"cfg_scale": 7,
"width": 1024,
"height": 768
}
}
},
{
"chunk_type": "iTXt",
"file": "parameters-iTXt.png",
"result": {
"format": "automatic1111",
"prompt": "Controlled example: a paper boat on a blue table",
"negative_prompt": "text, blur",
"recorded_model": "demonstration-only",
"settings": {
"seed": "42",
"steps": 20,
"sampler": "Euler",
"cfg_scale": 7,
"width": 1024,
"height": 768
}
}
}
]Observations recorded 2026-09-19 using Node v23.11.0 and sharp 0.35.4. JSON seed values are strings to retain integer precision. A null prompt means the reader did not return a supported saved prompt.
Reproduce this result
- Download the files above and verify their SHA-256 hashes.
- Open the linked isGenAI tool and choose the corresponding file, or the before/after pair for comparisons.
- Compare the returned fields with the recorded output. Different tool versions or altered files can produce different results.
The standalone reproduction script creates the fixture variants and compares bytes and pixels. The complete JSON observations also include parser results. Use the workflow and comparison API examples to inspect downloaded files programmatically.
Read the format guide and its primary sources.
What this result does not establish
This tests three supported encodings of a known record. It does not establish support for every PNG producer, establish authorship or measure AI-detection accuracy.
Files and observations: CC0-1.0. Cite this case URL and include its method and limits. Report a reproducibility issue.