SigLIP2 Sora AI detection trained models
This repository is the immutable model release used by
synthetic-classifier-inference.
It contains the current production set only: fourteen SigLIP2 classifier
checkpoints and the five auxiliary detector variants used alongside them.
The Sora corpus is published as
abrar71/sora-explore-dataset.
The companion dataset repository and acquisition documentation are available
at
abrar71/siglip2-sora-ai-detection-dataset.
Included detectors
| Family | Published checkpoints |
|---|---|
| SigLIP2 Large | best validation accuracy (epoch 4), epoch 500 |
| SigLIP2 Large Sora | best validation accuracy (epoch 2), epoch 500 |
| SigLIP2 Large Midjourney | best validation accuracy (epoch 3), epoch 500 |
| SigLIP2 Normal Sora Midjourney | best validation accuracy (epoch 7), epoch 500 |
| SigLIP2 Normal Sora | best validation accuracy (epoch 7), epoch 500 |
| SigLIP2 Normal Midjourney | best validation accuracy (epoch 7), epoch 500 |
| SigLIP2 Large Sora Midjourney | best validation accuracy (epoch 2), epoch 500 |
| AIDE | GenImage, ProGAN, SD 1.4 |
| SPAI | SPAI |
| ClipBased | clipdet_latent10k_plus |
The SigLIP2 heads use the pinned
google/siglip2-so400m-patch14-384
encoder. ClipBased uses the pinned
laion/CLIP-ViT-L-14-CommonPool.XL-s13B-b90K
backbone. Both pinned backbone files are included so deployments can start
offline and reproduce the production runtime exactly.
AIDE is stored as one losslessly shared base plus three variant files. This avoids publishing three duplicate full checkpoints; the inference runtime reconstructs each exact state dictionary in memory.
Integrity and layout
ARTIFACTS.json is the machine-readable release manifest. It records the
remote path, inference model-store path, byte size, and SHA-256 digest of all
25 published assets:
- 23 production runtime assets, totaling 11,278,651,313 bytes;
- two small golden-test fixtures, totaling 524,510 bytes.
The complete release is 11,279,175,823 bytes (approximately 10.50 GiB), excluding this model card and legal documents. Asset paths are deliberately content-addressed and mirror the inference catalog.
Download a release at an immutable Hub commit:
from huggingface_hub import snapshot_download
release_dir = snapshot_download(
repo_id="abrar71/siglip2-sora-ai-detection-trained-models",
revision="<immutable-commit-sha>",
)
Verify every downloaded file before use:
import hashlib
import json
from pathlib import Path
root = Path(release_dir)
artifacts = json.loads((root / "ARTIFACTS.json").read_text())
for artifact in artifacts["assets"]:
path = root / artifact["remote_path"]
assert path.stat().st_size == artifact["size"]
assert hashlib.sha256(path.read_bytes()).hexdigest() == artifact["sha256"]
For normal inference installation, use the downloader supplied by the inference repository. It maps each immutable Hub object to its required local model-store path and performs the same size and SHA-256 validation.
Intended use and limitations
These detectors estimate whether an input image is synthetic. Their outputs are probabilistic signals, not proof of authorship or provenance. Performance can vary with generators, editing pipelines, compression, resizing, capture conditions, and image domains absent from training. Do not use a score as the sole basis for high-impact decisions about a person.
The two files below fixtures/v1/ are test inputs, not trained models. They
exist only to verify consistent end-to-end inference.
Licenses
This is a mixed-license aggregate and is therefore labeled license: other.
In particular, the SPAI checkpoint carries an inherited MFM S-Lab License 1.0
noncommercial restriction. Review NOTICE.md and every file in
LICENSES/ before redistribution or use.