- Lock OpenCV 5 and cap NumPy below 2.4 through uv constraint-dependencies so PaddleX 3.7 keeps resolving; Dependabot ignores mirror the cap. - OpenCV 5 draws Hershey putText glyphs differently, so the Dola and Kling video templates ship as committed OpenCV 4 renders with a recipe script, and the OpenArt alpha recipe now refuses any OpenCV but 4.x. - Break Sora/Veo cross-matches in favor of Veo under valid Google AI-video provenance, and require the full Sora mascot shape for mascot-only matches. - Let the Doubao engine detect marks tinted by saturated backgrounds. - Share C2PA claim-generator, credential-level and vendor-platform helpers, JPEG suffixes and the DCT basis instead of per-module copies. - Log model download failures, document the optional GITHUB_TOKEN, mark the photo and source classifier model cards archived, and refresh the lock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.1 KiB
license, library_name, pipeline_tag, tags
| license | library_name | pipeline_tag | tags | |||
|---|---|---|---|---|---|---|
| apache-2.0 | numpy | image-classification |
|
RAIW source-pipeline classifier (archived)
Archived / legacy as of 2026-09-20. Not recommended for new integrations. This model repository is retained for reproducibility and compatibility with existing users. Published weights and historical revisions remain available. The documentation and measurements below describe the archived model, not a current recommendation. No replacement model is linked at this time.
This is a compact, abstaining pixel-forensics classifier for three labels:
openai, google, and unknown. It is intended for original-export-looking
images whose metadata may have been removed without changing the pixels.
This model is not a SynthID detector. It does not decode or verify a
watermark payload. Its labels describe complete generation and export
pipelines, so renderer, geometry, encoding, post-processing, and watermark
state may be confounded. unknown does not mean that SynthID is absent, and a
provider label does not prove that SynthID is present.
Model
- Input: a 124-dimensional residual/spectral forensic feature vector plus a 768-dimensional phase-free spectral vector.
- Head: 892 -> 128 -> 64 -> 3 MLP with GELU activations.
- Output:
openai,google, or abstain asunknownusing independent provider margins. - Artifact:
source-pipeline-mlp.npz - SHA-256:
6430b0738869ff07b6845b7c6149c2a83bc3f3785878082886c241c6f7ca0c4a
The artifact contains only learned parameters, normalization constants, labels, and thresholds. It does not contain training images, paths, image hashes, embeddings, or a training catalog.
Evaluation
The operating point was selected on an internal calibration split. The locked
internal test and the public bigdatamark/synthid-research dataset were not
used for architecture, checkpoint, or threshold selection.
| Evaluation | Class | Recall | Precision |
|---|---|---|---|
| Locked internal test (5,369 images) | OpenAI | 60.4% | 84.9% |
| Locked internal test (5,369 images) | 57.6% | 87.9% | |
| Locked internal test (5,369 images) | Unknown | 98.6% | 93.7% |
| Public external originals (900 images) | OpenAI | 68.7% | 100.0% |
| Public external originals (900 images) | 81.3% | 98.8% | |
| Public external originals (900 images) | Unknown/Flux | 99.0% | 66.4% |
On the public external set, a 95% resize reduced Google recall to 1.0%, and a JPEG quality-75 round trip caused the model to abstain on every image. These are expected abstentions, not evidence that a watermark was removed.
Intended use
Use this model as one probabilistic signal in a broader forensic report or to suggest an appropriate processing path. Do not use it to claim watermark presence, authorship, policy compliance, fraud, or provenance. Applications should expose the abstention and the model's narrow source-pipeline claim.
Feature extraction and inference are versioned in the
remove-ai-watermarks Python project rather than in this model repository.
Use its explicit classify_source API; identify does not run this model.