
remove-ai-watermarks v0.27.0
画像や動画から、可視および不可視の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を超える元の解像度および不可視ウォーターマークの除去は有料です。
このプロジェクトは、あなたが所有するコンテンツに対する合法的な使用を目的としています。ストックエージェンシーのプレビューや、第三者の有料コンテンツを保護するその他のウォーターマークを対象としていません。 スコープ、安全性、および法的注意事項を参照してください。
実行したいことを選択する
| 目的 | コマンド | 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をインストールします:```bash uv tool install remove-ai-watermarks
画像を検査する:```bash
remove-ai-watermarks identify image.png
ピクセルから写真を分類するには(AI かカメラか、オプションのプロバイダー)、extra をインストールして classify を呼び出します。identify がそれを起動することはありません:```bash
uv tool install --force "remove-ai-watermarks[classify]"
remove-ai-watermarks classify image.png
ガイド: [写真ピクセル分類](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/photo-classify.md)。
メタデータ削除後に、軽量で判定を保留する OpenAI/Google/不明なソースエクスポートシグナルを得るには、別の Python API を使用してください。これは SynthID 検出器ではありません:```python
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 にあります。
可視透かしの除去には、ピクセル依存関係をインストールしてください:```bash uv tool install --force "remove-ai-watermarks[visible]"
次に、既知の可視マークとAIメタデータを削除します:```bash
remove-ai-watermarks visible image.png -o clean.png
メタデータを、目に見えるインペインティングやディフュージョンを実行せずに除去する:```bash remove-ai-watermarks metadata image.png --remove -o clean.png
`-o` を指定しない場合、このコマンドはソースをその場で上書きします。
MP4、MOV、M4V、WebM、MKV、AVI、または FLV ファイルから AI メタデータを検査または削除します:```bash
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 形式は、削除のためにストリームコピーでリマックスされます。
製品指向のビデオパスを使用して、ファイルを識別またはクリーンアップします:```bash 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 プロファイルを選択します。
同じ契約でディレクトリを処理します:```bash
remove-ai-watermarks video batch ./videos --mode all
サポートされている可視動画マークを削除します:```bash 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 AIは複合の`MINIMAX | hailuo AI`ラベルをカバーし、Kling AIはバージョンサフィックス付きの右下の`KLING AI`または`KlingAI`ラベルをカバーします。完了したエンコードはアトミックに公開されます。安定したマークが見つからない場合、出力は書き込まれません。
HDR、PQ/HLG、および8ビットを超える入力は、OpenCVの8ビットBGR境界を通じて暗黙的に縮小されるのではなく、エンコード前に拒否されます。