A thin client over one API — stamp at the source, verify anywhere, and fall back to detection when nothing's on record.
Call stamp() the moment you generate. It fingerprints the content and writes a signed proof to the public registry — under 50ms, in the background.
Call verify() on any content to match it against the registry and get the full provenance chain back — even after screenshots, cropping, and re-encoding.
No registry match? analyze() returns a calibrated AI-detection score — clearly an estimate, not proof. No models to download, no ML deps.
Generate a key in the dashboard, install the SDK, and you're three calls from a verifiable proof of origin.
1pip install 0byteIf you build an AI platform, call stamp() right after you generate. It signs a proof of origin and writes it to the registry.
1from zerobyte import Client
2
3client = Client(api_key="0b_key_...")
4
5# Stamp content the moment it's generated
6proof = client.stamp(
7 content=image_bytes,
8 content_type="image/png",
9 provider="acme",
10 model="imagen-3",
11)
12
13print(proof.id) # "0b_proof_abc123"
14print(proof.verify_url) # https://0byte.tech/proof/0b_proof_abc123Check whether any content is on record and recover its origin — resilient to screenshots, compression, and re-encoding.
1# Verify any content against the public registry
2result = client.verify(content=some_image_bytes)
3
4print(result.matched) # True / False
5print(result.confidence) # fingerprint similarity score
6print(result.proof) # full provenance chain if matchedWhen nothing matches the registry, analyze() returns a calibrated AI-detection score — an estimate, never proof.
1# No registry match? Fall back to AI detection
2result = client.analyze(content=image_bytes)
3
4print(result.verdict) # "ai_generated" | "likely_real" | "uncertain"
5print(result.ai_probability) # 0.97 — a calibrated estimate, not proofFull API reference and cURL examples live in the documentation.