Every Tuteliq API call consumes credits. Credit costs vary by endpoint based on processing complexity. Your current balance and usage are always available through the dashboard and the API.
Per-endpoint costs
Core Safety
| Endpoint | Credits | Notes |
|---|
detectBullying | 2 | Single text analysis |
detectUnsafe | 2 | Single text analysis |
detectGrooming | 3 per 10 msgs | ceil(messages / 10) × 3, minimum 3 |
Fraud Detection
| Endpoint | Credits | Notes |
|---|
detectSocialEngineering | 2 | Social engineering tactic detection |
detectAppFraud | 2 | Fraudulent app/download detection |
detectRomanceScam | 2 | Romance scam pattern detection |
detectMuleRecruitment | 2 | Money mule recruitment detection |
Safety Extended
| Endpoint | Credits | Notes |
|---|
detectGamblingHarm | 2 | Gambling harm detection |
detectCoerciveControl | 2 | Coercive control detection |
detectVulnerabilityExploitation | 2 | Vulnerability exploitation + cross-endpoint modifier |
detectRadicalisation | 2 | Radicalisation indicator detection |
detectDistressSignals | 2 | Linguistic distress-signal patterns (loneliness, isolation, hopelessness) |
detectTFGBV | 2 | Tech-facilitated gender-based violence detection |
Multi-Endpoint Analysis
| Endpoint | Credits | Notes |
|---|
analyseMulti (alias /detection/multi) | 1 + N | Parallel fan-out discount. 1 base + 1 per endpoint; 3 endpoints = 4 credits, 7 endpoints = 8 credits. Cheaper than calling endpoints individually because server-side execution is parallel — wall-clock cost doesn’t scale with N. |
Analysis & Guidance
| Endpoint | Credits | Notes |
|---|
analyzeEmotions | 3 per 10 msgs | ceil(messages / 10) × 3, minimum 3 |
getActionPlan | 9 | Longer generation |
generateReport | 13 | Structured output |
Synthetic Content Detection
| Endpoint | Credits | Notes |
|---|
detectSyntheticContent | 2 | Multi-signal forensic analysis (text path) |
Verification
| Endpoint | Credits | Notes |
|---|
verifyAge (liveness only) | 10 | Liveness detection + biometric estimation |
verifyAge (full) | 20 | Document analysis + liveness + biometric estimation (Pro tier and above) |
verifyIdentity | 25 | Document verification + liveness + face matching (Business tier and above) |
Document Analysis
| Endpoint | Credits | Notes |
|---|
analyzeDocument | Dynamic | max(10, pages_analyzed × endpoint_count) — minimum 10 credits |
Document analysis uses per-page, per-endpoint pricing. Each page-endpoint combination costs 1 credit, with a minimum of 10 credits to cover extraction overhead. See Document Analysis for detailed examples.
| Endpoint | Credits | Notes |
|---|
analyzeVoice | 21+ | Base 21 (first 60s) + 15 per extra minute |
analyzeImage | 7 | Vision + OCR + analysis |
analyzeVideo | 95 | Frame extraction + per-frame vision |
| Voice stream (per flush) | 7 | Real-time transcription + analysis |
| Video stream (per frame) | 7 | Per-frame vision analysis |
For conversation-based endpoints (detectGrooming, analyzeEmotions), credits scale with message count. A 25-message conversation costs ceil(25 / 10) × 3 = 9 credits.For analyzeVoice, credits scale with audio duration. The base cost of 21 credits covers the first 60 seconds. Each additional minute adds 15 credits. Examples: 2 min = 36 credits, 5 min = 81 credits, 10 min = 156 credits.
Batch processing example
When submitting a batch of 500 text messages through detectUnsafe:
500 messages x 2 credits = 1,000 credits
For a batch of 200 messages through detectGrooming with 15 messages per conversation:
200 conversations x ceil(15 / 10) x 3 = 200 x 6 = 1,200 credits
Purchasing credits
Credits can be purchased from the Tuteliq Dashboard. Navigate to Billing > Purchase Credits to top up your balance. Plans include monthly credit allowances, with overage billing available for high-volume usage.
Tracking usage
Response body
Every API response includes a credits_used field showing the credits consumed by that request:
{
"detected": true,
"severity": 0.85,
"confidence": 0.91,
"risk_score": 0.87,
"categories": [{ "tag": "AUTH_IMPERSONATION", "label": "Authority Impersonation", "confidence": 0.92 }],
"credits_used": 2
}
Each response also includes the X-Credits-Remaining header with your current balance:
X-Credits-Remaining: 9472
Usage endpoints
Check your credit balance and historical usage programmatically via the Usage API:
const usage = await tuteliq.getUsage();
console.log(usage.credits_remaining);
console.log(usage.credits_used_today);
Low-balance alerts
Configure low-balance notifications in the Dashboard under Settings > Alerts. You can set a credit threshold (e.g., 100 credits remaining) and receive email or webhook notifications before you run out.
What happens when credits run out
When your balance reaches zero, API requests return a 402 Payment Required error. Upgrade your plan or purchase additional credits from the Dashboard to resume service.