A working example, with the files
Compare image creation records before and after an edit
Choose a before file and an after file to see how their supported saved details differ. The comparison reports individual fields so that a changed seed is distinguishable from a missing prompt or an unchanged model label.
Follow the steps
- Choose the parameters PNG as Before and changed-settings.png as After.
- Read the seed and steps rows. They change to 84 and 30 while the saved prompt remains the same.
- Repeat with reencoded.png as After. The prompt and saved settings become unreadable in that copy; the report does not invent replacement values.
Read the states literally
Same means both readable values match. Changed means both are readable and differ. Unreadable after means the earlier value could be read but the later value could not. Readable after is the reverse; not found means neither side yielded a value.
Unreadable does not prove deletion. A different format, an unsupported structure or damaged metadata can also prevent the reader from returning a field.
What the comparison covers
The current report separates file format, actual dimensions and byte size from supported prompt text, negative prompt, recorded model and generation settings. It also reports supported ComfyUI graph summaries.
It is a focused creation-record comparison, not a dump of every possible EXIF or XMP tag. For a signed manifest and its validation status, use the Content Credentials checker.
Make the result reproducible
Keep both files, their SHA-256 values and the comparison JSON. State the exact transformation if you performed one. The example below is an intentional record edit on code-drawn pixels, so it does not claim that a new generator setting produced a new image.
Download · Run · Compare
Try the verified example
We drew the picture by code and attached controlled records. The saved prompts and model names are demonstration data. These files test record reading; no image generator, screenshot app or social network was used to create these test results.
Observed output
| Field | Before | After | State |
|---|---|---|---|
| Saved prompt | Controlled example: a paper boat on a blue table | Controlled example: a paper boat on a blue table | Same |
| Seed | 42 | 84 | Changed |
| Steps | 20 | 30 | Changed |
| Saved generation width | 1024 | 1024 | Same |
| Saved generation height | 768 | 768 | Same |
| Field | Before | After | State |
|---|---|---|---|
| Saved prompt | Controlled example: a paper boat on a blue table | Not read | Not readable in the later file |
| Seed | 42 | Not read | Not readable in the later file |
| Steps | 20 | Not read | Not readable in the later file |
| Saved generation width | 1024 | Not read | Not readable in the later file |
| Saved generation height | 768 | Not read | Not readable in the later file |
Seed values in the JSON are strings so that large integers retain their precision. A null result here means no supported saved prompt was returned.
Hashes and reproduction
- parameters-tEXt.png · 13,371 bytes
e76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f - changed-settings.png · 13,371 bytes
fb6bddcf8f163c18c83a81969d3f2e80a739db4541326a718d1cfeed2e265d30 - reencoded.png · 13,179 bytes
acdc3a0a5e011cf57af9bf0f1da74c75c2d280a2cc9af9297410c529f86932cf
Fixtures and observations are CC0-1.0. Download all observations and versions or read the procedure. The complete Node.js reproduction script (requires sharp) creates the same test inputs and compares bytes and pixels. The isGenAI source checkout additionally verifies saved fields with npx tsx scripts/build-guide-lab.ts.
For the separate export study, explore the 18 metadata-retention cases.
Sources and method
The linked primary sources describe the formats. The downloadable fixture outputs were checked with automated assertions against the current isGenAI reader. These guides were prepared with AI assistance and reviewed against those examples.
Report an error or unsupported example. For a signed record, inspect Content Credentials.