Structured output
Every detection includes text, exact timestamps, confidence, and normalized bounding boxes—not a flattened transcript.
SightAPI turns on-screen text into structured JSON with timestamps, confidence, and bounding boxes—so your team can search, moderate, index, and automate video.
{
"text": "ORDER #8492 CONFIRMED",
"confidence": 0.94,
"start_ms": 4250,
"end_ms": 5790,
"bounding_box": {
"x": 0.1875,
"y": 0.2222,
"width": 0.5156,
"height": 0.1667
}
}Normalized coordinates · source timing preserved
Built for real workflows
One focused API replaces a fragile stack of media decoding, OCR models, temporal tracking, retries, and output storage.
Every detection includes text, exact timestamps, confidence, and normalized bounding boxes—not a flattened transcript.
Idempotency keys prevent duplicate work. Job stages, retries, errors, and final charges remain traceable.
Decoding, change-aware frame selection, OCR inference, tracking, and rendering run without GPU operations on your team.
Transparent usage
Change-aware selection and perceptual frame hashing avoid unnecessary OCR work. Each completed job reports processing time and charged credits.
See transparent pricingThree-minute path
Create an API key, upload a video, and start an idempotent job.
# Create an upload target
ASSET=$(curl -s -X POST "$SIGHT_API_URL/api/v1/assets" \
-H "Authorization: Bearer $SIGHT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename":"sample.mp4","content_type":"video/mp4"}')
# Upload, then start an idempotent OCR job
curl -X PUT "$(echo "$ASSET" | jq -r .upload_url)" --upload-file sample.mp4
curl -X POST "$SIGHT_API_URL/api/v1/jobs" \
-H "Authorization: Bearer $SIGHT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input_asset_id":"asset_id","operation":"OCR"}'Evidence over claims
Our reproducible benchmark reports recognition accuracy, spatial quality, short-lived text recall, processing time, and cost.
Start with 1,000 credits