OpenAI Moderation API Changes and Citation Rules, Explained

OpenAI Moderation API Changes and Citation Rules, Explained

OpenAI moderation and OpenAI citations changed in the same quiet doc update, and almost nobody noticed the pairing.

Quick version. The moderation guide now tells you: “When your application needs generated text and moderation scores together, pass a top-level moderation object in the generation request.” Same page, same breath: “The API returns moderation scores for the model input and generated output without a separate moderation request.” One call. Two signals. Then, separately, there’s now a citation-formatting guide spelling out how a model should cite, place, and parse sources.

Filter decides what gets suppressed.

Bibliography decides what gets surfaced.

One company writes both rulebooks.

That’s the whole story, and I’ll build it out below.

Both guides are current as of this writing. If you’re reading this months later, re-check the pages — OpenAI doesn’t always announce when docs move.

How the OpenAI Moderation API Changed

Used to be two calls.

Generate, then moderation on the result, then glue code to reconcile the responses.

I’ve watched teams get that reconciliation wrong more than once.

Gone now. You pass the top-level `moderation` object, scores come back for what the user sent and what the model said, single round trip. For small shops running user-generated intake through an LLM, that’s fewer calls, fewer race conditions, one log entry per interaction instead of two.

Model lineup shifted too. `text-moderation` carries a “Deprecated” flag on its models page and the label “Previous generation text-only moderation model.” Successor is `omni-moderation-latest`, which OpenAI calls its “most capable moderation model, accepting images as input as well.” And the deprecated model’s page doesn’t hedge on direction: “we expect omni-moderation-* models to be the best default moving forward.”

Note the asterisk. It’s `omni-moderation-*`, a wildcard, a family. Not one model name you can pin down.

Budget line, because someone always asks. Moderation models are free; the models page describes them as “free models designed to detect harmful content.” And the free tier isn’t a toy. The API reference says moderation “classifies if those inputs are potentially harmful,” text and images, several categories, in one call. Free image-aware classifier bolted onto your generation pipeline.

Cheapest insurance in the whole OpenAI stack.

OpenAI’s Citation Formatting Rules Explained

Second half. The citation-formatting guide now defines a citation system as five core elements. Not four, not six. Five:

– citable units
– material representation
– citation format
– prompt instructions
– citation parsing

Placement, format, parsing. That’s plumbing, documented like plumbing. Unusually specific for a company that usually talks about model behavior in soft terms.

The placement rules, as a list as they deserve one:

– Citations go at the end of the supported sentence, or inline when a long sentence contains multiple supported clauses.
– They go after punctuation.
– A single source uses its specified citation markers; multiple sources require multiple markers.
– Cite only retrieved sources that directly support the cited text.
– If retrieved sources disagree, cite the conflicting sources and describe the disagreement accurately.

That last one matters more than it looks.

Most AI answers today flatten disagreement into consensus mush. A spec that forces surfacing conflicting sources instead of quietly averaging them — I’d hold OpenAI to that, hard.

The guide also splits surfaced material into two tiers. In-line citations are links included directly in responses. Sidebar sources are additional related resources that provide context even if not directly cited.

And here’s the line small publishers should keep somewhere visible: “when using third-party search providers, the ordering of sidebar sources is influenced by the provider’s own ranking systems.”

Sit with that for a second.

Your visibility in an AI answer can sit downstream of a search ranker you’ve never heard of, picked by a provider you’ve got no relationship with.

Where Moderation and Citations Collide

Now the combination, since that’s the actual story.

OpenAI has said it used GPT-4 for content policy development and content moderation decisions. More consistent labeling, faster feedback loop for policy refinement, reduced human moderator involvement. The enforcement loop is written out in the moderation guide: use the results to enforce your application’s policy, “such as filtering content, routing a request for review, or intervening with accounts that submit flagged content.”

So one system filters content and intervenes with accounts.

Another system decides what a model is allowed to cite, in what format. And which sources sit in the sidebar. Same operator runs both.

No external standard for what counts as harmful across “several categories,” and no external standard for what counts as citable.

This isn’t a conspiracy claim. It’s an architecture observation. When the entity classifying harm too defines the citation format, “trustworthy source” stops being an independent judgment and becomes a platform setting. The guide puts it in its own words: define what the model is allowed to cite.

So which gate bites you first. The moderation classifier or the sidebar ranking? Genuinely depends on what you publish.

Practical version for small businesses and solo operators: if you publish and hope AI systems cite you, you’re now optimizing for two opaque gates at once. That’s a harder game than classic SEO, and almost nobody selling “AI visibility” services mentions it.

What I’d Do This Week

Can’t control OpenAI’s rulebooks. Can stop being surprised by them.

Wire the moderation object into your generation request today. Free, scores input and output in one call, kills the two-step reconciliation code you were gonna write anyway. Default to `omni-moderation-latest` — `text-moderation` is deprecated and text-only, already blind to the image abuse your users will eventually send.

Building retrieval or RAG? Encode the citation rules into your own prompts: one marker per source, placement after punctuation, cite only what directly supports the claim. Surface disagreements instead of smoothing them over. Auditable output is what keeps a client from calling you at midnight about a hallucinated citation.

And if you publish, track whether your pages show up as in-line citations, sidebar sources, or nowhere.

That distinction is the new front page versus page two.

Takeaway’s simple. Free moderation scores on every generation call is a gift. Take it. A published citation spec with an honesty clause is progress. Use it. One company running both the filter and the bibliography is a concentration of power worth watching. Only real defense for a small operator is building systems you can audit yourself.

FAQ: OpenAI Moderation and Citations

Is the moderation API free?
Yes. OpenAI’s models page describes the moderation models as “free models designed to detect harmful content.”

What replaced text-moderation?
`omni-moderation-latest`. The old `text-moderation` model is flagged “Deprecated” and described as the “Previous generation text-only moderation model.” OpenAI’s docs state: “we expect omni-moderation-* models to be the best default moving forward.”

How should citations be placed?
At the end of the supported sentence, or inline when a long sentence contains multiple supported clauses, and always after punctuation. A single source uses its specified citation markers; multiple sources require multiple markers.

What’s the difference between in-line citations and sidebar sources?
In-line citations are links included directly in responses. Sidebar sources are additional related resources that provide context even if not directly cited. And their ordering is influenced by third-party search providers’ own ranking systems.

Can moderation run inside my normal generation request?
Yes. Pass a top-level moderation object in the generation request and the API returns moderation scores for both model input and generated output, without a separate moderation call.

Want this kind of breakdown applied to your own AI stack?

That’s literally what I do. Reply with the workflow you’re worried about and I’ll tell you where it breaks first.

Sources

OpenAI moderation guide
text-moderation models page
Moderations API reference
OpenAI citation-formatting guide

Leave a Reply

Your email address will not be published. Required fields are marked *