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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support