mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-10-20 07:57:21 +02:00
video metadata --remove now blanks app-export JSON in keyed and keyless metadata items (Dreamina writes it twice), which it previously left in place while exiting 1. Kling writes an H.264 user_data_unregistered SEI message (a fixed UUID plus "kling-ai") into the first video sample. get_ai_metadata reports it as kling_sei, identify_video names Kling from it when no TC260 label does, and the streaming stripper blanks every copy inside mdat during its existing copy pass. Lengths stay, the SEI stays well-formed, and ffmpeg framemd5 hashes of every frame match before and after on both tracked Kling fixtures. Across 255 local files only the seven Kling videos changed verdict. invisible now exits 1 on an undecodable source instead of reporting the no-signal code for a file it never read. Docs: a per-command "what each path leaves behind" table, the October literature sweep, Suno's announced audio watermark, Anthropic's SynthID-Text-based Claude watermark, and an independent TrustMark false-positive benchmark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
| 1 | key | provider | watermark_type | path | status | verification | license |
|---|---|---|---|---|---|---|---|
| 2 | sora | OpenAI Sora | visible moving mascot and wordmark | data/fixtures/visible/sora/provider-original.mp4 | available | Apache-2.0 upstream original; detected by Sora engine on 300/300 frames; C2PA claim names Sora and OpenAI/Truepic, with valid integrity and signature but an expired untrusted signer certificate | Apache-2.0 |
| 3 | veo | Google Veo | visible fixed text | data/fixtures/visible/veo/provider-original.mp4 | available | authenticated Google Flow Veo 3.1 Fast original; detected by Veo engine on 192/192 frames; valid C2PA and provider-confirmed SynthID | repository |
| 4 | seedance | ByteDance Seedance | visible boxed AI label | data/fixtures/visible/seedance/example.mp4 | partial | synthetic detector fixture available; OpenRouter Seedance 2.0 Mini with watermark=true produced BytePlus C2PA but no visible boxed AI label; direct consumer original still needed | repository |
| 5 | doubao | ByteDance Doubao | visible fixed text | data/fixtures/visible/doubao/example.mp4 | partial | synthetic detector fixture available; a real public carrier is retained locally but is not publication-cleared | repository |
| 6 | dola | ByteDance Dola | visible fixed text | data/fixtures/visible/dola/example.mp4 | partial | synthetic detector fixture available; no redistributable provider original found | repository |
| 7 | hailuo | MiniMax Hailuo AI | visible composite label | data/fixtures/visible/hailuo/provider-original.mp4 | available | authenticated Hailuo AI MiniMax H3 original downloaded with With Watermark selected; detected by Hailuo engine on 124/124 frames; TC260 AIGC label names MiniMax | repository |
| 8 | kling | Kuaishou Kling AI | visible fixed logo and wordmark | data/fixtures/visible/kling/provider-original.mp4 | available | authenticated Kling AI VIDEO 3.0 original; detected by Kling engine on 121/121 frames; no container provenance metadata, but the Kling H.264 SEI tag (kling_sei) is readable | Kling AI terms; noncommercial fixture |