multipart/form-data. The response carries one
top-level detected verdict plus a per-technique breakdown. No authentication, no
credits. The upload is processed in memory and never retained.
Request
Send exactly one file part namedfile. The part must carry a filename in its
Content-Disposition header — a plain form field without one is not a file part.
JPEG/PNG/WebP/GIF and MP4/QuickTime are recognised by magic bytes, so a wrong or
generic part
Content-Type (for example application/octet-stream) does not break
detection for those formats. WebM has no magic-byte branch and is accepted only
when the part declares Content-Type: video/webm.Response
200 OK. An image or video that carries a valid, trusted Samsa C2PA manifest:
Response
result_pdf_url may be null. When it is present, follow it exactly as returned
rather than assembling the URL yourself — the returned URL and the
documented result endpoint serve the identical
signed PDF.The detected verdict
The verdict comes from C2PA manifest verification, which is authoritative. Watermark
techniques are corroboration: they can supply attribution when no manifest is present,
but they never override a manifest verdict.
Reading the techniques breakdown
techniques[] always starts with the single metadata entry (the authoritative C2PA
layer), followed by the watermark techniques applicable to the asset’s modality.
The metadata technique
C2PA manifest verification is live: it is served by the Samsa public API and by any
independent C2PA validator.
Watermark techniques
Hosted decode is live for both image techniques, and their confidence semantics
differ by design:
- TrustMark Q (
trustmark-q) covers the legacy corpus — images marked while TrustMark was the embed vendor — and stays available for that corpus permanently. Confidence describes the match:highis an exact payload match,mediuma match within the code’s error-correction radius, and a weak residual signal reportslow_confidence— never a false “no watermark”. - Meta PixelSeal (
pixelseal) is the current image watermark — newly generated Samsa images carry PixelSeal. Presence is decided by bit accuracy against the vendor payload at a fixed threshold; below the threshold the result isabsent. This lane deliberately has nolow_confidenceband.
not_checked, never a constructed
absent. For the algorithm IDs, pinned model artifact hashes, per-lane soft-binding
labels, and open-source decoders behind each technique, read
How detection works or
GET /v1/public/detect/info.
Errors
Errors return{"detail": "…"} — not the Samsa REST API
error envelope.

