Skip to main content
Envoie une seule image ou vidéo en multipart/form-data. La réponse porte un verdict global detected ainsi qu’un détail par technique. Pas d’authentification, pas de crédits. Le fichier envoyé est traité en mémoire et jamais conservé.

Requête

Envoie exactement une partie fichier nommée file. La partie doit porter un filename dans son en-tête Content-Disposition — un simple champ de formulaire sans nom de fichier n’est pas une partie fichier.
JPEG/PNG/WebP/GIF et MP4/QuickTime sont reconnus par leurs magic bytes : un Content-Type de partie erroné ou générique (par exemple application/octet-stream) n’empêche donc pas la détection pour ces formats. WebM n’a pas de branche magic-byte et n’est accepté que si la partie déclare Content-Type: video/webm.

Réponse

200 OK. Une image ou une vidéo portant un manifeste C2PA Samsa valide et de confiance :
Response
result_pdf_url peut être null. Lorsqu’elle est présente, suis-la exactement telle qu’elle est renvoyée plutôt que de composer l’URL toi-même — elle et l’endpoint de résultat documenté servent le même PDF signé.

Le verdict detected

Le verdict provient de la vérification du manifeste C2PA, qui fait autorité. Les techniques de filigrane sont de la corroboration : elles peuvent fournir une attribution en l’absence de manifeste, mais ne remplacent jamais un verdict issu d’un manifeste.
unknown signifie que cette vérification n’a trouvé aucune preuve, et non que le fichier est authentique ou créé par un humain. Les métadonnées de provenance s’effacent facilement, et pour la vidéo le décodage hébergé des filigranes n’est pas encore disponible.

Comprendre chaque technique

techniques[] commence toujours par l’unique entrée metadata (la couche C2PA faisant autorité), suivie des techniques de filigrane applicables à la modalité du fichier.

La technique metadata

La vérification du manifeste C2PA est en service : elle est fournie par l’API publique Samsa et par tout validateur C2PA indépendant.

Les techniques de filigrane

Le décodage hébergé est en service pour les deux techniques d’image, avec une sémantique de confiance volontairement différente :
  • TrustMark Q (trustmark-q) couvre le corpus historique — les images marquées lorsque TrustMark était le fournisseur d’insertion — et reste disponible en permanence pour ce corpus. La confiance décrit la correspondance : high est une correspondance exacte de la charge utile, medium une correspondance dans le rayon de correction d’erreurs du code, et un signal résiduel faible est signalé en low_confidence — jamais un faux « aucun filigrane ».
  • Meta PixelSeal (pixelseal) est le filigrane d’image actuel — les nouvelles images générées par Samsa portent PixelSeal. La présence est décidée par la précision binaire par rapport à la charge utile du fournisseur à un seuil fixe ; en dessous du seuil, le résultat est absent. Cette voie n’a volontairement aucune bande low_confidence.
not_checked n’affirme pas qu’aucun filigrane n’est présent — c’est ce que signifie absent. Le décodage hébergé des filigranes vidéo n’est pas encore disponible ; il est prévu avant le 2 février 2027. D’ici là, l’API signale la technique video-seal comme not_checked, jamais comme un faux « aucun filigrane ». N’affiche jamais une technique not_checked comme un filigrane absent.
Dans chaque voie, un décodeur qui ne peut pas s’exécuter signale not_checked, jamais un absent construit. Pour les identifiants d’algorithme, les empreintes des artefacts de modèle épinglés, les libellés de soft-binding par voie de signature et les décodeurs open source derrière chaque technique, lis Comment fonctionne la détection ou GET /v1/public/detect/info.

Erreurs

Les erreurs renvoient {"detail": "…"} — et non l’ enveloppe d’erreur de l’API REST Samsa.
Traite 503 comme transitoire et réessaie après l’intervalle Retry-After. Un décodeur simplement non provisionné ne produit jamais de 503 — il se dégrade en not_checked dans une réponse 200 normale.