Developer workflow preview
AI detection API
API access for AI watermark, provenance, and text-risk signal reports in editorial and CMS workflows.
Run a signal check
No detector model loads until you press Check.
Current support
The MVP exposes text checks, bearer-key auth, saved reports, and local bulk job previews using one normalized signal format.
What this checks
- The preview endpoint is `POST /api/v1/check` with `inputKind`, `text`, and optional claimed provider/model fields.
- Bearer-key requests exercise the paid/API path and bypass anonymous preview quota.
- Bulk workflow previews are available through `POST /api/bulk/jobs` and job history exports.
- Client-side-only privacy claims do not apply to API submissions.
What this does not prove
- API checks require server-side retention and abuse controls.
- Some detector adapters may be unavailable for API until evaluated.
- Usage must avoid unsupported accuracy claims.
FAQ
- Can this prove whether content was written by AI?
No. AI Detect reports signals such as provenance metadata, watermark support status, and statistical text risk. It does not claim legal or authorship proof.
- Does text leave my browser during a local check?
Browser-default checks run local text features and provenance checks after you press Check. Server enhanced checks are separate and will be labelled before use.
- Why can a result be unknown?
Many providers do not expose public watermark detectors, and metadata can be absent or stripped. Unknown is a valid result when no reliable public signal exists.
Provider registry
Current watermark support
| Provider | Text watermark | Detection | File provenance | Tamper risk | Updated | Sources |
|---|---|---|---|---|---|---|
| Anthropic / Claudeanthropic, claude, claude-sonnet, claude-opus | plannedSynthID-Text-style statistical watermark | plannedAnthropic has described Claude text watermarking and says a detection API is planned, but no public Claude verification adapter is connected yet. | C2PAsupported_when_present | weak against rewriteClaude text watermarking is described as a statistical wording signal. Substantial rewriting can weaken it; C2PA file credentials are a separate metadata/provenance layer that can be stripped or lost. | 2026-08-17 | |
| Google / Geminigoogle, gemini, synthid | researchSynthID Text | availableSynthID Text is documented for compatible generation pipelines, but it is not a universal detector for arbitrary pasted text. | n/a | weak against rewriteSynthID-class text signals are statistical and should be treated as probabilistic. Media and file provenance can involve separate metadata or pixel-domain marks with different removal risks. | 2026-08-12 |
API preview
POST /api/v1/check
The MVP API accepts text checks, stores a saved report, and returns the same normalized signal record used by the web checker.
Single check request
curl -X POST https://your-domain.example/api/v1/check \
-H "Content-Type: application/json" \
-H "Authorization: Bearer aid_sk_..." \
-d '{
"inputKind": "text",
"text": "Paste the content to review.",
"claimedProvider": "openai",
"claimedModel": "gpt"
}'Single check response
{
"ok": true,
"report": {
"requestId": "v1_...",
"overallSignal": "medium",
"watermarkSignal": "unsupported",
"provenanceSignal": "unsupported",
"aiTextSignal": "medium",
"limitations": []
},
"reportUrl": "/reports/v1_...",
"apiReportUrl": "/api/reports/v1_...",
"apiKey": {
"id": "key_...",
"label": "CMS integration",
"keyPreview": "...abc123"
}
}Bulk job request
curl -X POST https://your-domain.example/api/bulk/jobs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer aid_sk_..." \
-d '{
"items": [
{
"itemId": "cms-001",
"text": "First article excerpt to review.",
"claimedProvider": "openai",
"claimedModel": "gpt"
},
{
"itemId": "cms-002",
"text": "Second article excerpt to review."
}
]
}'Bulk job response
{
"ok": true,
"job": {
"jobId": "bulkjob_...",
"status": "completed",
"accepted": 2,
"processed": 2,
"apiKey": {
"id": "key_...",
"label": "CMS integration",
"keyPreview": "...abc123"
},
"rows": [
{
"itemId": "cms-001",
"ok": true,
"reportUrl": "/reports/bulk_...",
"overallSignal": "medium"
}
]
},
"jobUrl": "/api/bulk/jobs/bulkjob_..."
}Workflow upgrade
Need repeatable reviews?
Move from one-off checks to saved reports, batch review, and API-ready signal records when the workflow needs it.