跳到正文
DEV Community· dylan yu·· 3 小時前AI 評分64

Instagram 為何為照片加上「AI info」標籤,以及如何先檢查檔案

Why Instagram Adds an "AI info" Label to Your Photo, and How to Check the File First

AI 導讀

Instagram 可能根據照片檔案中的 C2PA、IPTC 或 XMP 標記加上「AI info」標籤,文章説明如何先用 ExifTool 檢查檔案。使用 `exiftool -all = -o clean.jpg photo.jpg` 可把清除所有中繼資料的版本另存為 clean.jpg,但亦會移除版權、相機與鏡頭資料、GPS、ICC 色彩描述檔及方向資訊。

正文

A photo with one small generative edit, like removing a stray sign with Photoshop's Generative Fill, can come out of the editor marked as AI media. Upload it to Instagram and you may get the "AI info" label, which is the same family as Meta's older "Made with AI" label. In many of these cases the signal is not in the pixels. It is in the metadata.

What triggers the label

Meta has said it reads industry-standard markers that tools write into the file. Three are worth knowing:

  • C2PA Content Credentials. A signed manifest describing how the image was made. In a JPEG it lives in JUMBF boxes inside APP11 segments. Adobe Firefly, Photoshop generative tools, and several image generators write it.
  • IPTC DigitalSourceType. A field whose values include trainedAlgorithmicMedia (fully generated) and compositeWithTrainedAlgorithmicMedia (a real photo with generated parts).
  • XMP history. Editors record tool names and edit steps in XMP. Generative Fill and Firefly leave a clear trail here.

Check the file before you change anything

ExifTool shows every tag group, including duplicates:

exiftool -G1 -a -s photo.jpg | grep -i -E 'c2pa|jumbf|DigitalSourceType|Credit'

No output means none of those markers are present. A JUMBF or C2PA group means a Content Credentials manifest is embedded. A DigitalSourceType line tells you how the file describes itself. Credit sometimes holds a generator name.

If you don't want to install anything, you can remove Instagram AI info in the browser instead. It reads and cleans the file on your device, so the image isn't uploaded anywhere.

Strip it

Write a new file and keep the original:

exiftool -all= -o clean.jpg photo.jpg

-all= deletes all metadata, and -o writes to a separate file. This is blunt. It removes copyright, camera and lens data, GPS, and the ICC color profile. Without the profile, colors can shift slightly in some viewers, and dropping the Orientation tag can make a portrait display sideways.

To keep color, copy the profile back from the source:

exiftool -all= -tagsfromfile @ -icc_profile -o clean.jpg photo.jpg

@ means the source file. Copy copyright or orientation back the same way if you need them.

If you only want the Content Credentials manifest gone and the rest left alone, a dedicated tool to remove C2PA does just that, also on-device.

Check again, then upload

exiftool -G1 -a -s clean.jpg | grep -i -E 'c2pa|jumbf|DigitalSourceType|Credit'

Empty output is the goal. Upload that exact file. Don't open it in another editor first, because many apps write their own XMP on save.

What stripping can't do

Metadata is only one signal. Some generators also embed an invisible watermark in the pixels (Google's SynthID is one example), and stripping EXIF, XMP, and C2PA leaves that in place. Meta also runs its own detection. So a file with an empty grep can still be labeled.

The label exists for disclosure. If an image is substantially AI-generated, keep the label or say so in the caption. Cleaning metadata makes most sense when the mark is a side effect of a small fix on a photo you took.

Troubleshooting

The label still appears. Run the check on the exact file you uploaded. If markers are still there, you uploaded the wrong copy. If the output is empty and the label stays, another signal was used, and stripping again won't change it.

Saving or exporting brings the data back. Phone galleries and many editing apps rewrite XMP on export, and Photoshop or Lightroom can write a new manifest if the edit history still includes a generative step. Strip as the last step, or re-check after every save.

Screenshots. A screenshot usually drops all metadata, but it also resamples the image and can catch UI around the edges. It won't remove a pixel watermark. Treat it as a last resort, not a fix.

來源:DEV Community · dev.to