layahost

Benchmark · 26 September 2026

OpenAI Moderation API
vs layahost

We ran OpenAI’s omni-moderation-latest and layahost’s moderation on the same 2,080 labelled comments. Neither wins everywhere. Here is where each one is better, with the numbers and how we got them.

The short version

Accuracy in English

580 comments from the held-out test split of Civil Comments (CC0), where each comment is rated by several people per category. A comment counts as positive when at least half the raters said so. The sample is stratified so rare categories have enough examples; weights undo that, so the numbers describe the full dataset.

CategoryPositivesAUC
layahost
AUC
OpenAI
Caught at 5% false alarms
layahost · OpenAI
Ahead
Toxicity 278 0.931 0.878 59% · 40% layahost
Insults 139 0.964 0.907 73% · 48% layahost
Threats 45 0.985 0.973 96% · 78% layahost
Identity attacks 55 0.927 0.907 58% · 51% tie
Sexually explicit 42 0.945 0.980 69% · 91% OpenAI

AUC is the chance that a random positive comment scores higher than a random clean one: 1.0 is perfect, 0.5 is guessing. Caught at 5% false alarms sets each model’s threshold so that 5% of clean comments get flagged and counts how many positives it then catches; it compares models whose scores sit on different scales. Ahead names a model only when the 95% bootstrap interval of the AUC difference excludes zero (1,000 paired resamples).

OpenAI also returns its own yes/no, flagged. On this set it caught 71% of toxic comments while flagging 14% of clean ones. Tuned to flag the same 14%, layahost’s TOXICITY catches 83%.

Read the English numbers with one caveat. We chose layahost’s question wording and calibrated its scores on the validation split of Civil Comments. The test split used here was never used for tuning, but it comes from the same kind of data, so layahost plays at home. OpenAI was not tuned on this dataset at all. The multilingual set below is a different dataset; the only thing fitted on it for layahost is the score scale for non-English text (on a separate sample), which doesn’t change how comments rank.

Accuracy in five languages

Toxicity on TextDetox multilingual toxicity: a separate dataset with a yes/no label per comment, 300 comments per language, half of them toxic.

LanguageAUC
layahost
AUC
OpenAI
Caught at 5% false alarms
layahost · OpenAI
Ahead
English 0.999 0.983 99% · 90% layahost
German 0.845 0.900 37% · 55% OpenAI
Spanish 0.905 0.949 65% · 79% OpenAI
French 0.931 0.981 80% · 91% OpenAI
Italian 0.824 0.813 40% · 43% tie

layahost sends non-English text to a smaller multilingual checkpoint, and it shows: if most of your comments are in German, Spanish or French, OpenAI is the stronger choice today.

How the categories line up

The two APIs don’t use the same categories. layahost implements Perspective’s attributes; OpenAI has its own policy categories and no category for general toxicity or profanity. For each attribute we used the highest score among the OpenAI categories that cover it:

layahost (Perspective)OpenAI categories used
TOXICITYharassment, hate, harassment/threatening, hate/threatening, violence
INSULTharassment
THREATviolence, harassment/threatening, hate/threatening
IDENTITY_ATTACKhate, hate/threatening
SEXUALLY_EXPLICITsexual, sexual/minors

Profanity and severe toxicity have no OpenAI counterpart, so they are not compared. In the other direction, OpenAI covers self-harm, illicit activity, graphic violence and sexual content involving minors, and it can check images; layahost is text only and has none of those categories built in, though you can ask your own yes/no or choice question about any of them.

Speed

RequestMedian90th percentile
OpenAI, one comment (all categories)274 ms359 ms
layahost, one comment, TOXICITY only147 ms210 ms
layahost, one comment, all seven attributes360 ms720 ms

Measured from a server in Helsinki, Finland (the same region as layahost), 60 single-comment requests each, alternating order, 26 September 2026. layahost runs in that region, so from there it has a head start; from the US, OpenAI is closer. layahost’s time grows with the number of attributes you ask for, OpenAI’s doesn’t.

Everything else

OpenAI Moderationlayahost
PriceFree with an OpenAI API accountFrom $9/month for 1M decisions, or $15 per million prepaid; one attribute is one decision
APIOpenAI’s /v1/moderationsGoogle Perspective’s comments:analyze (a drop-in after Perspective’s shutdown), plus a simple /v1/decide
Your own rulesFixed categoriesAsk any yes/no, choice or score question, or chain them into a flow
HostingOpenAI (US company); regional data residency depends on your OpenAI planEU (Helsinki, Finland); text is processed in memory and not stored
InputText and imagesText
ModelProprietaryLaya, open (Apache-2.0)

Which one should you use?

Whatever you pick, test on a few hundred of your own comments first. Both models make mistakes, and your data is not Civil Comments.

Try layahost on the same call

curl · Perspective-compatible
curl "https://layahost.com/v1alpha1/comments:analyze?key=$LAYAHOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment": {"text": "You are an idiot."},
       "requestedAttributes": {"TOXICITY": {}, "INSULT": {}}}'

New accounts get $1 of free credit after email verification. Create an account or read the Perspective API docs.

Method