The benefits of pay-per-request content moderation for SaaS.
You pay for the checks you send, not for servers or a team sized for your busiest day. Costs follow usage, there is nothing to run, and a new product can start small. Detectivision charges credits per check, half for checks that can wait, and nothing for errors and partial results.
Why pay per check
Cost follows usage
A quiet month costs little and a busy one more, in step with the users who bring the content.
Nothing to run
No GPUs, models or queues to keep up, and no capacity to buy ahead of your growth.
Half price when it can wait
Checks sent with "async": true cost half and come back by webhook; a burst waits its turn instead of being refused.
Failures are free
Invalid requests, unusable inputs, unavailability and partial results cost nothing.
Pay for what you use
Flags only cost less than flags with boxes, and checking fewer flags never costs more.
One integration for every kind
Text, images, video and live streams through one API, one key and one set of webhooks.
Credits per check
The price of a check answered by webhook. An answer given at once costs twice that; live sessions are never doubled.
| Kind | Unit | Detect | Capture | Censor |
|---|---|---|---|---|
| Text | per 2,500 characters | 1 | 1 | 1 |
| Image | per image | 1 | 2 | 2 |
| Video | per 60 frames checked | 1 | 2 | 2 |
| Live stream | per minute at 1 fps | 1 | 2 | 2 |
Credits come with your plan, a separate balance for each kind.
Other ways, and when they win
Large, steady volumes
At a high and even volume a fixed price can cost less: ask us about volume and custom plans.
Content that may not leave your servers
A hosted API sees the content it checks. If your rules forbid that, you need models on your own machines.
Rules no model knows
Banned product names or local slang belong in your own lists, beside the API.
A check that can wait, at half price
curl https://api.detectivision.ai/api/v1/moderation \
-H "Api-Key: $DETECTIVISION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text_moderation",
"input": "Great product, but the seller is an idiot",
"async": true,
"metadata": { "commentId": "c_981" }
}'{
"id": 1043,
"type": "text_moderation",
"status": "queued",
"metadata": { "commentId": "c_981" }
}The result comes by webhook with your metadata, so it finds its comment again.
Frequently asked
How is Detectivision billed?
In credits that come with your plan, a balance for each kind of content. Each check uses credits by the price table.
Am I charged for errors?
No. Invalid requests, inputs that cannot be used, unavailability and partial results are free.
Why does an answer at once cost more?
A check that can wait is run shortly after you send it, when there is room, so it costs half of one answered at once.
Is there a free trial?
Yes. The plans, and the free trial, are on the pricing page.
What happens when my credits run out?
Checks of that kind are refused with insufficient_quota, and nothing is charged, until you add credits or change plan.
Pricing
The plans and the free trial.
Credits and billing
Every price and when nothing is charged.
Live stream costs
What sets the price of moderating streams.