命令列工具
wiltodelta/remove-ai-watermarks avatar
wiltodelta/remove-ai-watermarks

remove-ai-watermarks:從 README 拆解功能、設定與採用邊界

AI浮水印去除器。 CLI 和 Python 函式庫可從影像中移除可見和不可見的 AI 浮水印(Gemini / Nano Banana Sparkle、SynthID)和來源元資料(C2PA、EXIF、IPTC)。

5,557 個 Star516 個 ForkPythonApache-2.0

秒懂

它是什麼?
AI watermark remover. CLI and Python library to strip visible and invisible AI watermarks (Gemini / Nano Banana sparkle, SynthID) and provenance metadata (C2PA, EXIF, IPTC) from images.,本文以 README 可核對的功能、命令、版本與限制整理採用判斷。
適合誰用?
remove-ai-watermarks 適合需要其 README 所列能力、並能接受目前文件邊界的使用者;不適合把未列出的相容性、效能或自主行為當成保證的團隊。先依專案專屬入口試跑,檢查具體輸出與版本,再決定是否納入正式流程。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

這個工具處理什麼

這個倉庫提供一個命令列工具和 Python 程式庫,用於從圖片和影片中移除 AI 來源標記。README 列出三類處理對象:已知的可見標籤(例如 Gemini 的閃光標誌和廠商文字)、透過擴散再生成消除的隱形像素浮水印,以及 C2PA、EXIF、XMP、IPTC 等中繼資料。文件明確說明,專案僅用於處理你擁有內容,不針對圖庫預覽浮水印或其他保護第三方付費內容的浮水印。關於範圍的詳細說明指向單獨的 legal-and-safety 文件,該文件未包含在 README 摘要中。

影像可先用 remove-ai-watermarks identify image.png 判斷,再以 visible image.png -o clean.png 輸出新檔。metadata 指令沒有 -o 時會原地覆蓋,這是不可忽略的操作差異。影片的 video metadata、video visible、video all 與 video invisible 各自改變不同範圍;video visible 會掃描相鄰幀的穩定標誌,並保留音訊串流但重編碼畫面。

在 remove-ai-watermarks 的實際核對中,第 1 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 1 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

可見標誌移除

可見標誌的移除遵循三步流程:在預期區域偵測已註冊的標誌,圍繞標誌構建遮罩,然後用 OpenCV、MI-GAN 或 LaMa 填充僅限遮罩的區域。README 列出了支援的可見標誌,包括 Google Gemini 和 Nano Banana 閃光標誌,以及豆包、即夢、通義千問、可靈、元寶、百度、LibLibAI 和 RunningHub 的文字標誌,還有一個經過校準的三星 Galaxy AI 標籤變體。可見移除命令預設為 `--mark auto`,會檢查所有已註冊標誌並移除所有匹配項。

隱形處理的代價比可見標誌修補高。qwen-zimage 和 sdxl-zimage 都要求 CUDA,且會重建整張影像;README 明確提醒臉部、文字、解析度、幀率與細節可能改變。重要輸出要比較原檔與 clean 檔的像素、容器資訊和提供者驗證結果,不能只因 metadata 已清空就判定所有來源訊號消失。

在 remove-ai-watermarks 的實際核對中,第 2 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 2 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

中繼資料與來源剝離

中繼資料剝離採用格式感知的方式。README 指出,JPEG 中繼資料移除會保留編碼後的影像掃描,而不是重新壓縮;MP4/MOV 中的原生 TC260 值會被清空而不改變盒子大小或媒體偏移;其他容器使用各自的中繼資料路徑。支援的中繼資料類型包括 C2PA、EXIF、XMP、IPTC、常見生成器參數、中國 TC260 AIGC 標籤以及多種廠商特定訊號。`metadata` 指令在沒有 `-o` 時會原地覆蓋來源檔案,影片中繼資料指令則寫入 `<source>_clean` 並保留原檔。

在 remove-ai-watermarks 的實際核對中,第 3 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 3 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

影片支援

影片相關指令涵蓋來源識別、可見標誌和中繼資料清理、目錄批次處理,以及針對特定廠商標誌的移除。README 列出了 Sora、Veo、Seedance、Dola、Hailuo 和 Kling 的可見標誌,並註明 Sora 覆蓋移動的 Sora 2 吉祥物和文字,Veo 覆蓋目前四角菱形和舊版 `Veo` 文字。影片可見移除會掃描完整序列,只接受在相鄰幀間穩定重複的標誌,然後複用與影像移除相同的 OpenCV、MI-GAN 或 LaMa 填充後端。音訊以串流複製方式保留,影片串流因像素改變而轉碼。預設的 `--mark auto` 會在一次解碼中按特定順序掃描所有提供者,並選擇第一個穩定匹配。

在 remove-ai-watermarks 的實際核對中,第 4 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 4 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

隱形浮水印移除

隱形浮水印移除透過擴散再生成整個影像來破壞像素和頻域浮水印。README 說明,預設的 `qwen-zimage` 設定檔使用 Qwen-Image-2512 Lightning 通道,配合 Canny ControlNet,然後對偵測到的臉部進行 SAM 遮罩的 Z-Image 修復;替代方案 `sdxl-zimage` 將全域階段換為 SDXL,但臉部階段相同。兩種設定檔都僅限 CUDA,沒有 CPU 或 MPS 後備。對於影片 SynthID,`video invisible` 指令使用認證的 `noise_std=0.15` 設定檔,該設定通過了雙載波校準和一段完整的公共八秒 Veo 檢查。由於 Google 未發布本地解碼器,文件建議對特別重要的檔案或在提供者變更後重新檢查。

在 remove-ai-watermarks 的實際核對中,第 5 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 5 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

安裝與指令概覽

安裝透過 uv 進行,預設套件只包含中繼資料功能,其他功能透過 extras 啟用。README 列出 `visible`、`video`、`video,diffusion`、`detect`、`qwen-zimage` 和 `all` 等 extras。快速開始範例包括:`uv tool install remove-ai-watermarks` 後執行 `remove-ai-watermarks identify image.png`;安裝 `[visible]` 後執行 `remove-ai-watermarks visible image.png -o clean.png`。對於影片,`video metadata`、`video all`、`video visible` 和 `video invisible` 分別對應不同場景。目錄處理使用 `batch` 和 `video batch` 指令。README 中的指令均為字面範例,未提供更詳細的參數說明。

在 remove-ai-watermarks 的實際核對中,第 6 節應保留這個專案名稱與對應的文件線索,並把觀察到的結果和 README 的宣告分開記錄。這樣才能知道問題出在設定、輸入、版本,還是工具本身沒有提供該能力。對 remove-ai-watermarks 而言,這項區分會影響後續的部署範圍、回滾方式與責任界線。核對時也要記下第 6 節提到的檔案、指令或設定鍵,讓下一次升級可以重現相同檢查。若輸出和文件不一致,應保留錯誤訊息、作業系統與執行版本,再針對 remove-ai-watermarks 的 issue 或 release 找對應變更。這種記錄方式讓功能判斷落在可觀察結果,而不是倉庫人氣。

編輯結論

remove-ai-watermarks 適合需要其 README 所列能力、並能接受目前文件邊界的使用者;不適合把未列出的相容性、效能或自主行為當成保證的團隊。先依專案專屬入口試跑,檢查具體輸出與版本,再決定是否納入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記