One call. A four-class answer.
SyncLens is an API. Send a media file and get back which track was manipulated, where in the clip, and a calibrated confidence band, as JSON you can store and act on.
curl -s https://api.synclens.io/v1/jobs \
-H "Authorization: Bearer $SYNCLENS_KEY" \
-F "media=@interview.mp4"The scenario
You are building a product that takes user video. You need a synthetic-media signal as one input among several, feeding your own logic, not a dashboard a person has to check.
A tool that only produces a web report does not fit. You need the result in your pipeline.
The problem, for an integrator
A binary real-or-fake field is thin. It does not say whether the face or the voice was the problem, or which part of the clip, so you cannot tune your own thresholds around it.
You want the full structured result: the four class probabilities, per-segment scores, and the sync coherence, so your system decides what to do.
The four-class output
Every job returns a probability for each of the four classes, plus the dominant class and its confidence band. The four are real video with real audio, fake video with fake audio, fake video with real audio, and real video with fake audio.
Per-segment entries carry the same shape at roughly five-second resolution, each with a sync score, so you can act on a region instead of the whole file.
- Read first
- Fake video, real audio
- Also relevant
- Real video, fake audio, Fake video, fake audio, Real video, real audio
The response shape
The job result is one versioned JSON object. These are the fields you will read.
1. class and confidence. The dominant class as a string, plus a confidence object with a band and a probability.
2. probabilities. A number for each of the four classes. Use these to set your own thresholds.
3. segments. An array of roughly five-second windows, each with its own class and a sync score between zero and one.
4. model_version and input_sha256. The pinned model version and the hash of the file you sent. Store both alongside the result.
REST, polling or webhooks
Submit a job and poll it, or subscribe to a webhook on the Team plan and have the result pushed when it is ready.
Media goes straight to storage with a presigned upload. The API never receives the file bytes.
Read the API reference