今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

wiltodelta/remove-ai-watermarks

AI生成画像の可視透かしと不可視ウォーターマーク、メタデータを除去するCLIツール

Gemini・ChatGPT・Doubaoなどで生成した画像をポートフォリオに載せる前に、CLIコマンド1つでC2PA署名・EXIF・XMPなどのメタデータと可視・透明ウォーターマークをまとめて外せます。Sora・Veo・Seedanceで量産した動画も、MP4やMOVなどのフォーマットごとにバッチ処理でき、Qwen・SDXL・Chroma1向けのオラクル検証済みSynthIDプロファイルがフレーム間の時間的一貫性を保ってくれるので、仕上がりの不自然さを心配せずに試せます。PyPI配布とテストスイートを備えた実運用プロジェクトなので、今日試した分だけ手元の作業が具体的に進みます。

01 / 概要
何をするものか一文で言うと
ひとことでAI生成画像の可視透かしと不可視ウォーターマーク、メタデータを除去するCLIツール

画像や動画に埋め込まれたAI生成の痕跡を除去するPythonライブラリとCLIです。Geminiのスパークルなど可視ウォーターマーク、SynthIDなど不可視ピクセルウォーターマーク、C2PA・EXIF・XMP・IPTCといった来歴メタデータを対象にしています。自分が生成したコンテンツに対する合法的な利用を前提としたツールです。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

CLIは目的別にコマンドが分かれており、identifyでメタデータとピクセル信号を検査、metadataでC2PA/EXIF等を除去、visibleでベンダー固有の可視マークをOpenCV/MI-GAN/LaMaで修復、invisibleではCUDA上のdiffusersでQwen-Zimageなどによる画像再生成を行い、ピクセルウォーターマークを崩します。動画系はPyAVでフレームを取り出しシステムのffmpegで再エンコードします。pyproject.tomlはextrasを細かく分けており、pixels/detect/diffusion/videoなど必要な依存だけを段階的に入れられる設計です。__init__.pyはPEP 562のlazy importでtorchなど重い依存を実際に使うまで読み込まない仕組みになっています。identifyは信号があってもクリーンだとは断定せず、C2PAの資産バインディング・署名・署名者信頼性を別々に評価して確信度を報告する点がREADMEとdocs/cli.mdに明記されています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    uv tool install remove-ai-watermarksでデフォルトCLIを入れ、remove-ai-watermarks identify image.pngを実行すると、まずメタデータのみの検査結果が出ます。

  2. STEP 02

    可視マーク除去を試すにはremove-ai-watermarks[visible]を追加インストールし、visibleコマンドで初めてOpenCVベースの修復処理が走ります。

  3. STEP 03

    classifyコマンドは別extraが必要で、identifyを実行しただけでは自動起動しない仕様なので、来歴判定と画素分類を混同しないことに気づきます。

  4. STEP 04

    invisibleコマンドを動かそうとするとCUDA環境が必須と表示され、CPUのみのマシンでは実行できないことが分かります。

  5. STEP 05

    video visibleやvideo invisibleを試すには追加でシステムのffmpegがPATHに必要で、入っていないとコマンドが失敗します。

  6. STEP 06

    data/fixtures配下のサンプル画像を使ってidentifyを試すと、Gemini・ChatGPT・Doubaoなど各社の来歴署名が実データとして確認できます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

手元では、来歴メタデータのレポート(JSON可)、可視マークを除去した画像・動画ファイル、そして条件が揃えばピクセルウォーターマークを崩した再生成画像が得られます。ただしSynthIDのローカル画素検出器は同梱されておらず、署名済み来歴の読み取りが唯一の対応経路である点は明記されています。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

invisible系のコア機能はCUDA必須で、CPUやMPS、macOS環境では動作経路が限られます。

02

video系の可視・不可視処理にはシステムのffmpegが別途必要で、pipインストールだけでは完結しません。

03

identifyは信号が見つからなくても「クリーン」と断定はせず、未検出=起源不明として扱う設計であることに留意が必要です。

04

classifyやsource-classifyは来歴判定ではなく画素分類であり、READMEでも明確に別物として区別されています。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

自分で生成した画像・動画から可視ラベルや来歴メタデータを外形的に除去したい開発者向けのツールとして妥当な設計です。extrasの分割やlazy import、C2PA検証の確信度説明など、READMEとコードの記述が細部まで一致しており、来歴に関する誠実な注意書き(SynthID検出器非搭載など)も明示されています。CUDA必須の不可視除去やffmpeg依存は実運用のハードルですが、これらの制約自体がドキュメントに正直に書かれているため、実際に動かさなくても構成と限界を判断できる情報量があります。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する