CLI-Tool
wiltodelta/remove-ai-watermarks avatar
wiltodelta/remove-ai-watermarks

remove-ai-watermarks: Ein Werkzeug zur Entfernung sichtbarer KI-Wasserzeichen

KI-Wasserzeichenentferner. CLI- und Python-Bibliothek zum Entfernen sichtbarer und unsichtbarer KI-Wasserzeichen (Gemini/Nano Banana Sparkle, SynthID) und Herkunftsmetadaten (C2PA, EXIF, IPTC) aus Bildern.

5.557 Sterne516 ForksPythonApache-2.0

Auf einen Blick

Was ist das?
Eine Python-CLI und -Bibliothek, die sichtbare KI-Labels entfernt, unsichtbare Wasserzeichen durch Diffusionsregeneration stört und C2PA-, EXIF-, IPTC- und verwandte Metadaten entfernt.
Für wen ist es gedacht?
Das Projekt ist unter Apache 2.0 lizenziert; die Quellmaterialien enthalten keine Angaben zu Nutzerzahlen, Leistungsbenchmarks oder formellen Supportkanälen. Für eine Entscheidung sollten die im README genannten Einstiegspunkte, Abhängigkeiten und Grenzen dieses Projekts am konkreten Einsatzfall geprüft werden.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Was dieses Werkzeug behandelt

Das Repository bietet eine Kommandozeilenschnittstelle und eine Python-Bibliothek zum Entfernen von KI-Provenienzsignalen aus Bildern und Videos. Laut README werden drei Kategorien adressiert: bekannte sichtbare Labels wie der Gemini-Sparkle und Herstellertextmarken, unsichtbare Pixelwasserzeichen durch Diffusionsregeneration und Metadaten wie C2PA, EXIF, XMP, IPTC und verwandte KI-Felder. Die Dokumentation stellt klar, dass das Projekt für die rechtmäßige Verwendung an eigenen Inhalten gedacht ist und keine Vorschau-Wasserzeichen von Stock-Agenturen oder Wasserzeichen, die kostenpflichtige Inhalte Dritter schützen, anvisiert. Die README verweist für Details zum Anwendungsbereich auf eine separate legal-and-safety-Notiz, die nicht in den Repository-Metadaten enthalten ist.

Entfernung sichtbarer Marken

Die Entfernung sichtbarer Marken folgt einem dreistufigen Prozess: Erkennen einer registrierten Marke im erwarteten Bereich, Erstellen einer Maske um die Marke und Füllen nur des maskierten Bereichs mit OpenCV, MI-GAN oder LaMa. Die README listet unterstützte sichtbare Marken auf, darunter den Google Gemini- und Nano-Banana-Sparkle sowie Textlabels von Doubao, Jimeng, Qwen, Kling, Yuanbao, Baidu, LibLibAI und RunningHub, dazu eine kalibrierte Samsung-Galaxy-AI-Labelvariante. Der sichtbare Befehl verwendet standardmäßig `--mark auto`, das alle registrierten Marken prüft und alle Übereinstimmungen entfernt. Ein separater `erase`-Befehl akzeptiert explizite Regionen mit `x,y,width,height`-Koordinaten.

Metadaten- und Provenienzentfernung

Die Metadatenentfernung ist formatbewusst. Die README gibt an, dass die JPEG-Metadatenentfernung den codierten Bildscan erhält und nicht neu komprimiert; native TC260-Werte in MP4/MOV werden geleert, ohne Boxgrößen oder Medienoffsets zu ändern; andere unterstützte Container verwenden ihren entsprechenden Metadatenpfad. Unterstützte Metadatenarten umfassen C2PA, EXIF, XMP, IPTC, übliche Generatorparameter, chinesische TC260-AIGC-Labels und mehrere herstellerspezifische Signale. Der Befehl `metadata` überschreibt die Quelle in-place, wenn `-o` weggelassen wird, während der Video-Metadatenbefehl `<source>_clean` schreibt und das Original erhält. Für MP4 und MOV umfasst die Inspektion das native TC260-`AIGC`-Tag in `moov.udta.meta.keys/ilst`, auch wenn `moov` hinter der Mediennutzlast platziert ist.

Video-Unterstützung

Video-Befehle decken Provenienzidentifikation, sichtbare-plus-Metadaten-Bereinigung, Verzeichnisstapel und Entfernung sichtbarer Marken von Sora, Veo, Seedance, Dola, Hailuo und Kling ab. Die README erläutert, dass Sora das bewegte Sora-2-Maskottchen und Wortzeichen abdeckt, Veo sowohl den aktuellen Vierpunkt-Diamanten als auch den alten `Veo`-Text, Seedance das feste `AI`-Label in Box, Dola den festen `Dola AI`-Text, Hailuo das zusammengesetzte `MINIMAX | hailuo AI`-Label und Kling das `KLING AI`-Label unten rechts mit Versionssuffix. Der sichtbare Videopfad scannt die gesamte Sequenz, bevor Pixel geändert werden, akzeptiert nur eine Marke, die über benachbarte Frames an stabiler Position wiederholt wird, und verwendet dieselben OpenCV-, MI-GAN- oder LaMa-Fill-Backends wie bei der Bildentfernung. Audio wird ohne Neucodierung kopiert; der Videostream wird transcodiert, weil sich seine Pixel ändern. Ein bewachter optischer Fluss passt den vorherigen akzeptierten Fill standardmäßig bewegungsmäßig an; `--no-temporal-consistency` deaktiviert dies. Der Encoder erhält unterstützte 8-Bit-Chroma-Sampling, Farb-Tags und MP4/MOV-Track-Zeitskala. HDR-, PQ/HLG- und größer-als-8-Bit-Eingaben werden vor der Codierung abgelehnt.

Entfernung unsichtbarer Wasserzeichen

Die Entfernung unsichtbarer Wasserzeichen regeneriert das Bild durch eine Diffusionspipeline, um Pixel- und Frequenzbereich-Wasserzeichen zu stören. Die README beschreibt das Standardprofil `qwen-zimage` als einen Qwen-Image-2512-Lightning-Durchlauf unter Canny-ControlNet, gefolgt von SAM-maskierter Z-Image-Reparatur erkannter Gesichter. Das alternative `sdxl-zimage` tauscht die globale Stufe gegen SDXL und behält dieselbe Gesichtsstufe. Beide Profile sind nur CUDA; es gibt keinen CPU- oder MPS-Fallback. Für Video-SynthID verwendet der Befehl `video invisible` das zertifizierte Profil `noise_std=0.15`, das eine Zwei-Träger-Kalibrierung und einen vollständigen öffentlichen Acht-Sekunden-Veo-Orakelcheck bestand. Da Google keinen lokalen Decoder veröffentlicht, empfiehlt die Dokumentation, ungewöhnlich wichtige Dateien oder nach Provideränderungen erneut zu prüfen; es ist kein Produktergebnisstatus.

Installation und Befehlsübersicht

Die Installation erfolgt über uv. Das Standardpaket `remove-ai-watermarks` bietet Metadateninspektion und -entfernung. Extras aktivieren weitere Funktionen: `[visible]` für sichtbare Erkennung und Entfernung, `[video]` für sichtbare Videoverarbeitung, `[video,diffusion]` für Video-SynthID-Entfernung, `[detect]` für torch-freie DWT-DCT-Erkennung, `[qwen-zimage]` für unsichtbare Bildentfernung und `[all]` für alle Produktionsfunktionen. Die README zeigt Schnellstartbefehle wie `uv tool install remove-ai-watermarks` gefolgt von `remove-ai-watermarks identify image.png` und nach Installation von `[visible]` `remove-ai-watermarks visible image.png -o clean.png`. Für Video übernehmen `video metadata`, `video all`, `video visible` und `video invisible` die jeweiligen Aufgaben, und `batch` sowie `video batch` verarbeiten Verzeichnisse. Die gezeigten Befehle sind wörtliche Beispiele; die README enthält keine vollständige Parameterreferenz.

Einschränkungen und Verifikation

Die README listet mehrere Einschränkungen. Ein fehlendes lokales Signal bedeutet unbekannt, nicht sauber; proprietäre Pixelwasserzeichen können nach Metadatenentfernung bestehen bleiben. Sichtbare Entfernung rekonstruiert eine kleine Region; Ergebnisse hängen vom Hintergrund und gewählten Fill-Backend ab. Unsichtbare Entfernung ändert das gesamte Bild und kann Gesichter, Text oder feine Details verändern. Sichtbare Videoentfernung erkennt nicht den alten Sora-Turbo-Eckswirl oder nicht registrierte Layouts dieser Anbieter. Video-SynthID-Regeneration ändert Auflösung, Bildrate und Bilddetails, und kein öffentlicher lokaler Decoder kann eine beliebige Ausgabe zur Laufzeit zertifizieren. Das ausgelieferte Profil ist für die getesteten Fälle orakelzertifiziert, aber die Dokumentation empfiehlt, wichtige Ausgaben nach Provideränderungen erneut zu prüfen. Die README erwähnt auch ein Forschungswerkzeug `scripts/video_synthid_sweep.py` und eine Kalibrierung mit zwei Clips am 2026-07-29, bei der beide abgeglichenen Kontrollen im integrierten Verifier von Gemini positiv waren, und ein Follow-up am 2026-07-31, bei dem `0.10` noch erkannt und `0.15` nicht erkannt wurde, was `0.15` zum zertifizierten Standard machte. Diese Einordnung bleibt an den belegten Repository-Angaben: Der konkrete Einstieg erfolgt über die im README genannte Installation, die dort aufgeführten Dateien und die dokumentierten Konfigurationsschlüssel. Für den Betrieb sind Abhängigkeiten, Ausgabeformat, Rechte und Fehlerverhalten am eigenen Beispiel zu kontrollieren. Die Release-Seite zeigt den dokumentierten Entwicklungsstand, ersetzt aber keine Prüfung der passenden Version. Bei Änderungen sollte der Test mit einer kleinen Eingabe beginnen, damit Logs, erzeugte Dateien und Rückgabecodes eindeutig zugeordnet werden können. Erst wenn dieser Ablauf mit dem Projektnamen, dem angegebenen Befehl und der vorgesehenen Umgebung reproduzierbar ist, lässt sich der Umfang des Einsatzes sachlich festlegen.

Redaktionelles Fazit

Das Projekt ist unter Apache 2.0 lizenziert; die Quellmaterialien enthalten keine Angaben zu Nutzerzahlen, Leistungsbenchmarks oder formellen Supportkanälen. Für eine Entscheidung sollten die im README genannten Einstiegspunkte, Abhängigkeiten und Grenzen dieses Projekts am konkreten Einsatzfall geprüft werden.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen