Leonardo.AI saves the prompt, the model name (PhotoReal, Anime XL, Flux Schnell, etc.), the generation_id, and a Leonardo brand reference in PNG tEXt chunks of every download. The generation_id ties the image back to your Leonardo account and is queryable via their public gallery if your image was set to public. GhostMeta drops every text chunk via canvas re-encode and the file becomes neutral. Unlike a signed C2PA manifest, Leonardo's PNG tEXt and iTXt chunks are plain readable text — any free PNG inspector dumps the prompt, model name and generation_id without decoding anything. That matters for print-on-demand and stock-marketplace delivery: when you hand a client or a Redbubble/Etsy reviewer the raw download, your full prompt and the Leonardo brand string travel inside the file and can be read in one click. GhostMeta decodes the PNG to a canvas and re-encodes it, dropping every text chunk while keeping the original pixels and the alpha channel intact, so transparent backgrounds survive the clean-up.
A platform image carries two histories: its generation — model, settings, sometimes the prompt — and its trip through the service, with identifiers and timestamps. GhostMeta removes both, in the browser. Batch processing takes a whole series and returns a ZIP of cleaned copies.
An image downloaded from a generation platform carries the history of its creation — model, settings, sometimes the prompt — and the history of its trip through the platform: internal identifiers, timestamps, export information.
The second is the easier one to forget. Taken alone it says nothing dramatic, but it ties the image to an account, which is enough when not being tied is precisely the point.
Generating rarely produces a single image. You keep five or ten on a board, and cleaning files one at a time eventually gets dropped along the way.
GhostMeta accepts several files at once and returns a ZIP of the cleaned copies. Processing stays local for every image in the series: it is the same re-encode, repeated, with no file leaving the device.
Worth checking before a batch: platforms change their export formats without notice. A file downloaded today may not carry the same fields as one saved six months ago, so read one image from the current batch rather than relying on what you observed last time. The viewer answers that in seconds, locally.
A board published all at once exposes the same information as many times as there are images. If an account identifier sits in the metadata, it sits in every file, and one is enough to make the connection.
Batch cleaning answers exactly that case: every image in the series goes through the same processing, and the returned ZIP contains cleaned copies only.
| Family | Examples | Removed |
|---|---|---|
| Generation traces | Prompt, seed, model, settings | Yes |
| Platform traces | Internal identifiers, export timestamps | Yes |
| Later editing traces | Software, XMP, modification date | Yes |
| Marking in the pixels | Visible or invisible watermark | No |
If your generation was public on Leonardo, yes — the ID is enough to look up the original prompt and parameters via Leonardo's gallery.
Yes, Alchemy preset writes the upscale model and noise level. PhotoReal writes the photorealism strength. All flow through the same tEXt chunk and are stripped together.
API outputs carry the same metadata as the web UI. Strip them the same way.
Leonardo writes it into PNG ancillary text chunks — tEXt for plain ASCII keys and iTXt for UTF-8 or compressed values — usually placed between the IHDR header and the IDAT image data. Typical keys hold the prompt, the model name and the generation_id. GhostMeta does not edit those chunks in place: it rebuilds the PNG from the canvas, so every tEXt and iTXt chunk is gone in the output.
Yes. Leonardo's batch and ZIP exports embed the same tEXt chunks in every PNG inside the archive, including the upscaled and varied versions. Unzip first, then run each image through GhostMeta — there is no shared sidecar to clean, the metadata lives inside each individual file.
As of now Leonardo's standard PNG downloads rely on plaintext tEXt/iTXt chunks rather than a signed C2PA caBX chunk, so there is no cryptographic provenance to read — just readable text. GhostMeta strips these chunks the same way regardless; if a future export ever adds a caBX C2PA chunk, the canvas re-encode drops that too.
Partner : M.E Expert Serrurier