コンテンツモデレーション API:2026年のNSFW・有害コンテンツ検出ガイド
生成AIパイプラインを速度を落とさずに安全に保つ

生成AIパイプラインは素早くリリースできます。しかし、安全対策レイヤーはそうはいきません。ユーザーが自由形式のテキストを入力したり、オンデマンドで画像を生成するアプリを作るなら、ホットパスに信頼性の高いコンテンツモデレーション APIを配置する必要があります。NSFWコンテンツ、ヘイトスピーチ、ポリシー違反をストレージや他のユーザー、あるいはコンプライアンス監査に届く前に検出するためです。このガイドでは、基本概念・選択肢・実際に組み込むためのコードを説明します。
コンテンツモデレーション APIとは
コンテンツモデレーション APIは、テキスト・画像URL・base64ペイロードといったコンテンツを送信すると、構造化された判定結果を返すエンドポイントです。返ってくるレスポンスには通常、カテゴリラベル(性的表現、暴力、自傷、ヘイトスピーチ、スパムなど)とカテゴリごとの信頼スコアが含まれます。そのため、ハードバイナリな判定を受け入れるのではなく、独自の閾値を設定して調整できます。
生成パイプラインでは、適用箇所が2つあります:
- 入力ゲート(ユーザー入力): モデルに転送する前にプロンプトをチェックします。プロンプトインジェクション攻撃やポリシー違反のリクエストを、APIクレジットを1つも消費する前にブロックできます。
- 出力ゲート(モデル出力): 生成された画像やテキストを永続化したりユーザーに返す前にチェックします。コンプライアントに見えるプロンプトからも危険な出力が生成されるケースに対応します。
両方のゲートを組み合わせることで多層防御が実現します。どちらか一方だけでは穴が生まれます。
2026年のベストコンテンツモデレーション API
2026年時点での主要な選択肢は次のとおりです:
| 選択肢 | モダリティ | 備考 |
|---|---|---|
OpenAI Moderation (omni-moderation-latest) |
テキスト + 画像 | OpenAIキーで無料利用可能;11以上のカテゴリをカバー |
| AWS Rekognition | 画像 + 動画 | 視覚的なヌード・暴力検出に強い;ネイティブテキスト非対応 |
| Google Cloud Vision SafeSearch | 画像 | 5段階ラベル;大量処理で高速・低コスト |
| Azure AI Content Safety | テキスト + 画像 | きめ細かいカテゴリスコア;エンタープライズSLA |
| オープンソース(NudeNet、Detoxify) | 要件次第 | 自己ホスト;レイテンシーなし;メンテナンスが必要 |
統合AIゲートウェイで既に運用しているチームへ: 最も簡単な方法は、Hypereal経由でOpenAI互換のモデレーションエンドポイントを呼び出すことです。パイプラインの他の部分と同じ認証ヘッダーとベースURLを使い、公式レートの何分の一かの料金で利用できます。別アカウントも、二組目の認証情報も不要です。
HyperealのAPIベースURLは https://api.hypereal.cloud/v1 です — 画像生成やLLM呼び出しに使うものと同じエンドポイントです。モデレーション呼び出しの料金は公式プロバイダーレートの何分の一かです;最新の料金は hypereal.cloud でご確認ください。
コンテンツモデレーション APIによるNSFW検出
NSFW検出は最も一般的なユースケースです — ユーザーがアバターをアップロードしたり、商品画像を生成したり、ソーシャルフィードにコンテンツを送り込めるアプリでは特に重要です。
多くのモデレーション 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 であれば、一般的なコンシューマーアプリにとって信頼性の高いソフトブロック閾値です。18歳未満向けにはより厳しく、年齢確認が必要なアダルトプラットフォームではより緩く調整できます。
よくある落とし穴: 生のスコアを確認せずに 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ミリ秒のレイテンシーが加わりますが、インタラクティブな製品でも十分な速さで、全リクエストに適用できるコストです。
3ステップでセットアップ:
- hypereal.cloud でサインアップ
- ダッシュボード → API Keys → キーを作成
export HYPEREAL_API_KEY=sk-...として上記コードをパイプラインに組み込む
よくある質問
コンテンツモデレーション APIと分類器は同じものですか? 機能的には同じです — ポリシーカテゴリに特化してチューニングされた分類器です。違いは、モデレーション APIが任意のクラスではなくポリシーに関連するラベル(NSFW、ヘイト、自傷)で事前学習されており、生のロジットではなくキャリブレーションされたスコアを返すことです。
プロンプト、出力、どちらをモデレートすべきですか? 生成コンテンツを保存または表示するアプリであれば両方です。プロンプトのモデレーションはコストが低く(テキストは画像より小さい)、出力のモデレーションはジェイルブレイクや予期しないモデルの動作を検出します。明確な理由がない限り、どちらのゲートも省略しないでください。
Hyperealのモデレーションエンドポイントで画像入力は使えますか?
はい。omni-moderation-latest モデルは input フィールドでテキストと画像URLの両方を受け付けます。テキストと一緒に {type: "image_url", image_url: {url: "..."}} アイテムを配列で渡してください。
どの閾値を使うべきですか?
一般的なコンシューマーアプリでは 0.7 から始めてください。学校や18歳未満向けアプリなど、より厳しい環境では 0.5 にします。一部のコンテンツが許可されているアダルトプラットフォームの場合は、カテゴリごとのスコアを確認し、sexual/minors と self-harm のみを無条件にブロックしてください。
HyperealはモデレーションAPIをどのように課金していますか? モデレーションは他の呼び出しと同様にクレジット単位で課金されます(100クレジット = $1 USD)。新規アカウントには無料のトライアルクレジットが付与されます — 何も支払わずにモデレーションと生成のフルループをテストするのに十分な量です。現在の料金表は hypereal.cloud でご確認ください。
関連記事
Download Hypereal Agent
Run a local AI media workspace for image generation, video prompts, model selection, credit tracking, and saved artifacts.





