You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**C2PA Manifests (HIGH confidence)** — Cryptographically signed provenance. If a C2PA manifest says "made by DALL-E," that's the most authoritative signal metadata can provide. Reads `digitalSourceType`and`claim_generator`. Works on images, videos, and audio (e.g. ElevenLabs).
**XMP/IPTC Metadata (MEDIUM confidence)** — Standard photo metadata: `DigitalSourceType`, `AISystemUsed`, `AIPromptInformation`, `CreatorTool`. Reliable but unsigned — can be faked or stripped.
**EXIF Heuristics (LOW confidence)** — If the `Software`tag matches a known AI tool AND typical camera fields (Make, Model, GPS, focal length) are absent, it's likely AI-generated. Also detects hash-like Artist tags.
90
+
**EXIF 启发式(LOW 置信度)**— 如果 `Software`标签匹配已知 AI 工具,且缺少典型的相机字段(Make、Model、GPS、焦距),那大概率是 AI 生成的。也能检测哈希式的 Artist 标签。
91
91
92
-
**PNG Text Chunks (LOW confidence)** — Scans`tEXt`and`iTXt`chunks for AI tool references in Software, Comment, Description, Source, Author, parameters, and prompt keywords.
92
+
**PNG 文本块(LOW 置信度)**— 扫描`tEXt`和`iTXt`块中 Software、Comment、Description、Source、Author、parameters、prompt 等关键字里的 AI 工具引用。
93
93
94
-
**Filename Patterns (LOW confidence)** — Matches filenames against known AI tool naming conventions (e.g. ElevenLabs timestamp format `ElevenLabs_YYYY-MM-DDTHH_MM_SS_*`, Suno/SoundRaw prefixes, Midjourney/DALL-E in filenames).
94
+
**文件名模式(LOW 置信度)**— 将文件名与已知 AI 工具的命名规则匹配(如 ElevenLabs 的时间戳格式 `ElevenLabs_YYYY-MM-DDTHH_MM_SS_*`、Suno/SoundRaw 前缀、文件名中的 Midjourney/DALL-E)。
95
95
96
-
**Audio Spectral Analysis (LOW confidence)** — FFT-based analysis of WAV audio: detects hard frequency cutoffs (energy concentrated below Nyquist) and abnormal spectral flatness typical of TTS/AI synthesis. Runs as a fallback or with `--deep`.
**Invisible Watermarks (LOW confidence)** — Pixel-level DWT-DCT analysis that detects channel noise asymmetry, cross-channel bit agreement, and wavelet energy patterns. For videos, automatically extracts keyframes via `ffmpeg`and analyzes them individually. Runs automatically as a fallback when no metadata signals are found, or on demand with `--deep`.
|`-q, --quiet`|Suppress output, set exit code only|
156
-
|`--deep`|Force invisible watermark and audio spectral analysis on all files|
157
-
|`--no-color`|Disable colored output|
152
+
|选项|说明|
153
+
|------|------|
154
+
|`--json`|以 JSON 格式输出|
155
+
|`-q, --quiet`|不输出内容,仅设置退出码|
156
+
|`--deep`|强制对所有文件进行隐形水印和音频频谱分析|
157
+
|`--no-color`|禁用彩色输出|
158
158
159
-
### Exit Codes
159
+
### 退出码
160
160
161
-
|Code|Meaning|
162
-
|------|---------|
163
-
|`0`| AI signals detected|
164
-
|`1`|No AI signals|
165
-
|`2`|Error|
161
+
|退出码|含义|
162
+
|--------|------|
163
+
|`0`|检测到 AI 信号|
164
+
|`1`|未检测到 AI 信号|
165
+
|`2`|错误|
166
166
167
167
---
168
168
169
-
## ⚠️ Limitations
169
+
## ⚠️ 局限性
170
170
171
-
-**Stripped metadata = invisible.**If someone removes the metadata, there's nothing to detect. Social platforms do this on upload — always analyze the original file.
172
-
-**Most AI images have no watermark.**Only ~19% of AI images carry detectable provenance markers (2025 data).
173
-
-**Proprietary watermarks are out of reach.** SynthID, Stable Signature, and VideoSeal require keys we don't have.
174
-
-**Pixel-level analysis has limits.**The built-in DWT-DCT watermark detector catches common patterns but is not a full forensic classifier. For deep statistical detection, use dedicated forensic tools.
0 commit comments