> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waffo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# コンテンツセーフティエンドポイント

> 生成前に生成プロンプトのコンテンツセーフティをチェックする

コンテンツセーフティエンドポイントを使うと、製品が画像や動画を生成する**前**に、ユーザーのテキストプロンプトに対して Waffo コンテンツセーフティチェックを実行できます。プロンプトを送信すると明確な判定が返り、判定が `allow` の場合にのみ生成に進みます。このチェックはステートレスで、レスポンス返却後にプロンプト本文を保持しません。

これは [AIGC コンプライアンス](/ja/mor/account-reviews/aigc-compliance)の生成前モデレーション要件を満たす最速の方法です。生成後段階のチェックと組み合わせることで、完全なカバレッジを実現できます。

## チェック内容

このチェックは、生成すべきでないコンテンツをプロンプトから検出します。特に児童に安全でないコンテンツ —— すべての主要な AI 生成プラットフォームが遮断するカテゴリ —— に重点を置いています。プロンプトが1つ以上の制限カテゴリに一致した場合、`allow` 以外の判定を返し、一致したカテゴリを列挙します。

## 判定

`action` フィールドが判定を保持します。`allow` の場合にのみ生成に進んでください。

| `action` | 意味               | 取るべき対応                       |
| -------- | ---------------- | ---------------------------- |
| `allow`  | プロンプトがチェックを通過    | 通常どおり生成モデルを呼び出す              |
| `review` | 判断の前にさらなる確認が必要   | リクエストを保留する。通常は約1時間以内に結果が出る   |
| `block`  | プロンプトが制限コンテンツに一致 | 生成しない。ユーザーにフレンドリーなメッセージを表示する |

<Note>
  `allow` のみを続行の合図として扱ってください。`review` と `block` はどちらも「まだ生成しない」を意味します。
</Note>

## 理由コード

`reasonCode` フィールドは判定を機械可読な形式で説明します。

| `reasonCode`         | 対応する `action` | 意味                                      |
| -------------------- | ------------- | --------------------------------------- |
| `allowed`            | `allow`       | 制限コンテンツは検出されなかった                        |
| `review_required`    | `review`      | 判断の前にさらなる確認のため保留                        |
| `restricted_content` | `block`       | 1つ以上の制限カテゴリに一致                          |
| `service_degraded`   | `review`      | モデレーションサービスが一時的に利用できなかったため、生成せずリクエストを保留 |

<Note>
  モデレーションサービスが一時的に利用できない場合、チェックは `review`（`service_degraded` 付き）を返し、判定なしで何も生成されないようにします。デグレード応答を受け取った場合は、生成せずにリクエストをリトライしてください。
</Note>

## 使い方

<Steps>
  <Step title="ユーザーのプロンプトを収集する">
    ユーザーが画像・動画生成のために送信した任意のテキスト説明。
  </Step>

  <Step title="生成前に scan-prompt を呼び出す">
    プロンプトを [`scan-prompt`](/ja/api-reference/endpoints/content-safety/scan-prompt) に送信し、`action` フィールドを読み取ります。
  </Step>

  <Step title="判定に応じて対応する">
    * `allow` → 生成モデルを呼び出す。
    * `review` → リクエストを保留し、後でリトライする。通常は約1時間以内に結果が出る。
    * `block` → 生成しない。「このコンテンツは当社の利用ガイドラインに適合しません」などのフレンドリーなメッセージを表示する。
  </Step>
</Steps>

## エンドポイント

<CardGroup cols={1}>
  <Card title="プロンプトのスキャン" icon="shield-check" href="/ja/api-reference/endpoints/content-safety/scan-prompt">
    生成プロンプトをチェックし、allow / review / block の判定を返します。
  </Card>
</CardGroup>
