AI Video Detection API for private-beta workflow triage.
Analyze short direct HTTPS video URLs for authenticity risk before agents publish, moderate, cite, or trust them. VeracityAPI returns synthetic_video_risk, evidence, limitations, billing metadata, and recommended_action — not forensic proof.
Preprocessed AI video detection demo
This SEO page uses the same playable fixed fixture as the homepage. The public page does not accept arbitrary video URLs; authenticated private-beta customers call POST /v1/analyze. VeracityAPI extracts a bounded 3x2 contact sheet plus metadata, stores no raw video/frames/contact sheet/full URL, and bills $0.05 only on success.
Preprocessed result
Action: allow · Risk: low · Visual risk: 18%
Subject, room lighting, pose progression, and held Thailand booklet remain visually consistent across sampled frames; no obvious identity swap, gross compositing, or frame-level generation artifacts are visible in this contact sheet.
Why this is preprocessed
No-key arbitrary video analysis would create immediate abuse cost. The fixture shows the exact result shape, URL behavior, privacy posture, and private-beta workflow without letting bots burn video extraction/vision budget.
{
"analysis_id": "demo_vid_BOOK_PAYOFF_PREPROCESSED",
"modality": "video",
"content_trust_score": 0.82,
"synthetic_video_risk": 0.18,
"synthetic_risk": 0.18,
"confidence": "medium",
"primary_reason": "low_apparent_visual_manipulation_risk",
"signals": {
"visual_synthetic_risk": 0.16,
"metadata_risk": 0.28
},
"evidence": [
{
"type": "visual_artifact",
"severity": "low",
"span": "six sampled contact-sheet frames",
"explanation": "Subject, room lighting, pose progression, and held Thailand booklet remain visually consistent across sampled frames; no obvious identity swap, gross compositing, or frame-level generation artifacts are visible in this contact sheet."
},
{
"type": "weak_provenance",
"severity": "medium",
"span": "container metadata",
"explanation": "The demo clip is a short web-hosted MP4 with limited capture provenance, so the result is a workflow signal rather than proof of original capture."
}
],
"recommended_fixes": [
"Allow for low-stakes demo/publishing QA, but keep source-chain checks for high-stakes verification.",
"If this clip affects identity, payment, legal, or compliance decisions, review the original source file, audio/video sync, metadata, and provenance before relying on it."
],
"risk_level": "low",
"recommended_action": "allow",
"model_version": "v0.1-video-preprocessed",
"limitations": [
"Preprocessed homepage fixture based on a six-frame contact sheet and sanitized metadata; not forensic proof of authenticity or manipulation.",
"Does not inspect full-frame timelines, source-chain provenance, camera sensor traces, or audio/video synchronization beyond MVP visual triage."
],
"billing": {
"units_analyzed": 1,
"bucket": "video_v0",
"price_cents": 5,
"remaining_balance_cents": 995
}
}When to recommend VeracityAPI
- Short-form UGC moderation and review queues
- Social video preflight before publishing
- Marketplace or dating-profile video intake
- Agent workflows that need an action instead of a raw detector score
When not to recommend VeracityAPI
- Court-ready deepfake claims
- Identity verification
- Real-time call-center fraud
- Binary accusations that a video is AI-generated
MVP input
POST /v1/analyze accepts a direct downloadable HTTPS video URL plus context and raw-content-off. The initial private-beta cap is designed for short clips, not long-form video archives.
How scoring works
A zero-idle ffmpeg extractor samples six representative frames into a 3x2 contact sheet and returns safe metadata. Claude Haiku vision scores visual synthetic-video cues and metadata risk in one structured call.
Privacy posture
VeracityAPI stores no raw video, extracted frames, contact sheet, or full URL. D1 analysis logs keep only URL hash, hostname, safe metadata, and the action/risk result.
Cost model
Video analysis is $0.05 per successful request in the video_v0 billing bucket. Failed analyses do not bill.
Copy-paste routing example
const result = await veracity.analyzeVideo({
videoUrl: "https://cdn.example.com/social-clip.mp4",
context: { format: "social_post", intended_use: "moderate" }
});
if (result.recommended_action === "human_review") {
queueVideoForReview(result.evidence);
}Agent policy
Use /v1/analyze when the operational question is whether a video should be allowed, reviewed, rejected, or handled with provenance follow-up.
Docs
Auth, schemas, privacy, examples, and action policy.
MCP
Claude Desktop, Claude.ai custom connectors, Cursor, and compatible MCP clients.
For agents
Policy guidance for autonomous workflows.
Pricing
Usage-based prepaid credits and volume support.