返回更新列表
新发布Aug 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 移除的 oracle 认证 VAE 再生成。

raiw.cc 将此库作为托管服务运行,包含 GPU,无需安装任何东西。在那里,标准输出下最高 12 MP 的可见标记和元数据移除是免费的;超过 12 MP 的原始分辨率和不可见水印移除是付费的。

PyPI Python Downloads License Tests Sponsor skills.sh

本项目用于对你拥有的内容进行合法使用。它不针对图库机构预览图或其他保护第三方付费内容的水印。 参见范围、安全和法律说明。

选择你想做的事情

目标命令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]

较低层级和专门的附加项包括 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 命令不会对视频或音频流进行转码。与上面的 image 命令不同,当省略 -o 时,它会写入 <source>_clean 并保留原始文件。MP4 和 MOV 检查会包含 moov.udta.meta.keys/ilst 中的原生 TC260 AIGC 标签,包括位于媒体负载之后的 moov,以及豆包 iOS 导出所写入的 QuickTime 形式 meta 变体(作为 moov 直接子级的裸 meta box,以及无键的 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` 选择启用有损的、经 oracle 认证的视频 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` 可将其禁用。
编码器保留受支持的
8 位源色度采样、颜色标签以及 MP4/MOV 轨道时间刻度,而不是依赖 ffmpeg 隐式的原始 BGR 默认值。可变帧间隔通过带时间戳的内存 NUT 桥接得以保留,而不是被展平为平均帧率。非零源起始时间戳与复制的音频偏移一起保留。默认的 `--mark auto`
在一次解码过程中扫描所有提供程序,并按下面显示的特异性顺序选择第一个稳定匹配项。传入显式标记可将检测限制为单个提供程序。
Sora 覆盖移动的 Sora 2 吉祥物和字标。Veo 覆盖当前的四点菱形以及旧版 `Veo` 文本。Seedance 覆盖固定的带框
`AI` 标签,Dola 覆盖固定的 `Dola AI` 文本,Hailuo AI 覆盖复合的
`MINIMAX | hailuo AI` 标签,Kling AI 覆盖右下角的 `KLING AI` 或
`KlingAI` 标签及其版本后缀。完成的编码以原子方式发布。未找到稳定标记时不写入任何输出。
HDR、PQ/HLG 以及大于 8 位的输入会在编码前被拒绝,而不是通过 OpenCV 的 8 位 BGR 边界被静默降级。

应用校准后的视频像素 SynthID 移除配置文件:```bash
uv tool install --force "remove-ai-watermarks[video,diffusion]"
remove-ai-watermarks video invisible input.mp4 -o clean.mp4

此路径通过一个跨时间共享的潜在噪声场重新生成完整序列,复制完整音频,剥离源元数据,并以原子方式发布完成的编码。默认的 noise_std=0.15 配置同时通过了两载波校准和完整的公开八秒 Veo oracle 检查。Google 不发布本地解码器,因此对于异常重要的文件或提供商变更后,重新进行提供商检查仍然有用,但这并非产品结果状态。因此,CLI 描述的是视频像素重新生成,而非声称逐文件的 SynthID 判定,并将复制的音频水印报告为 UNVERIFIED。

若要通过 CLI 或高级 API 进行不可见水印移除,请安装 qwen-zimage 附加组件。需要 NVIDIA GPU:所有扩散配置均为仅限 CUDA,没有 CPU 或 MPS 回退。专用的本地 Paint API 使用 pixels 附加组件,无需 CUDA。```bash uv tool install --force "remove-ai-watermarks[qwen-zimage]" remove-ai-watermarks invisible image.png -o clean.png

如果本地检测器无法确认不可见水印,但你知道该图像来自 AI 生成器,请添加 `--force`:```bash
remove-ai-watermarks invisible image.png -o clean.png --force

排版密集型图像可以选择启用实验性的已验证文本后处理。 它接受人工审核过的字符串和行框,或操作员验证过的 仅几何清单;它从不将原始 OCR 输出视为基准真值,也不会 自动运行:```bash uv tool install --force "remove-ai-watermarks[text-restoration]" remove-ai-watermarks invisible image.png -o clean.png
--text-manifest verified-lines.json --force

有关 manifest 模式、兼容性限制和 oracle 注意事项,请参阅 [CLI 指南](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/cli.md#restore-operator-verified-text)。

有关 Homebrew、uv、可选功能和开发环境设置,请参阅 [安装指南](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/installation.md)。

## 示例

### 可见的 Gemini 标记

分类