업데이트로 돌아가기
New releaseAug 7, 2026

remove-ai-watermarks v0.26.1

이미지와 비디오에서 가시적 및 비가시적 AI 워터마크와 출처 메타데이터를 제거합니다. SynthID, C2PA, EXIF, IPTC, XMP 및 일반적인 생성형 AI 마크를 위한 Python 라이브러리 및 CLI입니다.

공유

AI 워터마크 제거

직접 생성한 이미지와 비디오에서 AI 출처 표시를 제거합니다:

  • Google Gemini 스파클 워터마크 및 벤더 텍스트 마크와 같은 알려진 가시적 라벨;
  • 직접적인 로컬 포맷 교란 또는 확산 재생성을 통한 비가시적 픽셀 워터마크;
  • C2PA, EXIF, XMP, IPTC 및 관련 AI 메타데이터.

비디오 지원은 출처 식별, 가시적 마크와 메타데이터의 완전한 정리, 디렉터리 배치 처리, Sora, Veo, Seedance, Doubao, Dola, Hailuo AI, Kling AI의 가시적 마크 제거, 그리고 비디오 SynthID 제거를 위한 오라클 인증 VAE 재생성을 포함합니다.

raiw.cc는 이 라이브러리를 GPU 포함, 설치 필요 없는 호스팅 서비스로 운영합니다. Standard 출력에서 최대 12 MP까지의 가시적 마크 및 메타데이터 제거는 무료이며, 12 MP 초과 원본 해상도와 비가시적 워터마크 제거는 유료입니다.

PyPI Python Downloads License Tests Sponsor skills.sh

이 프로젝트는 본인이 소유한 콘텐츠에 대한 합법적 사용을 위한 것입니다. 스톡 에이전시 미리보기나 제3자 유료 콘텐츠를 보호하는 기타 워터마크를 대상으로 하지 않습니다. 범위, 안전성 및 법적 고지를 참조하세요.

원하는 작업 선택

목표명령GPU
출처 신호 및 워터마크 찾기identify아니오
픽셀에서 사진 분류 (옵트인, 출처 아님)classify아니오
알려진 가시적 AI 마크 제거visible아니오
선택한 영역 지우기erase아니오
AI 메타데이터 제거metadata아니오
지원되는 비디오 출처 식별video identify아니오
비디오에서 가시적 마크 및 AI 메타데이터 제거video all아니오
비디오에서 AI 메타데이터 제거video metadata아니오
비디오에서 등록된 가시적 AI 마크 제거video visible아니오
비디오 디렉터리 처리video batch모드에 따라 다름
보정된 비디오 픽셀 SynthID 제거 프로파일 적용video invisible권장
비가시적 워터마크를 교란하기 위해 이미지 재생성invisible필요 (CUDA)
가시적, 비가시적 및 메타데이터 제거 실행all권장
디렉터리 처리batch모드에 따라 다름

Microsoft Paint 및 Photos InvisMark 선언은 자동으로 픽셀 재생성으로 라우팅됩니다. all 명령은 숨겨진 픽셀 워터마크와 그에 연결된 C2PA 매니페스트를 모두 제거하며, 메타데이터만 제거하면 매니페스트만 제거됩니다. 특수 Python API는 확산 없이 검증된 로컬 Watermarker.dll 페이로드를 검사하고 교란할 수 있습니다.

설치 모드

필요 사항설치
메타데이터 검사 및 제거remove-ai-watermarks
사진 AI 대 카메라 분류remove-ai-watermarks[classify]
OpenAI/Google/알 수 없는 소스 내보내기 분류remove-ai-watermarks[source-classify]
가시적 감지 및 제거remove-ai-watermarks[visible]
가시적 비디오 처리remove-ai-watermarks[video]
비디오 SynthID 제거remove-ai-watermarks[video,diffusion]
Torch 없는 DWT-DCT 감지remove-ai-watermarks[detect]
직접 로컬 Paint InvisMark 교란remove-ai-watermarks[pixels]
비가시적 이미지 제거 (CUDA 필요)remove-ai-watermarks[qwen-zimage]
활성 Python에서 사용 가능한 모든 프로덕션 기능remove-ai-watermarks[all]

하위 수준 및 특수 extras에는 pixels, heif, trustmark, migan, lama, diffusion, classify-onnx, source-classify가 포함됩니다. 설치 가이드는 이들의 정확한 의존성 구성, Python 호환성 및 모델 요구 사항을 문서화합니다.

빠른 시작

메타데이터 중심의 기본 CLI를 설치하세요:```bash uv tool install remove-ai-watermarks

이미지 검사:```bash
remove-ai-watermarks identify image.png

픽셀(AI 대 카메라, 선택적 제공자)로 사진을 분류하려면 추가 기능을 설치하고 classify를 호출하세요. identify는 절대 이를 시작하지 않습니다:```bash uv tool install --force "remove-ai-watermarks[classify]" remove-ai-watermarks classify image.png

가이드: [사진 픽셀 분류](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/photo-classify.md).

메타데이터 제거 후 가벼운, 판단을 보류하는 OpenAI/Google/알 수 없는 소스 내보내기 신호를 얻으려면 별도의 Python API를 사용하세요. 이는 SynthID 탐지기가 아닙니다:```python
import remove_ai_watermarks as raiw

result = raiw.classify_source("image.png")
print(result.label, result.reason)

remove-ai-watermarks[source-classify]를 설치합니다. 가이드: source-pipeline classification.

서명된 출처 증명은 SynthID에 대해 지원되는 경로이며 identify가 이를 읽습니다. 패키지에는 로컬 SynthID 픽셀 탐지기가 없습니다. 주기적 격자 전문가에 대한 연구는 scripts/synthid_runtime/ 및 synthid-detector-research.md에 있습니다.

가시적 워터마크 제거를 위해서는 픽셀 의존성을 설치하십시오:```bash uv tool install --force "remove-ai-watermarks[visible]"

그런 다음 알려진 가시적 마크와 AI 메타데이터를 제거합니다:```bash
remove-ai-watermarks visible image.png -o clean.png

메타데이터를 눈에 띄는 인페인팅이나 디퓨전 없이 제거:```bash remove-ai-watermarks metadata image.png --remove -o clean.png

`-o` 없이 이 명령을 실행하면 소스 파일을 제자리에서 덮어씁니다.

MP4, MOV, M4V, WebM, MKV, AVI 또는 FLV 파일에서 AI 메타데이터를 검사하거나 제거합니다:```bash
remove-ai-watermarks video metadata input.mp4 --check
remove-ai-watermarks video metadata input.mp4 --remove -o clean.mp4

video metadata 명령은 비디오나 오디오 스트림을 트랜스코딩하지 않습니다. 위의 이미지 명령과 달리, -o를 생략하면 <source>_clean을 쓰고 원본을 보존합니다. MP4 및 MOV 검사는 moov.udta.meta.keys/ilst에 있는 네이티브 TC260 AIGC 태그를 포함하며, 미디어 페이로드 뒤에 배치된 moov와 Doubao의 iOS 내보내기가 작성하는 QuickTime 형식의 meta 변형(moov의 직접 자식인 베어 meta 박스, 그리고 키 없는 hdlr=mdir 메타데이터 목록)도 포함합니다. 동일한 메타데이터 목록 구조에 있는 키가 지정된 workflow 및 prompt 항목도 감지되어 제거되며, ComfyUI 내보내기도 포함됩니다. MKV 및 WebM 검사는 규범적인 Segment.Tags.Tag.SimpleTag 배치를 읽습니다. AVI는 LIST/INFO/AIGC를 사용하고, FLV는 script.onMetaData.AIGC를 사용합니다. 비 ISOBMFF 형식은 제거를 위해 스트림 복사로 리먹스됩니다.

파일을 식별하거나 정리하려면 제품 지향 비디오 경로를 사용하십시오:```bash uv tool install --force "remove-ai-watermarks[video]" remove-ai-watermarks video identify input.mp4 remove-ai-watermarks video all input.mp4 -o clean.mp4

`video all`은 존재하는 경우 등록된 안정적 가시 마크를 제거하고 항상 검증된 AI 메타데이터를 제거합니다. 두 신호 모두 발견되지 않으면 동일 컨테이너 패스스루를 기록하므로, 애플리케이션 호출자는 하나의 예측 가능한 출력 계약을 얻게 됩니다. 독점적 비가시 비디오 제거는 기본적으로 제외됩니다. `--invisible`은 손실이 있으며 오라클 인증된 비디오 SynthID 프로파일을 선택합니다.

동일한 계약으로 디렉터리를 처리합니다:```bash
remove-ai-watermarks video batch ./videos --mode all

지원되는 표시되는 비디오 마크를 제거합니다:```bash remove-ai-watermarks video visible input.mp4 -o clean.mp4 remove-ai-watermarks video visible veo.mp4 --mark veo -o veo_clean.mp4 remove-ai-watermarks video visible seedance.mp4 --mark seedance -o seedance_clean.mp4 remove-ai-watermarks video visible dola.mp4 --mark dola -o dola_clean.mp4 remove-ai-watermarks video visible hailuo.mp4 --mark hailuo -o hailuo_clean.mp4 remove-ai-watermarks video visible kling.mp4 --mark kling -o kling_clean.mp4

이 경로는 픽셀을 변경하기 전에 전체 시퀀스를 스캔합니다. 인접 프레임에 걸쳐 안정적인 위치에서 반복되는 마크만 허용한 다음, 이미지 제거와 동일한 OpenCV, MI-GAN 또는 LaMa 채우기 백엔드를 재사용합니다. 오디오는 재인코딩 없이 복사되며 자연스러운 끝까지 도달하도록 허용됩니다. 비디오 스트림은 픽셀이 변경되므로 트랜스코딩됩니다. 기본적으로 가드된 광학 흐름 패스가 이전에 허용된 채우기를 모션 정렬하고 주변 소스 컨텍스트가 일치할 때만 블렌딩합니다. 비활성화하려면 `--no-temporal-consistency`를 사용하십시오.
인코더는 ffmpeg의 암시적 raw-BGR 기본값에 의존하는 대신 지원되는
8비트 소스 크로마 샘플링, 색상 태그 및 MP4/MOV 트랙 타임스케일을 보존합니다. 가변 프레임 간격은 평균 프레임 레이트로 평탄화되는 대신 타임스탬프가 있는 인메모리 NUT 브리지를 통해 보존됩니다. 0이 아닌 소스 시작 타임스탬프는 복사된 오디오 오프셋과 함께 유지됩니다. 기본 `--mark auto`는
한 번의 디코드 패스에서 모든 제공자를 스캔하고 아래에 표시된 특이성 순서에서 첫 번째 안정적인 일치를 선택합니다. 명시적 마크를 전달하여 감지를 하나의 제공자로 제한하십시오.
Sora는 움직이는 Sora 2 마스코트와 워드마크를 포함합니다. Veo는 현재의
4점 다이아몬드와 레거시 `Veo` 텍스트를 모두 포함합니다. Seedance는 고정된 박스형
`AI` 라벨을 포함하고, Dola는 고정된 `Dola AI` 텍스트를 포함하며, Hailuo AI는 복합
`MINIMAX | hailuo AI` 라벨을 포함하고, Kling AI는 버전 접미사가 있는 우측 하단 `KLING AI` 또는
`KlingAI` 라벨을 포함합니다. 완료된 인코딩은 원자적으로 게시됩니다. 안정적인 마크가 발견되지 않으면 출력이 작성되지 않습니다.
HDR, PQ/HLG 및 8비트 초과 입력은 OpenCV의 8비트 BGR 경계를 통해 조용히 축소되는 대신 인코딩 전에 거부됩니다.

카테고리