Plan Usage & Limits
Understanding how Deep Mod tracks and manages your usage helps you stay within plan limits and optimize your content moderation costs. This section explains how credits work, what happens when you approach limits, and how notifications keep you informed.
How Usage is Measured
Credits: The Billing Unit
Deep Mod uses credits as the billing unit. Credits reflect the actual cost of processing your content based on two factors:
-
Base charge: Every moderation run costs a minimum of 100 credits
-
Variable charge: Scales with content length and policy complexity
The Credit Formula
Each moderation run (content evaluated against one policy) is calculated as:
Credits = 100 + (ceil(Words / 100) x Rules)
Where:
-
100 is the fixed base charge per moderation run
-
Words is the word count of your content
-
Rules is the number of rules in the policy
-
ceil means round up to the nearest whole number
Why the Base Charge?
The 100-credit base charge exists because every moderation run has fixed processing overhead regardless of content size. This ensures fair pricing whether you're moderating a single word or a full article.
Credit Calculation Examples
Single Policy Moderations:
|
Content Type |
Words |
Rules |
Base |
Variable |
Total Credits |
|---|---|---|---|---|---|
|
Empty content |
0 |
5 |
100 |
0 |
100 |
|
Short comment |
50 |
5 |
100 |
5 |
105 |
|
Medium post |
500 |
10 |
100 |
50 |
150 |
|
Long article |
2,500 |
15 |
100 |
375 |
475 |
|
Short with many rules |
100 |
50 |
100 |
50 |
150 |
Batch Mode (Policy Chaining):
When you moderate content against multiple policies in one request, each policy creates a separate moderation run with its own base charge:
|
Content |
Words |
Policies |
Rules/Policy |
Credits/Run |
Total Runs |
Total Credits |
|---|---|---|---|---|---|---|
|
Comment |
500 |
2 |
10 each |
150 |
2 |
300 |
|
Article |
2,500 |
3 |
15 each |
475 |
3 |
1,425 |
|
Post |
1,000 |
2 |
20 each |
300 |
2 |
600 |
Batch Calculation Example (2,500 words, 3 policies with 15 rules each):
Policy 1: 100 + (ceil(2500/100) x 15) = 100 + (25 x 15) = 475 credits
Policy 2: 100 + (ceil(2500/100) x 15) = 100 + (25 x 15) = 475 credits
Policy 3: 100 + (ceil(2500/100) x 15) = 100 + (25 x 15) = 475 credits
Total: 1,425 credits (3 moderation runs)
Human Reviews
Human reviews update existing moderation runs rather than creating new usage:
-
Reviews modify the original moderation run that was already counted
-
No additional credits are charged for human review decisions
-
Reviews are tracked for analytics but don't count toward credit limits
Usage Periods
Monthly Billing Cycles: Usage resets at the start of each billing period based on your subscription start date, not calendar months.
Real-Time Tracking: Credit usage is updated immediately as each moderation run completes.
Plan Credit Limits
Each plan includes a monthly credit allocation:
|
Plan |
Monthly Credits |
Price |
AI Model |
|---|---|---|---|
|
Free |
25,000 |
$0/month |
Small |
|
Starter |
2,500,000 |
$599/month |
Large |
|
Professional |
5,000,000 |
$999/month |
Large |
|
Enterprise |
15,000,000 |
$1,999/month |
Large |
What the Limits Mean
Free Plan (25,000 credits):
-
Minimum moderations: ~250 (at 100 credits each)
-
Typical moderations: ~165 (500 words, 10 rules = 150 credits each)
Starter Plan (2,500,000 credits):
-
Minimum moderations: ~25,000 (at 100 credits each)
-
Typical moderations: ~16,600 (500 words, 10 rules = 150 credits each)
Professional Plan (5,000,000 credits):
-
Minimum moderations: ~50,000 (at 100 credits each)
-
Typical moderations: ~33,300 (500 words, 10 rules = 150 credits each)
Enterprise Plan (15,000,000 credits):
-
Minimum moderations: ~150,000 (at 100 credits each)
-
Typical moderations: ~100,000 (500 words, 10 rules = 150 credits each)
Notifications and Alerts
Deep Mod proactively notifies you as you approach and reach your usage limits.
Notification Thresholds
|
Threshold |
What Happens |
Notification Type |
|---|---|---|
|
80% |
Warning notification sent |
"Approaching Limit" |
|
100% |
Limit reached, API requests blocked |
"Limit Reached" |
80% Warning
When your credit usage reaches 80% of your monthly limit:
-
In-app notification appears for all organization members
-
Email alert sent to organization administrators
-
Message: "Your organization has used 80% of your monthly credits. Consider upgrading to avoid service interruption."
100% Limit Reached
When your credit usage reaches 100% of your monthly limit:
-
In-app notification appears for all organization members
-
Email alert sent to organization administrators
-
API requests blocked until the next billing period or plan upgrade
-
Message: "Your organization has reached its monthly credit limit. Moderation requests are blocked until your next billing period or plan upgrade."
API Response When Usage Limit Reached
When you exceed your credit limit, API moderation requests return:
HTTP 429 Too Many Requests
{
"errors": [
{
"code": "E_USAGE_LIMIT_REACHED",
"message": "You have reached your monthly moderation limit for your subscription. Please upgrade your subscription to increase your limit."
}
]
}
Important: This error indicates you've exhausted your monthly credits. Unlike rate limit errors, this should not be retried—instead, upgrade your plan or wait for the next billing period.
Optimizing Credit Usage
Reducing Credit Costs
Content Filtering: Pre-filter obviously acceptable content before sending to Deep Mod. If content clearly doesn't need moderation, don't send it.
Policy Optimization:
-
Keep policies focused with only necessary rules
-
More rules = more credits per moderation
-
Consider whether all rules are actively needed
Policy Chaining Awareness:
-
Each policy in a chain multiplies your credit usage
-
Use batch mode only when multiple policies are truly necessary
-
Consider combining related rules into a single policy instead of chaining separate policies
Content Preparation:
-
Remove unnecessary boilerplate text (headers, footers, legal disclaimers)
-
Clean formatting and extra whitespace
-
Split very long documents at logical breaks if separate moderation is acceptable
Efficient Batching Strategies
Since each moderation run has a 100-credit base charge, efficiency comes from:
-
Moderate meaningful content: Avoid submitting empty or near-empty content
-
Right-size your policies: More rules cost more, so only include rules you need
-
Strategic policy chaining: Only chain when necessary; consolidate when possible
Example: Efficient vs. Inefficient Usage
Inefficient (separate policies):
-
Policy A: 5 safety rules
-
Policy B: 5 legal rules
-
Policy C: 5 brand rules
-
500-word content through all three: 100 + (5x5) + 100 + (5x5) + 100 + (5x5) = 375 credits
Efficient (combined policy):
-
Single policy: 15 rules (safety + legal + brand)
-
500-word content: 100 + (5x15) = 175 credits
Savings: 200 credits per moderation (54% reduction)
API Rate Limits
Separate from credit limits, API rate limits control request frequency to ensure system stability. Rate limits restrict how many requests you can make per minute, while credit limits restrict your total monthly usage.
|
Plan |
Requests per Minute |
Max Policies per Batch |
|---|---|---|
|
Free |
100 |
5 |
|
Starter |
500 |
10 |
|
Professional |
500 |
10 |
|
Enterprise |
1,000 |
10 |
Rate Limit Response Headers
Every API response includes headers to help you monitor your rate limit status:
|
Header |
Description |
|---|---|
|
|
Total allowed requests per minute for your plan |
|
|
Requests remaining in the current minute window |
|
|
Seconds until the rate limit window resets |
Use these headers to proactively monitor your usage and avoid hitting limits.
Rate Limit Error Response
When you exceed your rate limit, the API returns:
HTTP 429 Too Many Requests
Headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 45
Retry-After: 45
Body:
{
"error": "Rate limit exceeded",
"message": "Too many requests. Please try again later.",
"retryAfter": "45 seconds"
}
Note: This is different from a usage limit error. Rate limit errors are temporary and can be retried after waiting.
Handling Rate Limits vs Usage Limits
Both rate limits and usage limits return HTTP 429, but they require different handling:
|
Error Type |
Cause |
Response Field |
Action |
|---|---|---|---|
|
Rate limit |
Too many requests per minute |
|
Wait and retry with backoff |
|
Usage limit |
Monthly credits exhausted |
|
Upgrade plan or wait for billing period |
Implement exponential backoff retry logic for rate limits:
async function submitWithRetry(policyUri, content, maxRetries = 3) {
for (let attempt = 1; attempt <= maxRetries; attempt++) {
try {
const response = await fetch('https://api.deepmod.ai/v1/moderation/run', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ policyUri, content })
});
if (response.status === 429) {
const data = await response.json();
// Check if this is a usage limit (don't retry) vs rate limit (retry)
if (data.errors?.[0]?.code === 'E_USAGE_LIMIT_REACHED') {
throw new Error('Monthly usage limit reached. Please upgrade your plan.');
}
// Rate limit - wait and retry
const retryAfter = response.headers.get('Retry-After') || 60;
if (attempt < maxRetries) {
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
continue;
}
throw new Error('Rate limited');
}
return await response.json();
} catch (error) {
if (attempt === maxRetries) throw error;
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
await new Promise(resolve => setTimeout(resolve, delay));
}
}
}
Best Practices
-
Monitor headers: Check
X-RateLimit-Remainingto proactively slow down before hitting limits -
Request spacing: Distribute API calls evenly rather than sending bursts
-
Error handling: Distinguish between rate limit errors (retry) and usage limit errors (don't retry)
-
Queue management: Implement request queuing for high-volume applications
Monitoring Your Usage
Dashboard Analytics
The usage dashboard shows:
-
Current period usage: Credits used vs. credit limit
-
Usage percentage: Visual progress toward limit
-
Historical trends: Usage patterns over past billing periods
-
Breakdown by policy: Which policies consume the most credits
Forecasting
Use your usage data to:
-
Project monthly needs: Track daily averages to predict monthly totals
-
Plan upgrades: Identify when you're consistently approaching limits
-
Optimize policies: Find high-usage policies that might benefit from optimization
What's Next
-
Troubleshooting - Common usage and limit issues and solutions
Effective usage management ensures your content moderation runs smoothly while staying within budget and plan constraints.
Questions about usage or limits? Contact support for help with plan selection, usage optimization, or limit management strategies.