Media & Provenance

Remove AI Image Metadata

Inspect and remove explicit AI-generator or provenance metadata from authorized PNG, JPEG, WebP, and GIF files while preserving encoded picture data when the format permits.

$remove-ai-image-metadata Free
X-Ray: what this skill can and cannot do
Shell access Python helper only
Network calls No
File writes Verified copies by default
File reads User-selected images only
Destructive ops In-place only on approval
Credential access No
Scope Selected files or folders

Why this exists

Image files can carry explicit generator names, C2PA or Content Credentials blocks, XMP fields, comments, and other provenance metadata. A generic re-save may strip some of it, but it can also change pixels, compression, animation, orientation, or color behavior. This skill uses a format-aware workflow: inspect first, remove only matching metadata, and verify the written container before reporting success.

How it works

  1. Identify the real file format The helper reads the container signature instead of trusting the filename extension.
  2. Inspect before writing Default mode lists every proposed removal and changes nothing.
  3. Prefer verified copies Clean output goes to a separate folder unless you explicitly request in-place replacement.
  4. Reparse and verify Every changed file is read again. Matching metadata must be gone and the encoded image payload hash must remain unchanged.

Supported formats

PNG Removes matching text and C2PA chunks while preserving image data and rendering-related chunks.
JPEG / JPG Removes matching application or comment segments without re-encoding the scan data.
WebP Removes matching C2PA, EXIF, XMP, or ancillary chunks while preserving image and animation payloads.
GIF Removes matching comment or application extensions while preserving frames and animation controls.

TIFF, HEIC/HEIF, AVIF, SVG, PSD, and other formats require a suitable format-aware tool. If no safe handler is available, the workflow stops instead of converting or generically re-saving the image.

Safe operating modes

Inspect only:

python "<skill-folder>/scripts/clean_image_metadata.py" "<image-folder>" --recursive

Create verified copies:

python "<skill-folder>/scripts/clean_image_metadata.py" "<image-folder>" --recursive --output-dir "<clean-folder>"

Replace originals only after approval:

python "<skill-folder>/scripts/clean_image_metadata.py" "<image-folder>" --recursive --in-place --backup-dir "<backup-folder>"

What a PASS means

A changed PNG, JPEG, WebP, or GIF reports PASS only after the helper:

  • reparses the cleaned container;
  • confirms no matching metadata remains;
  • confirms the encoded picture or animation payload hash is unchanged;
  • writes the final file atomically.

Limits and honest claims

This removes explicit embedded metadata, not visual evidence. Pixel-based classifiers may still guess that an image was generated. The workflow never claims that a cleaned file is undetectable, anonymous, or no longer AI-generated.

Default mode preserves unrelated authorship, copyright, description, and location metadata. Removing a whole EXIF block can also remove orientation or other co-located fields, so the workflow warns and prefers selective metadata tools when they are available.

Responsible use

Process only images you own or are authorized to modify. Do not remove provenance metadata to misrepresent an image's origin or bypass a platform's disclosure requirements. The result should be described precisely: which explicit metadata was removed, which format was handled, where the verified copy was written, and whether encoded picture data remained unchanged.

Use this skill in your project

This skill includes supporting files. Copy the complete folder into your Codex or Claude Code skills directory so the instructions and helper script stay together.

View complete package on GitHub
Share
X LinkedIn Reddit