C2PA Content Credentials Checker - Is This Image AI-Labeled?
Pricing
$2.00 / 1,000 asset checkeds
C2PA Content Credentials Checker - Is This Image AI-Labeled?
Check images and videos in bulk for C2PA Content Credentials and IPTC AI labels: AI-generated flag, issuer, edit history and signature validity. Offline verification, no API key. Built for EU AI Act labelling checks. No credentials is not proof of human-made.
Pricing
$2.00 / 1,000 asset checkeds
Rating
0.0
(0)
Developer
mohamed alaya
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Give it image or video URLs. It reads the C2PA Content Credentials and IPTC/XMP AI labels inside each file and tells you whether it is marked as AI-generated, who signed it, what edits are recorded and whether the signature holds up. Built for publishers, ad networks, marketplaces and trust and safety teams who need to check AI labels in bulk (the EU AI Act's Article 50 labelling duty applies from August 2026). The Store already has tools that strip these labels; this one reads and verifies them.
Verification runs offline with the open-source C2PA library, so there is no API key and nothing is sent to a third party except the download of the file itself.
Input examples
1. A few URLs
{ "urls": ["https://example.com/photo1.jpg", "https://example.com/clip.mp4"] }
2. Images from another scraper's dataset (pick the dataset in the form, or pass its id)
{ "datasetId": "YOUR_DATASET_ID", "datasetField": "displayUrl", "onlyAiLabeled": true }
3. Everything, without the trust-list check, no edit history
{ "urls": ["https://example.com/a.png"], "checkTrust": false, "includeEditHistory": false }
Run with no input to see a demo on bundled sample files (an AI image with a C2PA manifest, an image with only an IPTC AI label, an unlabeled image) plus one public C2PA test image.
Input guide
| Field | What it does |
|---|---|
urls | Direct links to JPEG, PNG, WebP, AVIF, HEIC, TIFF, GIF, MP4, MOV, PDF, WAV, MP3 and other files C2PA supports. |
datasetId, datasetField | Read media URLs from an existing dataset. Leave the field empty to auto-detect image and video URLs. |
checkTrust | Check the signer against the official C2PA trust list (default on). |
includeEditHistory | Include recorded actions (created, edited, filtered...) and the software behind them. |
onlyAiLabeled | Output only files that carry an AI-generated marking. Other files are not charged. |
maxFileMb | Skip files bigger than this (default 25 MB). Whole files are downloaded because manifests can sit at the end of a video. |
Output
| Field | Meaning |
|---|---|
status | AI_LABELED, CREDENTIALS_NO_AI_MARK, INVALID_CREDENTIALS, NO_CREDENTIALS_AI_HINTS or NO_CREDENTIALS |
aiLabeled, aiSourceClass | True when a C2PA action or IPTC/XMP DigitalSourceType says trainedAlgorithmicMedia or compositeWithTrainedAlgorithmicMedia |
labelSources | Exactly which marking was found, for example C2PA c2pa.created = trainedAlgorithmicMedia |
hasC2pa, c2paValidationState | Whether a manifest exists and its state: Valid, Trusted or Invalid |
signatureValid, issuerTrusted | Cryptographic validity, and whether the signer is on the C2PA trust list |
issuer, signerName, signedAt, claimGenerator | Who signed it, when, and with which tool |
editHistory | Recorded actions with software agent and time |
metadataHints | Weak hints such as a generator named in CreatorTool or Stable Diffusion parameters in a PNG |
note | One-sentence plain-English reading of the result |
Sample row:
{"type": "asset", "url": "https://example.com/render.jpg", "mimeType": "image/jpeg","status": "AI_LABELED", "aiLabeled": true, "aiSourceClass": "ai_generated","labelSources": ["C2PA c2pa.created = trainedAlgorithmicMedia"],"hasC2pa": true, "c2paValidationState": "Trusted", "signatureValid": true, "issuerTrusted": true,"issuer": "Example Imaging CA", "claimGenerator": "Example Image Generator 2.1","editHistory": [{ "action": "c2pa.created", "digitalSourceType": "trainedAlgorithmicMedia", "softwareAgent": null, "when": null }]}
Use it with
- Instagram / TikTok / Facebook scrapers: run the scraper, then point
datasetIdhere and setdatasetFieldto the image or video URL field. Note that social networks strip metadata on upload, so check the original files where you can. - Ad and marketplace review queues: run on creative URLs before approval and route
AI_LABELEDandINVALID_CREDENTIALSrows to a human. - Fake Reference Checker / AI Answer Link Checker: companion Actors for checking AI-written text.
FAQ
Does NO_CREDENTIALS mean a human made it? No. Credentials are optional and most platforms remove them when they re-encode a file. It only means this file carries none.
Does it detect AI images without labels? No. It reads declared labels; it is not a pixel-level AI detector and it does not read invisible watermarks such as SynthID.
What does "issuerTrusted" use? The official C2PA trust list (bundled, refreshed from the C2PA conformance repository at the start of each run). Test and self-signed certificates show as valid signatures from an untrusted issuer.
Is the file stored? No. It is downloaded into memory, inspected and discarded.
Honest limits
- Only embedded manifests and IPTC/XMP markings are read. Remote (cloud-hosted) manifests are followed only when the library can fetch them.
- URLs must point straight at the file; web pages are not scraped for images. Some CDNs block data-centre IPs and come back as error rows.
- The EU AI Act wording is informational; this Actor is not a compliance certificate.
Price
Pay per event: $0.002 per file checked (asset-checked). 500 images cost $1.00. Files that fail to download or cannot be read are free.
