内容审核 API:2026 年如何检测 NSFW 与不安全内容
在不拖慢生成速度的前提下,为你的 AI 管道构建安全防线

生成式 AI 管道上线快,安全层往往跟不上。如果你的应用允许用户自由输入文本,或按需生成图像,就需要在关键链路上部署一个可靠的内容审核 API——在 NSFW 内容、仇恨言论和违规内容到达存储层、其他用户或合规审计之前将其拦截。本指南涵盖核心概念、可用选项,以及实际接入所需的完整代码。
什么是内容审核 API
内容审核 API 是一个接收内容(文本、图片 URL 或 base64 数据)并返回结构化判断的接口:是否安全,以及判断依据。响应结果通常包含类别标签(色情、暴力、自残、仇恨言论、垃圾信息)和每个类别的置信度分数,让你可以自定义阈值,而不必接受一刀切的二元判断。
在生成式管道中,有两个位置可以部署审核:
- 入口(用户输入): 在将提示词转发给模型之前先进行检测。在消耗任何 API 额度之前,就将提示词注入攻击和违规请求拦截在门外。
- 出口(模型输出): 在将生成的图像或文本持久化存储或返回给终端用户之前进行检测。这一步能捕获那些提示词看似合规、但生成结果仍不安全的情况。
两道关卡同时部署,才能实现纵深防御。任意一道单独使用都会留下漏洞。
2026 年最佳内容审核 API
2026 年有几个值得关注的主流选项:
| 选项 | 支持模态 | 备注 |
|---|---|---|
OpenAI Moderation (omni-moderation-latest) |
文本 + 图像 | 使用 OpenAI key 免费调用;覆盖 11+ 个类别 |
| AWS Rekognition | 图像 + 视频 | 视觉裸露/暴力检测能力强;不支持原生文本 |
| Google Cloud Vision SafeSearch | 图像 | 五级标签体系;大批量调用快且便宜 |
| Azure AI Content Safety | 文本 + 图像 | 细粒度类别分数;企业级 SLA |
| 开源方案(NudeNet、Detoxify) | 视情况而定 | 自托管;无额外延迟;需承担运维成本 |
对于已在统一 AI 网关上运行的团队: 最简路径是通过 Hypereal 调用与 OpenAI 兼容的审核接口,沿用与管道其他部分相同的鉴权头和 base URL,并以官方价格的一小部分完成调用。无需单独注册账号,也无需管理第二套凭证。
Hypereal 的 API base URL 为 https://api.hypereal.cloud/v1——与图像生成和 LLM 调用使用同一个接口。审核调用的定价仅为官方提供商价格的一小部分;最新价格请访问 hypereal.cloud 查看。
使用内容审核 API 进行 NSFW 检测
NSFW 检测是最常见的使用场景——尤其适用于允许用户上传头像、生成产品图像或向社交 Feed 输送内容的应用。
大多数审核 API 会针对每个类别返回一个分数。一次图像检测的典型响应如下:
{
"id": "modr-abc123",
"results": [
{
"flagged": false,
"categories": {
"sexual": false,
"sexual/minors": false,
"violence": false,
"hate": false,
"self-harm": false
},
"category_scores": {
"sexual": 0.04,
"violence": 0.01,
"hate": 0.00
}
}
]
}
对于大多数面向消费者的应用,sexual 类别 flagged: true 且 category_scores.sexual > 0.7 是一个可靠的软拦截阈值。你可以按需调整:面向未成年人的场景收严,面向已完成年龄验证的成人平台可适当放宽。
常见误区: 直接以 flagged 字段作为硬性拦截依据,而不检查原始分数。默认的 flagged 阈值偏保守。如果拒绝率过高,请读取原始分数并自行设定阈值。
如何将内容审核 API 接入你的管道
以下是一个完整示例。它调用经 Hypereal 代理的审核接口检测用户输入的文本提示词,只有通过检测后才触发图像生成。
cURL(快速测试):
curl -X POST https://api.hypereal.cloud/v1/moderations \
-H "Authorization: Bearer $HYPEREAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-moderation-latest",
"input": "A sunny beach with kids playing volleyball"
}'
Python(生产环境模式):
import os
import httpx
HYPEREAL_BASE = "https://api.hypereal.cloud/v1"
HEADERS = {
"Authorization": f"Bearer {os.environ['HYPEREAL_API_KEY']}",
"Content-Type": "application/json",
}
def is_safe(text: str, threshold: float = 0.7) -> bool:
resp = httpx.post(
f"{HYPEREAL_BASE}/moderations",
headers=HEADERS,
json={"model": "omni-moderation-latest", "input": text},
timeout=5,
)
resp.raise_for_status()
result = resp.json()["results"][0]
scores = result["category_scores"]
# Reject if any category score exceeds threshold
return not any(v >= threshold for v in scores.values())
def generate_image(prompt: str) -> dict:
if not is_safe(prompt):
raise ValueError("Prompt flagged by content moderation — request rejected.")
resp = httpx.post(
f"{HYPEREAL_BASE}/images/generate",
headers=HEADERS,
json={"model": "gpt-image-2", "prompt": prompt, "size": "1024x1024"},
timeout=60,
)
resp.raise_for_status()
return resp.json()
# Usage
image_data = generate_image("An oil painting of a mountain lake at sunrise")
这一模式每次请求大约增加 150–300 毫秒的延迟——对于交互式产品来说完全够快,成本也低到可以对每个请求全量执行。
三步完成接入:
- 在 hypereal.cloud 注册账号
- 进入控制台 → API Keys → 创建密钥
export HYPEREAL_API_KEY=sk-...,将上述代码嵌入你的管道即可
常见问题
内容审核 API 和分类器是一回事吗? 从功能上看,是的——它本质上是一个针对策略类别调优的分类器。区别在于,审核 API 是在与策略相关的标签(NSFW、仇恨、自残)上预训练的,而非任意类别,且返回的是经过校准的分数,而非原始 logit 值。
应该对提示词、输出结果,还是两者都进行审核? 对于任何会存储或展示生成内容的应用,两者都要审核。提示词审核成本更低(文本比图像小得多);输出审核能捕获越狱攻击和模型的意外行为。只有在有明确理由的情况下才能省略其中一道关卡。
Hypereal 的审核接口支持图像输入吗?
支持。omni-moderation-latest 模型在 input 字段中同时接受文本和图片 URL。你可以传入包含 {type: "image_url", image_url: {url: "..."}} 元素的数组,与文本一起提交。
应该使用什么阈值?
面向普通消费者的应用从 0.7 开始。面向更严格的环境(学校、未成年人应用)调整为 0.5。对于允许部分内容的成人平台,逐类检查分数,只无条件拦截 sexual/minors 和 self-harm。
Hypereal 如何对审核调用计费? 审核调用与其他所有调用一样按额度计费(100 额度 = 1 美元)。新账号会获赠免费试用额度——足以在正式消费之前完整测试审核加生成的全链路流程。当前价格详见 hypereal.cloud。
相关文章
Download Hypereal Agent
Run a local AI media workspace for image generation, video prompts, model selection, credit tracking, and saved artifacts.





