Developers

One contract.
Four media lanes.

Authenticated warning signals, asynchronous jobs and cache-first repeat checks.

Read API docs

Start local.
Integrate deliberately.

The intended production domain is documented but does not currently resolve. Use the local contract and evaluation access while the production gates remain closed.

Image request
curl http://127.0.0.1:8799/v1/assets/check \
  -H "Authorization: Bearer <API_KEY>" \
  -F "file=@sample.jpg" \
  -F "sync=true"

Route directory

View full examples →
POST /v1/assets/checkImage JSON or multipartPOST /v1/videos/check-framesSampled video aggregatePOST /v1/text/checkExperimental text signalPOST /v1/audio/checkExperimental PCM WAV signalGET /v1/jobs/{job_id}Async job polling/v1/reviews/*Human review lifecycle

Bearer auth

Tenant-scoped, revocable API keys. Never place a key in frontend JavaScript or a URL.

Sync and async

Use synchronous checks for small requests. Queue fresh image inference when response time can vary.

Cache first

Exact hashes, perceptual hashes and video footprints make repeat checks faster and cheaper.

100 units to build the first integration.

The Free plan includes one key and no card requirement. Image and text cost 1 unit. Audio costs 4. Video costs 1 per submitted frame.

Compare API plans