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

  1. Choose the parameters PNG as Before and changed-settings.png as After.
  2. Read the seed and steps rows. They change to 84 and 30 while the saved prompt remains the same.
  3. 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

Original compared with changed-settings.png. Same file bytes: no. Same decoded pixels: yes.
FieldBeforeAfterState
Saved promptControlled example: a paper boat on a blue tableControlled example: a paper boat on a blue tableSame
Seed4284Changed
Steps2030Changed
Saved generation width10241024Same
Saved generation height768768Same
Original compared with reencoded.png. Same file bytes: no. Same decoded pixels: yes.
FieldBeforeAfterState
Saved promptControlled example: a paper boat on a blue tableNot readNot readable in the later file
Seed42Not readNot readable in the later file
Steps20Not readNot readable in the later file
Saved generation width1024Not readNot readable in the later file
Saved generation height768Not readNot 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 bytese76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • changed-settings.png · 13,371 bytesfb6bddcf8f163c18c83a81969d3f2e80a739db4541326a718d1cfeed2e265d30
  • reencoded.png · 13,179 bytesacdc3a0a5e011cf57af9bf0f1da74c75c2d280a2cc9af9297410c529f86932cf

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.