Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
remove-ai-watermarks — 移除图像和视频中可见与不可见的 AI 水印及来源元数据。用于 SynthID、C2PA、EXIF、IPTC、XMP 以及常见生成式 AI 标记的 Python 库和 CLI。 | Kitploit
工具/GitHubGitHub/wiltodelta/remove-ai-watermarks
通用工具OSINT (开源情报)取证分析隐写术数据恢复数字取证密码学隐私保护学习与教育
GitHubwiltodelta/remove-ai-watermarks

remove-ai-watermarks

移除图像和视频中可见与不可见的 AI 水印及来源元数据。用于 SynthID、C2PA、EXIF、IPTC、XMP 以及常见生成式 AI 标记的 Python 库和 CLI。

查看仓库
4.5k4242014小时27分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

移除 AI 水印

移除你自己生成图像和视频中的 AI 来源标记:

  • 已知的可见标签,例如 Google Gemini 闪光水印和厂商文字标记;
  • 通过扩散再生处理不可见像素水印;
  • C2PA、EXIF、XMP、IPTC 及相关 AI 元数据。

视频支持涵盖来源识别、完整的可见标记加元数据清理、目录批量处理、可见的 Sora、Veo、Seedance、Doubao、Dola、Hailuo AI 和 Kling AI 标记移除,以及经 oracle 认证的 VAE 再生以移除视频 SynthID。

raiw.cc 将该库作为托管服务运行,GPU 已包含在内,无需安装任何内容。标准输出最高 12 MP 的可见标记和元数据移除在该网站上是免费的;12 MP 以上的原始分辨率和不可见水印移除为付费服务。

PyPI Python Downloads License Tests Sponsor

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

选择您想执行的操作

Microsoft Paint 和 Photos 的 InvisMark 声明会自动路由到像素再生。all 命令会同时移除隐藏的像素水印及其关联的 C2PA 清单;仅剥离元数据只会移除清单。

安装模式

较低级别和专门的附加组件包括 pixels、heif、trustmark、migan、lama 和 diffusion。安装指南 记录了它们的确切依赖组成、Python 兼容性和模型要求。

快速开始

安装以元数据为重点的默认 CLI:```bash uv tool install remove-ai-watermarks

root@kitploit:~
检查一张图片:```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

root@kitploit:~
指南:[照片像素分类](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/photo-classify.md)。

签名来源是 SynthID 支持的路由,`identify` 会读取该信息。
包内没有本地 SynthID 像素检测器。关于周期晶格专家的研究位于 `scripts/synthid_runtime/` 和
[synthid-detector-research.md](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/synthid-detector-research.md)。

对于受支持的 OpenAI 图像,可选的官方验证器会提供像素水印判定:```bash
uv tool install --force "remove-ai-watermarks[verify]"
remove-ai-watermarks verify-openai-synthid image.png --acknowledge-upload

该命令会从临时副本中移除AI来源元数据,验证解码后的像素未发生变化,仅将该副本上传至OpenAI,并且只使用独立的SynthID响应。它绝不会从identify隐式运行。需要API密钥、端点访问权限以及明确的上传确认。

如需移除可见水印,请安装像素依赖项:```bash uv tool install --force "remove-ai-watermarks[visible]"

root@kitploit:~
然后移除一个已知的可见标记和AI元数据:```bash
remove-ai-watermarks visible image.png -o clean.png

剥离元数据,而无需运行可见的修复或扩散:```bash remove-ai-watermarks metadata image.png --remove -o clean.png

root@kitploit:~
不使用 `-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 元数据列表)。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

root@kitploit:~
`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

root@kitploit:~
此路径在更改像素之前扫描完整序列。它仅接受在相邻帧间稳定位置重复出现的标记,然后复用与图像移除相同的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`
标签及其版本后缀。完成的编码以原子方式发布。当未找到稳定标记时不写入任何输出。
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 预言机检查。Google 未发布本地解码器,因此对于异常重要的文件或在提供商变更后,重新进行提供商检查仍然有用,但这并非产品结果状态。

如需移除隐形水印,请安装 qwen-zimage 附加组件。需要 NVIDIA GPU:所有配置均为 CUDA 专用,且没有 CPU 或 MPS 回退方案。```bash uv tool install --force "remove-ai-watermarks[qwen-zimage]" remove-ai-watermarks invisible image.png -o clean.png

root@kitploit:~
如果本地检测器无法确认隐形水印,但你已知该图像来自 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

root@kitploit:~
参见 [CLI 指南](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/cli.md#restore-operator-verified-text) 了解清单
模式、兼容性限制以及 oracle 注意事项。

参见 [安装指南](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/installation.md) 了解 Homebrew、uv、可选
功能以及开发环境设置。

## 示例

### 可见的 Gemini 水印

| 处理前 | 处理后 |
| --- | --- |
| ![带有可见 Gemini 水印的图像](https://assets.kitploit.com/production/public/readmes/7369/4f6643f46057e4a4ec503f5bf0daf7243768915090f2d7fc5ac183c2d928c5ca.png) | ![可见水印移除后的图像](https://assets.kitploit.com/production/public/readmes/7369/45193ef965a27342b183a1834b01ef812f653da2ec356a81fce1aed79f1ef814.png) |

`after` 栅格由跟踪的 `before` 栅格通过公共路径生成:```bash
uv run remove-ai-watermarks visible demo_banana_before.png \
  --backend cv2 -o demo_banana_after.png

高质量隐形移除

qwen-zimage 是默认配置文件:在 Canny ControlNet 下执行 Qwen-Image-2512 Lightning 处理,随后通过 SAM 掩码的 Z-Image 修复对任何检测到的人脸进行修复。备选方案 sdxl-zimage 将全局阶段替换为 SDXL,并保留相同的人脸阶段。第三个配置文件 chroma-zimage 使用 Apache-2.0 Chroma1 全局处理及其自身的扁平化供应商下限;校准细节请参阅 docs/chroma1-engine-research.md。--pipeline auto 会为 OpenAI 和 Microsoft 来源选择 chroma-zimage,否则选择 qwen-zimage。所有配置均仅支持 CUDA。```bash uv tool install --force "remove-ai-watermarks[qwen-zimage]" remove-ai-watermarks invisible image.png -o clean.png --force

root@kitploit:~
| OpenAI 示例(处理前) | OpenAI 示例(处理后) |
| --- | --- |
| [![OpenAI portrait grid before qwen-zimage](https://assets.kitploit.com/production/public/readmes/7369/28ff8732b037f98a4ef5bc277bbcdaa32e5eb9ccbd00b6c8c616e46ef68ae8a0.png)](data/synthid/originals/ChatGPT%20Image%20May%2030,%202026,%2010_31_08%20AM.png) | [![OpenAI portrait grid after qwen-zimage](https://assets.kitploit.com/production/public/readmes/7369/8066deab6162ef4fba352ffb475a119bfe94f097a4f5531e0fe141cbb8e089b5.png)](docs/images/qwen-zimage/ChatGPT/ChatGPT%20Image%20May%2030,%202026,%2010_31_08%20AM_full_clean.png) |

| Gemini 示例(处理前) | Gemini 示例(处理后) |
| --- | --- |
| [![Gemini sign before qwen-zimage](https://assets.kitploit.com/production/public/readmes/7369/4affd7f27767a445db6abf741355743ba8d95108ad922c9fff045feed8492236.png)](data/synthid/originals/Gemini_Generated_Image_633uuy633uuy633u.png) | [![Gemini sign after qwen-zimage](https://assets.kitploit.com/production/public/readmes/7369/42858417874f6cd8bc7c9bdb39f6bde8aa32310a3e219e7ee2dff23a4742c7b1.png)](docs/images/qwen-zimage/Gemini/Gemini_Generated_Image_633uuy633uuy633u_full_clean.png) |

这些确切的输出文件已使用对应的提供商验证器进行检查。该结果仅适用于这些文件,并不适用于每个种子、图像或未来的水印版本。

## 常见用法

### 移除每个检测到的可见标记```bash
remove-ai-watermarks visible image.png -o clean.png

默认的 --mark auto 会检查所有已注册的可见标记并移除每一个匹配项。如果标记对你可见但检测器漏掉了它,请显式选中其区域:```bash remove-ai-watermarks erase image.png
--region 1640,1930,400,100
-o clean.png

root@kitploit:~
`--region` 使用 `x,y,width,height` 格式,且可重复指定。

### 使用已学习的填充后端

当未安装已学习的后端时,`visible` 附加功能使用 OpenCV 图像修复。
对于更复杂的背景,已学习后端的附加功能会自动包含相同的
像素依赖关系:```bash
uv tool install --force "remove-ai-watermarks[migan]"
remove-ai-watermarks visible image.png -o clean.png --backend migan

I need the input content to translate. Please provide the Markdown chunk you'd like me to translate from English to Chinese.```bash uv tool install --force "remove-ai-watermarks[lama]" remove-ai-watermarks visible image.png -o clean.png --backend lama

root@kitploit:~
### 减少 CUDA 内存使用```bash
remove-ai-watermarks invisible image.png -o clean.png \
  --cpu-offload --force

CPU offload 通过将模型组件在 CPU 和 GPU 之间移动来降低 CUDA 内存压力,但代价是速度。

处理目录```bash

remove-ai-watermarks batch ./images --mode visible remove-ai-watermarks batch ./images --mode all

root@kitploit:~
## 该工具可识别的内容

可见标记支持包括:

- Google Gemini 和 Nano Banana 可见闪光水印;
- 豆包、即梦字标及左上角 `AI生成` 标签、通义千问、可灵 AI、
  元宝、百度、LiblibAI 和 RunningHub 标识;
- 一种校准过的微软右上角白色 AI 徽章变体;
- 一种校准过的三星 Galaxy AI 标签变体。

元数据和来源检查涵盖 C2PA、EXIF、XMP、IPTC、常见
生成器参数、中国 TC260 AIGC 标签以及若干厂商特定
信号。可选解码器增加了对开放 DWT-DCT 水印和 Adobe
TrustMark 的支持。

精确的支持矩阵(包括重要的区域设置和检测器限制)见
[supported signals](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/supported-signals.md)。该
[合成示例图库](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/data/fixtures/visible/README.md) 为每个已注册的图像和视频标记提供
一个标准样本。

## 工作原理

可见标记移除遵循三个步骤:

1. 在预期区域检测已注册的标记。
2. 围绕标记构建掩码。
3. 仅使用 OpenCV、MI-GAN 或 LaMa 填充掩码区域。

元数据移除使用格式感知剥离。JPEG 元数据移除保留
编码后的图像扫描数据,而非重新压缩。原生 MP4/MOV TC260 值
被置空,而不改变框大小或媒体偏移。其他受支持的
容器使用其对应的元数据路径。

不可见标记移除则不同。它通过扩散
流水线重新生成图像,以破坏像素和频域水印。这会改变
图像,且无法保证专有验证器会拒绝每个
输出。

完整的技术边界请参阅 [supported signals](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/supported-signals.md) 和
[known limitations](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/known-limitations.md)。

## Python API

可见移除 API 需要 `remove-ai-watermarks[visible]`。```python
import remove_ai_watermarks as raiw

result, removed = raiw.remove_visible("watermarked.png", "clean.png")
print(removed)

openai_synthid = raiw.verify_openai_synthid("image.png", acknowledge_upload=True)
print(openai_synthid.status)

provenance = raiw.identify_video("input.mp4")
report = raiw.inspect_video_metadata("input.mp4")
complete = raiw.remove_video_all("input.mp4", "clean.mp4")
batch = raiw.remove_video_batch("videos", "videos_clean")
cleaned = raiw.remove_video_metadata("input.mp4")
synthid_cleaned = raiw.remove_video_invisible("input.mp4", "synthid_clean.mp4")
visible = raiw.remove_video_visible("input.mp4", "clean.mp4")
print(visible.mark)
veo = raiw.remove_video_visible("veo.mp4", "veo_clean.mp4", mark="veo")
seedance = raiw.remove_video_visible(
    "seedance.mp4",
    "seedance_clean.mp4",
    mark="seedance",
)
dola = raiw.remove_video_visible("dola.mp4", "dola_clean.mp4", mark="dola")

高级 API 接受文件路径或 BGR NumPy 数组。对于路径输入,它还会读取来源元数据、保留 alpha 通道,并可去除写入结果中的 AI 元数据。

有关可见去除、完整的 remove_all 和 remove_batch 流程、来源检查、元数据剥离以及扩散用法,请参阅 Python API 指南。

ComfyUI

独立的 ComfyUI Remove AI Watermarks 包提供了用于可见去除、检测、区域擦除和不可见去除的节点。

重要限制

  • 缺少本地信号意味着未知,而非干净。专有像素水印可能在元数据被剥离后仍然存在。
  • 可见去除会重建一个小区域。结果取决于背景和所选的填充后端。
  • 不可见去除会改变整张图像,并可能影响人脸、文字或精细细节。
  • 可见视频去除可识别移动的 Sora 2 字标、当前的 Veo 菱形标志及旧版 Veo 文字、Seedance 带框的 AI 标签,以及固定的 Doubao、Dola、Hailuo AI 和 Kling AI 标签。它无法识别较旧的 Sora Turbo 角落漩涡或来自这些提供商的未注册布局。 经典 OpenCV 后端可能会弄脏结构化背景;当恢复质量至关重要时,请使用 MI-GAN 或 LaMa。
  • 视频 SynthID 再生会改变分辨率、帧率和图像细节。随附的配置文件已通过 oracle 认证,但没有任何公开的本地解码器能在运行时认证任意输出。在提供商变更后,请重新检查特别重要的输出。
  • 不可见水印去除需要 CUDA。所有配置文件在构造时都会拒绝任何其他设备,而不是回退到无法运行它们的设备。可见去除、元数据剥离和 identify 仍可在任何地方运行。
  • 提供商水印系统可能会发生变化。当提供商提供验证器时,请使用其自身的验证器验证重要输出。

随附的 video invisible 命令使用经认证的 noise_std=0.15 配置文件。配套的 scripts/video_synthid_sweep.py 研究工具会构建一个匹配的重新编码对照组以及 VAE 再生成的候选对象,并将验证器判定结果留空:```bash uv run --extra video --extra diffusion python scripts/video_synthid_sweep.py input.mp4 -o sweep/

root@kitploit:~
要衡量某个输出实际花费的成本,请使用 `scripts/video_fidelity_probe.py`:
引擎自身的 PSNR 是在缩放和编码之前测量的,因此只有
探针才能看到最终交付的画面。```bash
uv run --extra video python scripts/video_fidelity_probe.py input.mp4 input_clean.mp4

在阴性候选可被视为移除证据之前,对照样本仍必须为 SynthID 阳性。在 2026-07-29 的双片段校准中,两个匹配的对照样本在 Gemini 内置的 SynthID 验证器中均为阳性;较强的候选样本在两个载体上均为阴性,而较弱的候选样本仅在一个载体上为阴性。后续一次对抗性跟进测试要求普通 Gemini 重新解读像素结果,返回了 UNAVAILABLE;该跟进并非验证器重跑,因此不使内置判定失效。2026-07-31 对公开八秒 Veo 样本进行的全片段检查发现 0.10 仍被检出而 0.15 未被检出,因此 0.15 现为认证默认值。该全片段检查的可复现哈希与判定——一个载体、两行数据——存放于 data/evaluations/video-synthid-oracle.csv。此前的双片段校准仅为叙述性记录:其判定未写入受追踪的清单,因此请将认证默认值视为基于 2026-07-31 的行数据。

文档

从文档索引开始。

  • 安装
  • CLI 指南
  • Python API
  • 支持的信号
  • 已知限制
  • 范围、安全与法律说明
  • 模块内部机制
  • 发布与分发

研究笔记与历史实验在文档索引中单独列出。它们解释了过往决策,但不定义当前公共 API。

贡献

安装开发环境并运行项目门禁:```bash uv sync --frozen --extra dev bash maintain.sh

root@kitploit:~
参见[模块内部文档](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/module-internals.md),在更改具有文档化不变量的子系统之前,请先阅读。

## 许可证

[Apache 2.0](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/LICENSE)。版权所有 2025-2026 wiltodelta。
下载工具
目标命令GPU
查找来源信号和水印identify否
从像素对照片进行分类(可选加入,非来源识别)classify否
通过官方远程 API 从像素验证受支持的 OpenAI SynthIDverify-openai-synthid否
移除已知的可见 AI 标记visible否
擦除您选择的区域erase否
剥离 AI 元数据metadata否
识别受支持的视频来源video identify否
从视频中移除可见标记和 AI 元数据video all否
从视频中剥离 AI 元数据video metadata否
从视频中移除已注册的可见 AI 标记video visible否
处理视频目录video batch取决于模式
使用经认证的 VAE 配置移除视频 SynthIDvideo invisible推荐
再生图像以破坏不可见水印invisible必需(CUDA)
运行可见、不可见和元数据移除all推荐
处理目录batch取决于模式
需求安装
元数据检查和剥离remove-ai-watermarks
照片 AI 与相机分类remove-ai-watermarks[classify]
官方远程 OpenAI SynthID 验证remove-ai-watermarks[verify]
可见检测和移除remove-ai-watermarks[visible]
可见视频处理remove-ai-watermarks[video]
视频 SynthID 移除remove-ai-watermarks[video,diffusion]
无 Torch 的 DWT-DCT 检测remove-ai-watermarks[detect]
不可见图像移除(需要 CUDA)remove-ai-watermarks[qwen-zimage]
当前 Python 上可用的所有生产功能remove-ai-watermarks[all]