VynarisEarly beta Kimi K3Get your API key

What a trust-and-safety UGC moderation cascade costs per 1M items screened

A UGC moderation cascade screens 1M items for $87.60-$147.60 when 95% terminate cheap and 5% escalate — 92.6% under always-Opus. Free OpenAI Moderation can cut further. Prices verified 2026-08-04.

A sequential trust-and-safety cascade screens 1,000,000 UGC items for $87.60 to $147.60 in model fees when 95% terminate on a cheap classifier and 5% escalate to a frontier model. That is 92.6% cheaper than running Claude Opus 5 on every item ($2,000.00). The OpenAI Moderation endpoint is free and can cut the residual further. Prices verified 2026-08-04.

TL;DR

The finding, before the model

UGC moderation is a terminate-or-escalate pipeline. A cheap classifier scores every item against policy. Clear allow and clear block stop there. Ambiguous or high-severity cases escalate to a stronger model, then usually to a human queue. You pay the cheap call on 100% of items and the expensive call only on the escalated fraction e.

That is a confidence-gated cascade applied to a specific outcome unit: items screened. The general how-to derived S = (1 - r) - e on a 1,500/500 task shape. This playbook plugs in the T&S workload (300 in / 20 out), a free Moderation floor OpenAI documents as free to use, and the human-review line on the escalated tail.

It is also not an LLM jury. A jury pays N cheap models in parallel on every item and an arbiter on disagreement. A moderation cascade pays one cheap call, terminates 95% of the time, and double-spends only on the 5% tail. Break-even is an escalation rate, not a jury size.

Every token count below is an assumption you can edit. Every price is from a provider's live page, captured 2026-08-04.

The workload (edit these)

One screened item is the outcome unit: one UGC post, comment, or listing scored against policy.

Assumption                 Value                                                           Note
-------------------------  --------------------------------------------------------------  ---------------------------------------------------------------
Item + policy rubric in    300 [input tokens](https://vynaris.com/glossary/input-tokens)   content snippet plus the policy checklist each classifier reads
Decision out               20 [output tokens](https://vynaris.com/glossary/output-tokens)  class (allow / review / block) plus a short reason code
Terminate rate             95%                                                             clear allow or clear block at the cheap tier
Escalation rate `e`        5%                                                              ambiguous or high-severity → frontier (+ human queue)
Gate                       self-scored                                                     cheap model emits confidence; no separate judge call (`g ≈ 0`)
Human review on escalated  $0.05 / item (assumption)                                       editable; measure your reviewer's fully-loaded minute

Two numbers drive the model bill. The cheap unit cost runs on every item. The escalation rate e gates the frontier unit. Everything else is cost-per-token arithmetic. The number people guess wrong is e, because it is a property of your policy strictness and your first-pass model's calibration, not a sticker price.

Unit costs: what one call costs per 1M items

Same 300/20 shape on every model. Prices verified 2026-08-04.

Model                                                            $/1M in  $/1M out  Cost /1M items
---------------------------------------------------------------  -------  --------  --------------
OpenAI Moderation (`omni-moderation-latest`)                     $0       $0        $0.00
deepseek-v4-flash                                                $0.14    $0.28     $47.60
gpt-5.6-luna                                                     $0.20    $1.20     $84.00
gemini-3.5-flash-lite                                            $0.30    $2.50     $140.00
[Claude Haiku 4.5](https://vynaris.com/models#claude-haiku-4-5)  $1.00    $5.00     $400.00
Claude Sonnet 5 (intro through Aug 31)                           $2.00    $10.00    $800.00
gpt-5.6-terra                                                    $2.00    $12.00    $840.00
gemini-3.1-pro (≤200k)                                           $2.00    $12.00    $840.00
Claude Opus 5                                                    $5.00    $25.00    $2,000.00
gpt-5.6-sol                                                      $5.00    $30.00    $2,100.00

Derivation for deepseek: 300 × $0.14 + 20 × $0.28 = $47.60 per 1M items. Same formula for every row. Price your own item and decision sizes before you lock a cascade.

Verdict: cascade cost at 5% escalation

cascade /1M = cheap_unit + 0.05 × premium_unit. The cheap call runs on all 1M items. The premium runs on 50,000.

Cascade                                Cheap (100%)  Premium @5%  Total /1M  vs always-Opus
-------------------------------------  ------------  -----------  ---------  --------------
deepseek-v4-flash → Claude Sonnet 5    $47.60        $40.00       $87.60     95.6% less
Free Moderation → Claude Opus 5        $0.00         $100.00      $100.00    95.0% less
deepseek-v4-flash → Claude Opus 5      $47.60        $100.00      $147.60    92.6% less
gpt-5.6-luna → Claude Opus 5           $84.00        $100.00      $184.00    90.8% less
gemini-3.5-flash-lite → Claude Opus 5  $140.00       $100.00      $240.00    88.0% less
Claude Haiku 4.5 → Claude Opus 5       $400.00       $100.00      $500.00    75.0% less
Lone Claude Opus 5 (no cascade)        —             —            $2,000.00  baseline

Read the cheap column. On a well-calibrated cascade the first-pass model is most of the spend only when it is mid-tier (Haiku). With deepseek, the $100.00 Opus slice on 5% of items already exceeds the $47.60 first-pass bill. Pull the escalation lever and the premium price before you obsess over another $0.05 on the cheap tier.

Horizontal bar chart, single blue hue, log x-axis, of model fees per 1,000,000 UGC items: deepseek→Sonnet $87.60, free Moderation→Opus $100, deepseek→Opus $147.60, Haiku→Opus $500, lone Sonnet $800, lone Opus $2,000
UGC moderation cascade cost per 1M items at 5% escalation vs always-frontier baselines. Prices verified 2026-08-04.

The savings formula, applied to this shape

From the cascade how-to: with self-scored confidence (g ≈ 0),

S = (1 - r) - e
r = cheap_unit / premium_unit
e* = 1 - r

For deepseek → Opus: r = 47.60 / 2000.00 = 0.0238, so at e = 5%, S = 92.6%. Break-even e* = 97.6%. You would have to escalate almost everything before the cascade costs as much as always-Opus.

Escalation `e`  deepseek → Opus /1M  Savings vs always-Opus
--------------  -------------------  ----------------------
1%              $67.60               96.6%
5%              $147.60              92.6%
10%             $247.60              87.6%
20%             $447.60              77.6%
50%             $1,047.60            47.6%
97.6% (`e*`)    $2,000.00            0%

Each extra point of escalation costs another $20.00 per 1M on the Opus leg (0.01 × $2,000). If your gate is soft and e drifts from 5% to 20%, you add $300.00 per 1M — more than six times the entire deepseek first-pass bill. Calibrate the gate on a labeled sample before you celebrate the sticker savings.

Free Moderation as tier-0

OpenAI's Moderation endpoint is free to use (omni-moderation-latest on text and images; docs re-read 2026-08-04). It covers a fixed taxonomy (hate, sexual, violence, self-harm, and related). It does not encode custom marketplace or community rules. Treat it as a pre-filter for categories it covers, not as a full policy engine.

If free Moderation settles fraction f of items, residual (1 - f) enters the LLM cascade:

Free settle rate `f`  Residual  free → deepseek → Opus /1M  free → Sonnet on residual /1M
--------------------  --------  --------------------------  -----------------------------
60%                   40%       $59.04                      $320.00
80%                   20%       $29.52                      $160.00
90%                   10%       $14.76                      $80.00

Derivation: residual cascade = (1 - f) × (cheap_unit + e × premium_unit). At f = 80% and deepseek→Opus: 0.20 × $147.60 = $29.52. Custom rules (spam rings, marketplace fraud, brand impersonation) still need the LLM cascade.

Where routing changes the unit economics

Model routing on this workload has three real jobs.

Route by severity, not content length. Keep the 95% terminate path on deepseek or Luna. Reserve Opus for severity classes the gate already flagged.

Route the escalate tier by decision cost. Send low-severity review queues to Sonnet 5 ($40.00 at 5% of 1M) and hold Opus for the high-severity slice. That is a weighted average on a signal the first pass already produced.

Use free Moderation only where its taxonomy matches. Route hate/sexual/violence through the free endpoint first; route custom policy through the LLM cascade. Mixing those without a taxonomy map ships false confidence, not savings.

Where routing does not help: re-scoring a clear allow on a second model. That is pure double-spend with no new information.

The human queue dwarfs the model bill

Here is the honest tradeoff. Trust-and-safety almost always puts a human on the escalated tail. At e = 5%, that is 50,000 items per 1M. If a reviewer costs an assumed $0.05 per item (measure your fully-loaded minute), the human line is $2,500.00 — 16.9x the deepseek→Opus model bill of $147.60. Combined: $2,647.60 per 1M.

That reframes the goal. The cascade's job is not to minimize model spend in isolation. It is to keep e low enough that the human queue stays small, while false-allow rates stay inside risk tolerance. Shaving $60 off the model line while letting e drift from 5% to 8% adds $1,500 in human review and is a net loss. Optimize the gate for human-minutes avoided, not for tokens alone.

Skip a multi-tier cascade when free Moderation plus rules already clear your gold set, or when every flag needs a human and volume is low enough that a single model plus review is simpler. A cascade earns its wiring when the first pass truly terminates most items without a person.

If overnight latency is fine for backlog sweeps, the Batch API halves OpenAI and Anthropic rates (flat 0.5x) — free money on a non-realtime sweep, still a rounding error next to the human queue. Prompt caching helps only the static policy rubric, not unique UGC text, so it does not move the escalation lever.

FAQ

What does a UGC moderation cascade cost per 1M items? With 300 in / 20 out and 5% escalation, deepseek-v4-flash → Claude Sonnet 5 costs $87.60 per 1M and deepseek → Claude Opus 5 costs $147.60. Always-Opus is $2,000.00. Prices verified 2026-08-04.

Why does 5% escalation beat always-frontier by ~90%? Savings are S = (1 - r) - e. Budget first-pass models have r near 0.02–0.07 against Opus, so a 5% haircut still leaves ~88–93% savings.

Does free OpenAI Moderation replace an LLM classifier? No. It is free on its published taxonomy, but it does not encode custom community rules. Use it as tier-0 where categories overlap; keep an LLM cascade for the rest.

When does the cascade stop saving money? At e* = 1 - r. For deepseek → Opus that is 97.6%. A soft gate that pushes e from 5% to 20% already adds $300 per 1M on the Opus leg alone.

When should I not build a cascade? When free Moderation plus rules already clear your gold set, when every flag needs a human at low volume, or when a poorly calibrated first pass escalates most items and you pay double-spend without terminating the mass.

Sources

Prices change. We re-verify every figure in this post monthly and stamp updates. Numbers here are current as of 2026-08-04.

A UGC moderation cascade's cost is the cheap call on every item plus escalation times the frontier call — and the human queue on that same tail usually dwarfs both. Keep e low, use free Moderation where its taxonomy fits, and put your cheapest defensible model on the 95% terminate path. Vynaris is an OpenAI-compatible gateway that routes each request to the cheapest right-sized model. One base URL swap. Get an API key at vynaris.com.