
remove-ai-watermarks v0.41.1
画像や動画から、可視および不可視のAI透かしと来歴メタデータを除去します。SynthID、C2PA、EXIF、IPTC、XMP、および一般的な生成AIマークに対応したPythonライブラリおよびCLIです。
AIウォーターマークの削除
自分で生成した画像や動画からAIの来歴マークを削除します:
- Google Geminiのスパークルウォーターマークやベンダーのテキストマークなど、既知の可視ラベル;
- ローカルフォーマットの直接的な破壊または拡散再生成による不可視のピクセルウォーターマーク;
- C2PA、EXIF、XMP、IPTC、および関連するAIメタデータ。
動画サポートは、来歴の識別、可視+メタデータの完全なクリーニング、ディレクトリのバッチ処理、可視のSora、Veo、Seedance、Doubao、Dola、Hailuo AI、Kling AIのマーク削除、および動画SynthID削除のためのオラクル認定VAE再生成をカバーしています。
raiw.cc はこのライブラリをホスト型サービスとして実行しており、GPU込みでインストール不要です。Standard出力で最大12 MPまでの可視マークとメタデータの削除はそこで無料です。12 MPを超える元の解像度および不可視ウォーターマークの削除は有料です。
これはAIの来歴シグナルに関する研究プロジェクトであり、自身が所有するコンテンツに対して合法的に使用するためのものです。現状のまま提供され、保証や責任は負いません。使用方法については各ユーザーの責任となります。ストックエージェンシーのプレビューや、第三者の有料コンテンツを保護するその他のウォーターマークを対象としたものではありません。中国を含む一部の法域では、AIラベルの削除や、それを行うツールの提供が制限されています。スコープ、安全性、および法的注意事項を参照してください。
実行したいことを選択する
| 目的 | コマンド | GPU |
|---|---|---|
| 来歴シグナルとウォーターマークを検出する | identify | 不要 |
| ピクセルから写真を分類する(オプトイン、来歴ではない) | classify | 不要 |
| 既知の可視AIマークを削除する | visible | 不要 |
| 選択した領域を消去する | erase | 不要 |
| AIメタデータを除去する | metadata | 不要 |
| サポートされている動画の来歴を識別する | video identify | 不要 |
| 動画から可視マークとAIメタデータを削除する | video all | 不要 |
| 動画からAIメタデータを除去する | video metadata | 不要 |
| 登録された可視AIマークを動画から削除する | video visible | 不要 |
| 動画のディレクトリを処理する | video batch | モードによる |
| キャリブレーション済みの動画ピクセルSynthID削除プロファイルを適用する | video invisible | 推奨 |
| 画像を再生成して不可視ウォーターマークを破壊する | invisible | 必須(CUDA) |
| 可視、不可視、およびメタデータの削除を実行する | all | 推奨 |
| ディレクトリを処理する | batch | モードによる |
Microsoft PaintおよびPhotos InvisMarkの宣言は自動的にピクセル再生成へルーティングされます。allコマンドは隠されたピクセルウォーターマークとそれにリンクされたC2PAマニフェストの両方を削除しますが、メタデータの除去のみではマニフェストだけが削除されます。専用のPython APIは、拡散を使わずに検証済みのローカルWatermarker.dllペイロードを検査および破壊できます。
インストールモード
| 必要なもの | インストール |
|---|---|
| メタデータの検査と除去 | remove-ai-watermarks |
| 写真のAI対カメラの分類 | remove-ai-watermarks[classify] |
| OpenAI/Google/不明なソースエクスポートの分類 | remove-ai-watermarks[source-classify] |
| 可視の検出と削除 | remove-ai-watermarks[visible] |
| 可視の動画処理 | remove-ai-watermarks[video] |
| 動画SynthID削除 | remove-ai-watermarks[video,diffusion] |
| Torch不要のDWT-DCT検出 | remove-ai-watermarks[detect] |
| ローカルPaint InvisMarkの直接破壊 | remove-ai-watermarks[pixels] |
| 不可視画像の削除(CUDAが必要) | remove-ai-watermarks[qwen-zimage] |
| アクティブなPythonで利用可能なすべての本番機能 | remove-ai-watermarks[all] |
より低レベルで専門的なextraには、pixels、heif、trustmark、migan、lama、diffusion、classify-onnx、source-classifyがあります。インストールガイドには、それらの正確な依存関係の構成、Python互換性、およびモデル要件が記載されています。
クイックスタート
メタデータに焦点を当てたデフォルトCLIをインストールします:
uv tool install remove-ai-watermarks
画像を検査する:
remove-ai-watermarks identify image.png
ピクセルから写真を分類するには(AI かカメラか、オプションのプロバイダー)、extra をインストールして classify を呼び出します。identify は決してそれを起動しません:
uv tool install --force "remove-ai-watermarks[classify]"
remove-ai-watermarks classify image.png
ガイド: 写真ピクセル分類。
メタデータ削除後に、軽量で棄権可能な OpenAI/Google/不明なソースエクスポートシグナルを得るには、別の Python API を使用してください。これは SynthID 検出器ではありません:
import remove_ai_watermarks as raiw
result = raiw.classify_source("image.png")
print(result.label, result.reason)
remove-ai-watermarks[source-classify] をインストールします。ガイド:
source-pipeline classification。
署名付きプロベナンスが SynthID でサポートされる経路であり、identify はそれを読み取ります。
このパッケージにはローカルの SynthID ピクセル検出器はありません。周期的格子エキスパートに関する研究は scripts/synthid_runtime/ と
synthid-detector-research.md にあります。
可視透かしの除去には、ピクセル依存関係をインストールしてください:
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 コマンドは、ビデオやオーディオのストリームをトランスコードしません。上記の image コマンドとは異なり、-o を省略した場合は <source>_clean を書き込み、元のファイルを保持します。MP4 および MOV の検査では、moov.udta.meta.keys/ilst 内のネイティブ TC260 AIGC タグが対象となり、メディアペイロードの後に配置された moov や、Doubao の iOS エクスポートが書き出す QuickTime 形式の meta バリアント(moov の直接の子としての裸の meta ボックス、およびキーなしの hdlr=mdir メタデータリスト)も含まれます。同じメタデータリスト構造内のキー付き workflow および prompt エントリも検出および削除され、ComfyUI のエクスポートも含まれます。
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回のデコードパスですべてのプロバイダーをスキャンし、以下に示す特異性の順序で最初の安定した一致を選択します。有効なGoogle AI-videoプロベナンスは、ダイヤモンドがSora領域内にネストされている場合、またはVeoがクリップ全体を通じて持続する一方でSoraがそうでない場合に、Sora/VeoのクロスマッチをVeo有利に解決します。
明示的なマークを渡すと、検出を1つのプロバイダーに制限できます。
Soraは、ワードマークの有無にかかわらず、動くSora 2マスコットをカバーします。マスコットのみの一致には、完全な両目の形状も必要です。Veoは、現在の4点ダイヤモンドとレガシーのVeoテキストの両方をカバーします。Seedanceは固定のボックス化されたAIラベルをカバーし、Dolaは固定のDola AIテキストをカバーし、Hailuo AIは複合のMINIMAX | hailuo AIラベルをカバーし、Kling AIはバージョンサフィックス付きの右下のKLING AIまたはKlingAIラベルをカバーします。完了したエンコードはアトミックに公開されます。安定したマークが見つからない場合、出力は書き込まれません。
HDR、PQ/HLG、および8ビットを超える入力は、OpenCVの8ビットBGR境界を通じて暗黙的に縮小されるのではなく、エンコード前に拒否されます。