Skip to main content

Compliance Checks for Video

ZebraTruth runs structured compliance audits on AI-generated video ads. Upload a video, get back timestamped findings against FTC, EU UCPD, UK ASA, platform-specific rules (TikTok, YouTube, Meta), and rights clearance — without writing any client-side video processing code.

The video compliance endpoint

POST https://api.zebratruth.ai/v1/compliance/check-video3-step async flow: get an upload URL → upload your video → poll for results. No client-side preprocessing. No file size hassle (up to 200 MB). Returns timestamped findings citing the exact audio_NNN, frame_NNN, ocr_NNN, or signal_NNN evidence ID.Open the full guide →
Built for ad agencies + creators running automated pre-publish compliance gates on TikTok / YouTube / Meta ads. Per-second pricing — pay only for what you analyze.

Why Video Compliance is Different

Server-sideAsyncPer-frame analysis
Video✅ Full pipeline✅ Required✅ OCR + brand + signal per frame
Image✅ Multipart❌ SyncSingle image
Text✅ JSON❌ SyncN/A
Pay-per-second pricing — you only pay for what you analyze, with no client-side preprocessing required.

What ZebraTruth Detects in Video

Per-frame OCR + brand detection

Burned-in disclaimers, on-screen claims, brand logos, watermarks. Every frame analyzed and cited by stable ocr_NNN / frame_NNN evidence ID.

Audio transcript analysis

Spoken claims transcribed with second-precision timestamps. Citations link findings to specific audio_NNN segments.

Platform-specific rules

TikTok, YouTube, Instagram, Facebook, LinkedIn AI-disclosure + monetization rules. Returns timestamped violations.

Jurisdiction detection

FTC, EU UCPD, UK ASA, India ASCI, China Advertising Law — applied based on the markets you specify per video.

Restricted categories

Alcohol, tobacco, firearms, gambling, pharma — flagged with evidence linkage to the frames/segments that triggered them.

Deterministic scoring

Every video gets a 0-100 score + PUBLISH / HOLD / BLOCK decision based on severity + applicability + jurisdiction weighting.

Three-Step Async Flow

# Step 1 — get an upload URL
curl -X POST https://api.zebratruth.ai/v1/compliance/media/upload-url \
  -H "Authorization: Bearer $ZEBRATRUTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contentType": "video/mp4"}'

# Step 2 — upload your video to the returned uploadUrl

# Step 3 — submit for analysis (returns 202 with requestId)
curl -X POST https://api.zebratruth.ai/v1/compliance/check-video \
  -H "Authorization: Bearer $ZEBRATRUTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "<your-uuid>",
    "blobPath": "<from step 1>",
    "jurisdictions": ["us", "eu"],
    "platforms": ["tiktok", "youtube"],
    "mode": "fast"
  }'

# Step 4 — poll for results
curl https://api.zebratruth.ai/v1/compliance/check-video/<requestId> \
  -H "Authorization: Bearer $ZEBRATRUTH_API_KEY"

Full step-by-step guide

Detailed examples in curl, Node, Python. Error handling, webhook setup, billing semantics.Read the full guide →

Get Started

Quickstart (Video)

Run your first video compliance check in 2 minutes.Open Quickstart →

Video Compliance Concept

The async flow, the schema, evidence IDs.Read the concept page →

LLM Skill

Install the ZebraTruth skill into Claude Code, OpenClaw, or any LLM agent so your agent can run video compliance checks autonomously.See the LLM Skill overview →

API Reference

Full OpenAPI schema — every endpoint, request, response.Browse API Reference →

Other content types: ZebraTruth also runs compliance on single images (sync) and text/ad copy (sync). Most customers use the video endpoint — see Other Content Types for image + text references.