
画像や動画から、可視および不可視のAI透かしと来歴メタデータを除去します。SynthID、C2PA、EXIF、IPTC、XMP、および一般的な生成AIマークに対応したPythonライブラリおよびCLIです。
自分で生成した画像と動画から、AIの来歴マークを除去します:
動画サポートでは、来歴の識別、可視マーク+メタデータの完全クリーニング、ディレクトリ一括処理、Sora、Veo、Seedance、Dola、Hailuo、Klingの可視マーク除去、およびビデオSynthID除去のためのオラクル認定VAE再生成をカバーしています。
Pythonをインストールしたり、拡散モデルをローカルで実行したくない場合は、raiw.ccでオンラインでお試しください。
このプロジェクトは、あなたが所有するコンテンツに対する合法的な利用を目的としています。ストックエージェンシーのプレビューや、第三者の有料コンテンツを保護するその他の透かしを対象としていません。適用範囲、安全性、法的注意事項を参照してください。
より低レベルで特殊なエクストラには、pixels、heif、trustmark、migan、lama、diffusion があります。インストールガイドに、それぞれの正確な依存関係の構成とモデル要件が記載されています。
メタデータ中心のデフォルトCLIをインストール:
uv tool install remove-ai-watermarks
画像を検査:
remove-ai-watermarks identify image.png
可視透かしの除去には、ピクセル依存関係をインストール:
uv tool install --force "remove-ai-watermarks[visible]"
次に、既知の可視マークとAIメタデータを除去:
remove-ai-watermarks visible image.png -o clean.png
可視インペインティングや拡散を実行せずにメタデータを除去:
remove-ai-watermarks metadata image.png --remove -o clean.png
-o を指定しない場合、このコマンドはソースをその場で上書きします。
MP4、MOV、M4V、WebM、MKV、AVI、またはFLVファイルからAIメタデータを検査または除去:
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 を含む)が対象です。MKVとWebMの検査では、規範的な Segment.Tags.Tag.SimpleTag の配置を読み取ります。AVIは LIST/INFO/AIGC、FLVは script.onMetaData.AIGC を使用します。ISOBMFF以外のフォーマットは、除去時にストリームコピーでリマックスされます。
プロダクト指向のビデオパスを使用してファイルを識別またはクリーニング:
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 を指定すると、非可逆のオラクル認定ビデオSynthIDプロファイルを選択します。
同じ契約でディレクトリを処理:
remove-ai-watermarks video batch ./videos --mode all
対応している可視動画マークを除去:
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 を使用します。エンコーダーは、ffmpegの暗黙的なraw-BGRデフォルトに頼るのではなく、サポートされている8ビットソースのクロマサンプリング、カラータグ、MP4/MOVトラックのタイムスケールを保持します。可変フレーム間隔は、平均フレームレートに平坦化されるのではなく、タイムスタンプ付きのインメモリNUTブリッジを介して保持されます。ゼロ以外のソース開始タイムスタンプは、コピーされたオーディオオフセットとともに保持されます。デフォルトの --mark auto は、1回のデコードパスですべてのプロバイダーをスキャンし、下記に示す特異性順で最初の安定マッチを選択します。明示的なマークを渡すと、検出を1つのプロバイダーに制限できます。Soraは、動くSora 2マスコットとワードマークをカバーしています。Veoは、現在の4点ダイヤモンドとレガシー Veo テキストの両方をカバーしています。Seedanceは固定のボックス付き AI ラベル、Dolaは固定の Dola AI テキスト、Hailuoは複合 MINIMAX | hailuo AI ラベル、Klingはバージョンサフィックス付きの右下 KLING AI ラベルをカバーしています。完了したエンコードは原子的に公開されます。安定マークが見つからない場合、出力は書き込まれません。HDR、PQ/HLG、および8ビットを超える入力は、OpenCVの8ビットBGR境界で暗黙に縮小されるのではなく、エンコード前に拒否されます。
ビデオSynthIDを除去:
uv tool install --force "remove-ai-watermarks[video,diffusion]"
remove-ai-watermarks video invisible input.mp4 -o clean.mp4
このパスは、時間全体で共有される単一の潜在ノイズフィールドを使用してシーケンス全体を再生成し、完全なオーディオをコピーし、ソースメタデータを除去し、完了したエンコードを原子的に公開します。デフォルトの noise_std=0.15 プロファイルは、2キャリア校正と、完全な公開8秒Veoオラクルチェックの両方に合格しました。Googleはローカルデコーダーを公開していないため、特に重要なファイルやプロバイダー変更後には、新しいプロバイダーチェックが依然として有用ですが、これは製品の結果状態ではありません。
不可視透かしの除去には、qwen-zimage エクストラをインストールしてください。NVIDIA GPUが必要です:両方のプロファイルはCUDA専用であり、CPUまたはMPSのフォールバックはありません。
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png
ローカル検出器が不可視透かしを確認できないが、画像がAI生成によるものだと分かっている場合は、--force を追加:
remove-ai-watermarks invisible image.png -o clean.png --force
Homebrew、uv、オプション機能、開発セットアップについては、インストールガイドを参照してください。
| 処理前 | 処理後 |
|---|---|
![]() | ![]() |
qwen-zimage がデフォルトプロファイルです:Canny ControlNet下でのQwen-Image-2512 Lightningパスに続き、検出された顔をSAMマスクZ-Imageで修復します。代替の sdxl-zimage は、グローバルステージをSDXLに置き換え、同じ顔ステージを維持します。どちらもCUDA専用です。
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png --force
これらの正確な出力ファイルは、対応するプロバイダーの検証器でチェックされました。その結果はこれらのファイルにのみ適用され、すべてのシード、画像、または将来の透かしバージョンに適用されるわけではありません。
remove-ai-watermarks visible image.png -o clean.png
デフォルトの --mark auto は、登録されているすべての可視マークをチェックし、一致するすべてのマークを除去します。マークが目に見えているのに検出器が見逃す場合は、その領域を明示的に選択:
remove-ai-watermarks erase image.png \
--region 1640,1930,400,100 \
-o clean.png
--region は x,y,width,height を使用し、繰り返し指定できます。
visible エクストラは、学習済みバックエンドがインストールされていない場合、OpenCVインペインティングを使用します。より難しい背景には、学習済みバックエンドのエクストラが同じピクセル依存関係を自動的に含みます:
uv tool install --force "remove-ai-watermarks[migan]"
remove-ai-watermarks visible image.png -o clean.png --backend migan
uv tool install --force "remove-ai-watermarks[lama]"
remove-ai-watermarks visible image.png -o clean.png --backend lama
remove-ai-watermarks invisible image.png -o clean.png \
--cpu-offload --force
CPUオフロードは、モデルコンポーネントをCPUとGPUの間で移動させることでCUDAメモリの圧力を下げますが、速度を犠牲にします。
remove-ai-watermarks batch ./images --mode visible
remove-ai-watermarks batch ./images --mode all
可視マークのサポートには以下が含まれます:
メタデータと来歴の検査は、C2PA、EXIF、XMP、IPTC、一般的な生成パラメータ、中国TC260 AIGCラベル、およびいくつかのベンダー固有シグナルをカバーしています。オプションのデコーダーは、オープンなDWT-DCT透かしとAdobe TrustMarkのサポートを追加します。
重要なロケールと検出器の制限を含む正確なサポートマトリックスは、サポート対象シグナルに記載されています。
可視除去は3つのステップで行われます:
メタデータ除去は、フォーマットを認識した除去を使用します。JPEGメタデータ除去は、再圧縮する代わりにエンコード済みの画像スキャンを保持します。ネイティブMP4/MOV TC260値は、ボックスサイズやメディアオフセットを変更せずにブランクにされます。その他のサポート対象コンテナは、それぞれ対応するメタデータパスを使用します。
不可視除去は異なります。拡散パイプラインを通じて画像を再生成し、ピクセルおよび周波数領域の透かしを破壊します。これにより画像が変化するため、プロプライエタリな検証器がすべての出力を拒否することを保証できません。
完全な技術的境界については、サポート対象シグナルと既知の制限を参照してください。
可視除去APIには remove-ai-watermarks[visible] が必要です。
import remove_ai_watermarks as raiw
result, removed = raiw.remove_visible("watermarked.png", "clean.png")
print(removed)
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配列を受け入れます。パス入力の場合、来歴メタデータも読み取り、アルファを保持し、書き出された結果からAIメタデータを除去できます。
可視除去、完全な remove_all および remove_batch パイプライン、来歴検査、メタデータ除去、拡散の使用法については、Python APIガイドを参照してください。
別のComfyUI Remove AI Watermarksパッケージは、可視除去、検出、領域消去、不可視除去のためのノードを提供します。
Veo テキスト、Seedanceのボックス付き AI ラベル、固定のDola、Hailuo、Klingラベルを認識します。古いSora Turboのコーナースワールや、それらのプロバイダーの未登録レイアウトは認識しません。
古典的なOpenCVバックエンドは構造化された背景を汚すことがあります。復元品質が重要な場合はMI-GANまたはLaMaを使用してください。identify はどこでも引き続き実行できます。同梱の video invisible コマンドは、認定済み noise_std=0.15 プロファイルを使用します。付属の scripts/video_synthid_sweep.py リサーチハーネスは、マッチした再エンコード対照群とVAE再生成候補を構築し、検証器の判定を空白のままにします:
uv run --extra video --extra diffusion python scripts/video_synthid_sweep.py input.mp4 -o sweep/
出力が実際にどれだけのコストを要したかを評価するには、scripts/video_fidelity_probe.py を使用します:エンジン自身のPSNRはリサイズとエンコードの前に測定されるため、配信された画像を見るのはプローブだけです。
uv run --extra video python scripts/video_fidelity_probe.py input.mp4 input_clean.mp4
ネガティブ候補が除去の証拠として数えられるには、対照群が依然としてSynthID陽性である必要があります。2026-07-29の2クリップ校正では、マッチした両対照群がGemini組み込みのSynthID検証器で陽性でした。強い候補は両キャリアで陰性でしたが、弱い候補は片方のキャリアでのみ陰性でした。その後の敵対的フォローアップで、通常のGeminiにピクセル結果を再解釈するよう求めたところ、UNAVAILABLE が返されました。このフォローアップは検証器の再実行ではなく、組み込みの判定を無効にするものではありません。2026-07-31に公開された8秒Veoサンプル全体に対するチェックでは、0.10 は依然として検出され、0.15 は検出されなかったため、0.15 が認定デフォルトになりました。再現可能なハッシュと判定は data/evaluations/video-synthid-oracle.csv にあります。
ドキュメント索引から始めてください。
研究ノートと過去の実験は、ドキュメント索引に別途記載されています。これらは過去の決定を説明するものであり、現在の公開APIを定義するものではありません。
開発環境をインストールしてプロジェクトゲートを実行:
uv sync --frozen --extra dev
bash maintain.sh
ドキュメント化された不変条件を持つサブシステムを変更する前に、モジュール内部を参照してください。
Apache 2.0。Copyright 2025-2026 wiltodelta。
| 目的 | コマンド | GPU |
|---|
| 来歴シグナルと透かしを検出 | identify | 不要 |
| 既知の可視AIマークを除去 | visible | 不要 |
| 選択した領域を消去 | erase | 不要 |
| AIメタデータを除去 | metadata | 不要 |
| 対応動画の来歴を識別 | video identify | 不要 |
| 動画から可視マークとAIメタデータを除去 | video all | 不要 |
| 動画からAIメタデータを除去 | video metadata | 不要 |
| 動画から登録済みの可視AIマークを除去 | video visible | 不要 |
| 動画のディレクトリを一括処理 | video batch | モードによる |
| 認定済みVAEプロファイルでビデオSynthIDを除去 | video invisible | 推奨 |
| 画像を再生成して不可視透かしを破壊 | invisible | 必須(CUDA) |
| 可視・不可視・メタデータ除去を実行 | all | 推奨 |
| ディレクトリを一括処理 | batch | モードによる |
| ニーズ | インストール |
|---|
| メタデータの検査と除去 | remove-ai-watermarks |
| 可視マークの検出と除去 | 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] |
| すべてのプロダクション機能 | remove-ai-watermarks[all] |