小马的 AI 工具集 给 Agent 学习

图片去水印

纯本地反向 Alpha 混合算法无损去除 Gemini 图片/视频水印

图片去水印
类型 插件 4,429 星标 更新 2026-06-14 许可 MIT 原仓库 主页

中文文档

🔥 厌倦了 Gemini 水印?试试更强大的 GPT Image 2,访问 pilio.ai —— 限时免费。

Gemini Watermark Remover —— 无损水印去除工具

一款开源工具,用于去除 Gemini 水印,在支持的输出上实现高保真、可复现的结果。采用纯 JavaScript 构建,引擎使用数学上精确的反向 Alpha 混合算法,而非不可预测的 AI 修复。

🚀 寻找 在线 Gemini 水印去除工具(推荐)?试试 geminiwatermarkremover.io —— 免费、无需安装,直接在浏览器中运行。

💡 遇到 Gemini Watermark Remover 无法处理的水印?试试通用 AI 水印去除工具:pilio.ai/image-watermark-remover

在线工具  视频水印去除工具  Chrome 扩展  用户脚本  通用水印去除工具

功能特性

  • 100% 本地处理 - 所有图像处理均在浏览器或本地机器上完成。不会上传任何内容。
  • 数学精度 - 基于反向 Alpha 混合公式,而非“幻觉”AI 模型。
  • 自动检测 - 利用 Gemini 已知的输出目录和本地锚点搜索,自动识别水印大小和位置。
  • 灵活使用 - 在线工具快速使用,Chrome 扩展或用户脚本无缝集成 Gemini 页面,CLI 和 Skill 用于脚本和自动化。
  • 视频支持 - 在 geminiwatermarkremover.io/video 去除 Gemini 生成视频中的水印。
  • 跨平台 - 适用于现代浏览器(Chrome、Firefox、Safari、Edge)和 Node.js 环境。

Gemini 水印去除示例

点击展开/折叠示例
原始图像去除水印后

⚠️ 免责声明

[!WARNING] 使用风险自负

本工具会修改图像文件。尽管设计上可靠,但以下情况可能导致意外结果:

  • Gemini 水印实现的差异
  • 损坏或异常图像格式
  • 测试未覆盖的边缘情况

作者对任何数据丢失、图像损坏或意外修改概不负责。使用本工具即表示您已了解这些风险。

[!NOTE] 注意:请禁用任何指纹防御扩展(例如 Canvas Fingerprint Defender),以避免处理错误。https://github.com/GargantuaX/gemini-watermark-remover/issues/3

如何去除 Gemini 水印

在线 Gemini 水印去除工具(推荐)

面向所有用户 —— 最快、最简单的去除 Gemini 图像水印的方法:

  1. 打开 geminiwatermarkremover.io
  2. 拖放或点击选择您的 Gemini 生成图像。
  3. 引擎将自动处理并去除水印。
  4. 下载清理后的图像。

在线视频水印去除工具(新!)

适用于带有可见水印的 Gemini 生成视频

  1. 打开 geminiwatermarkremover.io/video
  2. 上传或拖放您的 Gemini 生成视频。
  3. 工具将自动检测并去除视频中的水印。
  4. 下载清理后的视频。

注意:视频水印去除完全在浏览器中运行 —— 不会上传任何文件到服务器。

Chrome 扩展

如果您不想使用用户脚本管理器,但仍希望 Gemini 页面自动集成预览、复制和下载操作,请使用此扩展。

  1. 打开 Chrome 网上应用店中的 Gemini Watermark Remover
  2. 点击添加至 Chrome 并确认安装。
  3. 打开 Gemini。扩展将自动处理支持的 Gemini 图像。

弹出窗口包含一个“在 Gemini 上启用”开关。如果 Gemini 变慢、行为异常或需要排查页面问题,请关闭开关并刷新 Gemini。

Chrome 网上应用店安装会自动更新。如果您的网络无法访问网上应用店,可从 GitHub Releases 和官方网站下载入口获取匹配的已验证压缩包(gemini-watermark-remover-extension-v*.zip),用于手动解压安装。

用户脚本

  1. 安装用户脚本管理器(例如 Tampermonkey 或 Greasemonkey)。
  2. 打开 gemini-watermark-remover.user.js
  3. 脚本将自动安装。
  4. 导航至 Gemini 对话页面。
  5. 页面上符合条件的 Gemini 预览图像在处理后会被原地替换。
  6. Gemini 原生的“复制图像”和“下载图像”操作也会返回处理后的结果。

当前用户脚本的限制:

  • 没有注入每个图像的控制按钮
  • 没有弹出 UI 或批量操作界面
  • 页面预览和原生复制/下载流程均会在源图像可访问时进行处理
  • 预览图像在处理期间保持原始可见,并带有淡化的“处理中…”覆盖层
  • 如果预览处理失败,原始页面图像保持可见且可用

Skill

适用于涉及 AI 编码代理的工作流程:

  • skills/gemini-watermark-remover/ 包含一个打包的 Skill,代理可以发现并调用。
  • 使用 skills.sh 安装:
pnpm dlx skills add GargantuaX/gemini-watermark-remover --skill gemini-watermark-remover
  • 仅当你的本地环境需要时,才添加诸如 --agent--yes--copy 之类的标志。
  • 用法:
node skills/gemini-watermark-remover/scripts/run.mjs remove <input> --output <file>
  • 关于智能体集成的详细信息,请参阅 SKILL.md

CLI

对于脚本、CI 以及本地批量处理工作流程,请直接使用 CLI:

# 仓库本地
node bin/gwr.mjs remove <input> --output <file>

# 全局安装
gwr remove <input> [--output <file> | --out-dir <dir>] [--overwrite] [--json]

如果你没有全局安装 gwr,请使用:

pnpm dlx @pilio/gemini-watermark-remover remove <input> --output <file>

默认的 CLI 文件解码器/编码器使用 sharp。仅使用浏览器或 ImageData API 的 SDK 使用者则无需安装。如果你在自己的项目中使用了 CLI 文件路径,请同时安装 sharp 该包:

pnpm add sharp

无法去除你的水印?

此工具专门针对 Gemini 的可见水印(位于右下角的半透明徽标)。如果你的图像水印与已知的 Gemini 格式不匹配,或者你需要去除其他类型的图像水印,请尝试通用 AI 水印去除工具:

👉 pilio.ai/image-watermark-remover

开发者预览

该仓库仍然在 /dev-preview.html 保留了本地内部预览工具,用于单张图像对比、复制和下载验证。

  • 这是一个保留的内部调试界面,并非公开产品网站。
  • 根路径 / 现在仅将用户重定向到官方网站、用户脚本产物以及内部预览页面。
  • 面向公众的使用应优先选择官方网站或用户脚本,而不是此本地预览工具。

开发

# 安装依赖
pnpm install

# 开发构建
pnpm dev

# 生产构建
pnpm build

# 本地静态服务
pnpm serve

注意:

  • 根路径 / 现在是一个轻量级入口页面,指向官方网站、用户脚本产物以及保留的内部预览页面。
  • 内部浏览器预览工具位于 /dev-preview.html,现在保留为一个仅中文的静态单张图像对比工具,用于本地算法/UI 调试,不再维护面向公众的语言或主题切换功能。
  • pnpm dev / pnpm serve 仍然承载用户脚本、探测页面及这些静态资源。

在 macOS 上调试 Tampermonkey

对于该仓库在 macOS 上的固定配置文件工作流程:

# 构建最新的用户脚本
pnpm build

# 如果需要,启动本地 dist 服务器
pnpm dev

# 打开启用了远程调试的固定 Chrome 配置文件
./scripts/open-fixed-chrome-profile.sh --url https://gemini.google.com/app

注意:

  • 固定配置文件位于 .chrome-debug/tampermonkey-profile
  • 默认的 CDP 端口为 9226
  • 默认代理为 http://127.0.0.1:7890;如果不需要,可以使用 --proxy off 禁用它
  • 从正在运行的本地 pnpm dev 服务器重新安装最新的用户脚本
  • pnpm devhttp://127.0.0.1:4173/ 开始探测,如果该端口已被占用,则自动递增
  • 如果你正在跟随之前录制的调试会话,其端口可能不同;请以当前 pnpm dev 的输出为准,而不是硬编码 4173

SDK 用法(高级 / 内部)

该包的根目录仍然暴露 SDK,但此路径适用于高级或内部集成场景:

import {
  createWatermarkEngine,
  removeWatermarkFromImage,
  removeWatermarkFromImageData,
  removeWatermarkFromImageDataSync,
} from '@pilio/gemini-watermark-remover';

当你已经有了解码的 ImageData 时,请使用纯数据 API:

const result = await removeWatermarkFromImageData(imageData, {
  adaptiveMode: 'auto',
});

console.log(result.meta.decisionTier);

当你有一个 HTMLImageElementHTMLCanvasElement 时,请使用浏览器图像 API:

const { canvas, meta } = await removeWatermarkFromImage(imageElement);
document.body.append(canvas);
console.log(meta.applied, meta.decisionTier);

如果需要处理多张图像,请复用单个引擎实例,以便 Alpha 映射保持缓存:

const engine = await createWatermarkEngine();
const first = await removeWatermarkFromImageData(imageDataA, { engine });
const second = await removeWatermarkFromImageData(imageDataB, { engine });

对于 Node.js 集成,请使用专用子路径并注入你自己的解码器/编码器:

import { removeWatermarkFromBuffer } from '@pilio/gemini-watermark-remover/node';

const result = await removeWatermarkFromBuffer(inputBuffer, {
  mimeType: 'image/png',
  decodeImageData: yourDecodeFn,
  encodeImageData: yourEncodeFn,
});

运行时要求

Web 与用户脚本

  • 现代 Chrome / Firefox / Safari / Edge 类浏览器
  • ES modules
  • Canvas API
  • Async/Await
  • TypedArray (Float32Array, Uint8ClampedArray)
  • 对于网站复制按钮:navigator.clipboard.write(...)ClipboardItem

CLI 与技能

  • 能够运行此包的本地 Node.js 运行时
  • 使用默认 CLI 文件解码器/编码器时安装 sharp
  • 对本地输入/输出路径的文件系统访问权限
  • 对于仓库本地使用:
node bin/gwr.mjs remove <input> --output <file>
node skills/gemini-watermark-remover/scripts/run.mjs remove <input> --output <file>
  • 对于分布式技能使用,本地环境必须能够执行打包后的 gwr CLI 边界

测试

# 运行所有测试
pnpm test

回归测试包括来自 src/assets/samples/ 的图像测试样例。 源测试样例保留在 git 中。 这些测试样例的命名和保留规则记录在 src/assets/samples/README.md 中。 复杂的预览/下载验证说明记录在 docs/complex-figure-verification-checklist.md 中。 src/assets/samples/fix/ 下的本地文件是可选的快照输出,用于手动回归检查,并且故意不被 git 跟踪。

发布说明

查看 CHANGELOG.md 了解发布历史,查看 RELEASE.md 了解本地发布检查清单。

Gemini 水印去除原理

Gemini 水印生成过程

Gemini 使用标准的 Alpha 合成来应用水印:

$$watermarked = \alpha \cdot logo + (1 - \alpha) \cdot original$$

其中:

  • watermarked:带有水印的像素值。
  • α:Alpha 通道值(0.0 - 1.0)。
  • logo:水印徽标颜色值(白色 = 255)。
  • original:我们要恢复的原始像素值。

反向求解

要去除水印,我们求解 original

$$original = \frac{watermarked - \alpha \cdot logo}{1 - \alpha}$$

通过在已知的纯色背景上捕获水印,我们重建精确的 Alpha 映射,并应用逆公式零损失地恢复原始像素。

检测规则

该引擎使用分层检测来定位和验证水印:

  1. 尺寸目录查找 —— 将图像尺寸与 Gemini 的已知输出尺寸进行匹配,以预测水印大小和位置。
  2. 局部锚点搜索 —— 通过扫描预期水印区域周围的像素数据来优化预测位置。
  3. 恢复验证 —— 在应用去除之前确认检测到的水印是真实的。

默认水印配置:

条件水印尺寸右边距底边距
较大的 Gemini 输出96×9664px64px
较小的 Gemini 输出48×4832px32px

项目结构

gemini-watermark-remover/
├── bin/                   # 已发布的 CLI 入口点 (`gwr`)
├── public/
│   ├── index.html         # 官方网站 / 用户脚本 / 内部预览的入口页面
│   ├── dev-preview.html   # 为本地调试保留的内部浏览器预览容器
│   └── tampermonkey-worker-probe.*  # 用于用户脚本/调试流程的探测页面
├── skills/
│   └── gemini-watermark-remover/    # 可分发的 agent skill 包
├── src/
│   ├── assets/            # 校准资产和回归样本
│   ├── cli/               # CLI 参数解析和文件工作流
│   ├── core/              # 水印数学、评分和还原
│   ├── page/              # Gemini 页面集成的页面端运行时
│   ├── sdk/               # 高级/内部 SDK 接口
│   ├── shared/            # 共享的 DOM、blob 和会话辅助函数
│   ├── userscript/        # 用户脚本入口点和浏览器钩子
│   ├── workers/           # Worker 运行时
│   ├── app.js             # 内部单图预览容器的入口点
│   └── utils.js           # 内部预览页面的共享浏览器辅助函数
├── tests/                 # 单元、回归、打包和冒烟测试
├── scripts/               # 本地自动化和调试启动器
├── dist/                  # 构建输出目录
├── build.js               # 构建脚本
└── package.json

架构概述

  • src/core/ 包含水印检测、候选选择、恢复指标和反向 Alpha 去除流程。
  • src/userscript/src/page/src/shared/ 实现了真实的 Gemini 页面集成,包括预览替换以及复制/下载拦截。
  • src/cli/bin/gwr.mjs 提供了面向文件的本地自动化功能。
  • skills/gemini-watermark-remover/ 提供了一个可分发的 Skill,它保持在 CLI 边界上,而不是直接导入仓库内部组件。
  • src/sdk/ 仍可供高级/内部集成使用,但不再是主要的公共入口点。

限制

  • 仅移除 Gemini 可见水印 (右下角的半透明标志)
  • 支持图像视频水印去除——视频处理可通过在线工具使用
  • 不移除不可见/隐写水印。(了解更多关于 SynthID)
  • 专为 Gemini 当前可见水印模式设计(已验证至 2026 年 4 月的仓库版本)

法律声明

本项目采用 MIT 许可证 发布。

根据您所在的司法管辖区以及图像的预期用途,去除水印可能产生法律影响。用户应全权负责确保其使用本工具的行为符合适用法律、服务条款和知识产权。

作者不纵容或鼓励将本工具用于侵犯版权、虚假陈述或任何其他非法目的。

本软件“按原样”提供,不附带任何明示或暗示的保证。在任何情况下,作者均不对因使用本软件而产生的任何索赔、损害或其他责任负责。

致谢

本项目是 Allen Kuo(@allenk)的 Gemini Watermark Tool 的 JavaScript 移植版本。

反向 Alpha 混合方法和校准后的水印掩模基于 © 2024 AllenK (Kwyshell) 的原始作品,以 MIT 许可证授权。

相关链接

许可证

MIT 许可证

在 GitHub 查看完整项目