이미지 AI 메타데이터 제거
LinkedIn과 같은 플랫폼은 AI 이미지 생성기(ChatGPT, DALL-E, Midjourney 등)가 포함한 C2PA 메타데이터를 읽고 속성 라벨을 표시합니다. 이 스킬은 이미지를 다시 인코딩하지 않고 해당 메타데이터를 제거하므로 이미지 품질이 유지됩니다.
지원 형식
- PNG:
caBX청크 및 AI 관련tEXt/iTXt/zTXt청크 제거 - JPEG: APP11 C2PA 세그먼트 및 AI 관련 APP1 (XMP/EXIF) 세그먼트 제거
- WebP:
C2PA청크 및 C2PA 관련 페이로드 제거
빠른 사용법
번들 스크립트를 하나 이상의 이미지에 대해 실행합니다:
python3 scripts/strip_c2pa.py image.png # 메타데이터 제거 + IMG_YYYYMMDD_HHMMSS.png로 이름 변경
python3 scripts/strip_c2pa.py image.jpg -o cleaned.jpg
python3 scripts/strip_c2pa.py *.png
기본적으로 스크립트는 동일한 디렉토리에 중립적인 카메라 스타일 파일명(IMG_YYYYMMDD_HHMMSS.<ext>)으로 정리된 복사본을 생성하며 원본은 건드리지 않습니다. -i/--in-place를 사용하면 원본을 덮어쓰고, -o로 명시적인 출력 경로를 지정할 수 있습니다.
워크플로우
-
검사 (선택 사항): 이미지에 C2PA 메타데이터가 있는지 확인하려면 다음을 실행합니다:
strings image.png | grep -i c2pa또는 Python으로 PNG 청크를 읽어
caBX를 찾습니다. -
제거:
scripts/strip_c2pa.py <경로>를 실행합니다. 스크립트는 기본적으로 중립적인 이름의 복사본을 생성하고 제거된 항목을 보고합니다. -
확인: 스크립트는 출력 파일에서 남은 C2PA/AI 키워드를 자동으로 검사하고 발견 시 경고합니다.
이 스킬이 하지 않는 것
- 픽셀에 박혀 있는 가시적인 워터마크를 제거하지 않습니다.
- AI 속성 키워드가 포함되지 않은 표준 EXIF 메타데이터는 제거하지 않습니다.
- 다시 인코딩하지 않으므로 파일 크기와 이미지 품질은 (제거된 메타데이터를 제외하고) 변경되지 않습니다.
재인코딩이 필요한 경우
메타데이터 제거 후에도 플랫폼이 AI 라벨을 계속 표시한다면, 속성이 픽셀에 박혀 있거나 C2PA가 아닌 형식으로 저장되었을 수 있습니다. 이 경우 ImageMagick을 사용하여 디코딩 후 재인코딩합니다:
convert input.png -strip output.png
PNG의 경우 무손실이지만 JPEG의 경우 약간의 품질 손실이 발생할 수 있습니다.