Démarrage rapide
Cinq minutes entre l’inscription et votre première image marquée : une clé gratuite et une requête. Vous récupérez la même image avec un filigrane invisible et des Content Credentials signés et horodatés, les marquages que demandent l’AI Act européen et la Californie.
URL de base
Tous les endpoints se trouvent sous https://api.kennmarq.com, en HTTPS uniquement. Les requêtes et les erreurs sont décrites dans la référence de l’API.
1. Créer un compte
Inscrivez-vous avec votre adresse e-mail professionnelle et confirmez-la grâce au lien que nous vous envoyons. Votre organisation et un projet nommé Default sont créés automatiquement. Vous ne pouvez créer de clés qu’une fois votre adresse e-mail confirmée.
2. Créer une clé de test
Dans le tableau de bord, ouvrez Clés API et créez une clé dans le projet Default pour l’environnement Test, avec la portée mark. Copiez-la tout de suite : nous n’en conservons qu’une empreinte, elle ne s’affiche donc qu’une seule fois. Gardez-la sur votre serveur, à l’écart des navigateurs et des applications.
export KENNMARQ_API_KEY="sk_test_…"Les clés de test ont leur propre quota mensuel (100 marquages avec l’offre Free, autant qu’en production avec les offres payantes) et signent avec un certificat de test. Voir clés, portées et environnements.
3. Marquer une image
Envoyez un fichier PNG, JPEG ou WebP au format multipart/form-data, jusqu’à 4 Mo dans la requête ; un fichier plus lourd, jusqu’à 25 Mo, passe par un envoi :
curl https://api.kennmarq.com/v1/mark \
-H "Authorization: Bearer $KENNMARQ_API_KEY" \
-F file=@image.png \
-F source=created \
-F model="FLUX.1 schnell" \
-F app_name="Acme Studio" \
-D headers.txt \
-o image.marked.pngAjoutez -F provider="Acme Inc." et -F app_version="2.1" : le marquage porte alors les cinq éléments de la divulgation latente prévue par la loi californienne ; ajoutez -F markets=eu,us-ca pour obtenir un justificatif.
Les morceaux (MP3, WAV, M4A) s’envoient de la même façon. Une vidéo (MP4) est marquée sous forme de tâche : l’appel répond 202 avec son ID, et GET /v1/marks/{id} renvoie la vidéo marquée une fois la tâche terminée (vidéos).
Le corps de la réponse est le fichier marqué. headers.txt contient ce que vous voudrez conserver :
HTTP/2 200
content-type: image/png
content-disposition: attachment; filename="image.marked.png"
x-mark-id: mk_4Q8oT1n6mWc2fLr0aZ9eYb
x-watermark-id: 1a2b3c4d5e6f7081
x-marks-used: 1
x-marks-limit: 1000
x-request-id: req_7Hc2kQm0Zt1L
x-ratelimit-limit: 10
x-ratelimit-remaining: 9
x-ratelimit-reset: 17926632604. Vérifier les marquages
Tout lecteur C2PA, comme l’outil open source c2patool, affiche le manifeste signé : le type de source IA, le nom de votre modèle et de votre application, l’action de filigranage et l’horodatage.
c2patool image.marked.pngOu déposez-la sur notre vérificateur gratuit, qui lit les deux marquages dans votre navigateur et retrouve, grâce à son filigrane, les Content Credentials d’une copie dont les métadonnées ont été supprimées.
5. Passer en production
Créez une clé dans l’environnement Production et limitez-la à vos serveurs avec une liste d’IP autorisées. Les clés de production et de test sont décomptées sur des quotas distincts : vos tests n’entament donc jamais vos marquages de production. Suivez votre utilisation dans le tableau de bord, dans l’en-tête X-Marks-Used ou avec GET /v1/usage.
Pour aller plus loin
- Toutes les options de POST /v1/mark : format de sortie, IPTC, conservation des Content Credentials du fichier d’entrée.
- Erreurs et limites de débit.
- Notre serveur d’horodatage RFC 3161, pour signer en local.
- Les SDK JavaScript et Python : un seul appel, qui gère pour vous les envois et les tâches vidéo.