Skip to content
Visork
Request pilot access

One endpoint between upload and decision.

Drop the call inside your upload pipeline. Get a verdict back — engineered for sub-200 ms. Keep the rest of your moderation logic in your own stack.

REST today · Webhooks, batch, SDKs on the roadmap
1 endpoint
REST in, REST out — JSON both ways
<200ms
End-to-end response target, including inference
3 verdicts
Block · review · allow — the action stays yours
POSTapi.visork.com / v1 / images / analyze
Request
curl -X POST https://api.visork.com/v1/images/analyze \
  -H "Authorization: Bearer $VISORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://your-cdn/uploads/4f2a.jpg",
    "modules": ["csam"],
    "threshold": 0.85
  }'

Post the image, choose modules, set a threshold.

REST · JSON in / JSON out
EU-hosted · signed audit log retained for review
HOW YOU INTEGRATE

One call. Five moving parts.

The image moves through your pipeline, hits Visork, and comes back with a verdict your code can act on. No queues to manage. No state to remember on our side beyond the audit log.

  1. User upload
    Image hits your platform.
  2. Your backend
    Forward to /v1/images/analyze.
  3. Visork API
    Inference + scoring.
  4. Verdict + log
    JSON response, signed audit log.
  5. Your action
    Block · review · quarantine · allow.
cURLWorks from any language with an HTTP client
curl -X POST https://api.visork.com/v1/images/analyze \
  -H "Authorization: Bearer $VISORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://your-cdn/uploads/4f2a.jpg",
    "modules": ["csam"],
    "threshold": 0.85
  }'
SDKs — planned, not shipped

Official SDKs (PHP, Node.js, Python, Java) are on the long-term roadmap. REST works from any language today — the call above is the whole integration surface.

WHAT YOU GET BACK

A verdict, a score, and a signed audit trail.

Two levers your team controls: the threshold per module (precision vs recall) and the action taken on a verdict. Everything else — model updates, calibration, EU residency — is on us.

Audit logs · Live today
GET / v1 / logs?limit=8
log_8c1f02b9block0.974
log_8c1f02b8allow0.012
log_8c1f02b7block0.991
log_8c1f02b6review0.741
log_8c1f02b5allow0.041
log_8c1f02b4block0.886
log_8c1f02b3allow0.103
Exportable · EU-hosted · Retained for review
ON THE ROADMAP

Next: push, batch, and a compliance export.

REST gets you to a verdict today. The next pieces of the integration toolkit — webhooks, batch processing, compliance reporting — are in development and will ship as separate, documented endpoints.

Not callable today

Webhook notifications

Coming soon

Push alerts for flagged content the moment it lands. Async-native moderation workflows without polling.

Batch processing

Coming soon

Re-scan an existing archive of uploads. Useful when adding new modules to historical data.

Compliance reporting

Coming soon

Exportable audit summaries in formats suited to regulators and legal review.

Further protocol and platform work

Roadmap

Scope and timing are shared under NDA during scoping.

Visork
POST → /webhook/visork
{
  "event": "analysis.flagged",
  "verdict": "block",
  "score": 0.974,
  "audit_log_id": "log_8c1f02b9"
}
Your service
200 acknowledged

Sample webhook payload · final schema in development

We don't publish module order or dates — a published sequence is a map for competitors rather than something you can plan against. You get the real sequencing under NDA during scoping.

Ready when your backend is.

One scoping call, then an API key and 100 credits. The call itself drops into your upload flow in an afternoon.

100 credits included · EU-hosted · Onboarded selectively