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

# Moderation

> OpenAI 標準に完全準拠したコンテンツモデレーション API を提供します。開発者はこのインターフェースを使用して、マルチモーダルモデレーションモデルでテキストや画像中の有害コンテンツ（ヘイトスピーチ、暴力、違法行為など）を自動的に識別し、アプリケーションのコンプライアンスを確保できます。

## API 情報

* **エンドポイント**：`https://aihubmix.com/v1/moderations`
* **リクエストメソッド**：`POST`
* **認証**：`Authorization: Bearer <AIHUBMIX_API_KEY>`
* **Content-Type**：`application/json`
* このエンドポイントは 2 つのモデルをサポートします：

  1. `omni-moderation-latest`：このモデルとそのすべてのスナップショットは、より多くの分類オプションとマルチモーダル入力をサポートします。

  2. `text-moderation-latest`：テキスト入力のみをサポートし、分類オプションは少なくなります。

## クイックスタート

### 使用例

<CodeGroup>
  ```python Text Input theme={null}
  import openai

  client = openai.OpenAI(
    api_key="AIHUBMIX_API_KEY",  
    base_url="https://aihubmix.com/v1"
  )

  response = client.moderations.create(
      model="text-moderation-latest",
      input="The Yangtze River rolls eastward, its waves washing away heroes. Right and wrong, success and failure, all seem empty; the green hills remain, though the sun sets many times. The white-haired fisherman and woodcutter on the riverbank, accustomed to watching the autumn moon and spring breeze. A pot of turbid wine brings joy in meeting, how many events through time are all laughed off.",
  )

  print(response)
  ```

  ```python Image and Text Input theme={null}
  import openai

  client = openai.OpenAI(
    api_key="AIHUBMIX_API_KEY", 
    base_url="https://aihubmix.com/v1"
  )

  response = client.moderations.create(
      model="omni-moderation-latest",
      input=[
          {"type": "text", "text": "The image depicts a male, with his arms raised, body tense, head tilted back, mouth open, showing extreme agitation or anger."},
          {
              "type": "image_url",
              "image_url": {
                  "url": "https://thumbs.dreamstime.com/b/violent-man-furious-straining-arms-looking-up-concept-person-35012557.jpg",
                  # can also use base64 encoded image URLs
                  # "url": "data:image/jpeg;base64,abcdefg..."
              }
          },
      ],
  )

  print(response)
  ```
</CodeGroup>

### 出力例

以下は完全な出力例で、モデルが画像内の自傷および暴力要素を正しく予測しています。

```json theme={null}
{
  "id": "modr-5175",
  "model": "omni-moderation-latest",
  "results": [
    {
      "flagged": true,

      "categories": {
        "harassment": false,
        "harassment_threatening": false,
        "hate": false,
        "hate_threatening": false,
        "illicit": false,
        "illicit_violent": false,

        "self_harm": true,
        "self_harm_instructions": false,
        "self_harm_intent": false,

        "sexual": false,
        "sexual_minors": false,

        "violence": true,
        "violence_graphic": true
      },

      "category_applied_input_types": {
        "harassment": ["text"],
        "harassment_threatening": ["text"],
        "hate": ["text"],
        "hate_threatening": ["text"],
        "illicit": ["text"],
        "illicit_violent": ["text"],

        "self_harm": ["text", "image"],
        "self_harm_instructions": ["text", "image"],
        "self_harm_intent": ["text", "image"],

        "sexual": ["text", "image"],
        "sexual_minors": ["text"],

        "violence": ["text", "image"],
        "violence_graphic": ["text", "image"]
      },

      "category_scores": {
        "harassment": 0.00507676338091392,
        "harassment_threatening": 0.0008967480822931635,
        "hate": 8.830458477845481e-05,
        "hate_threatening": 1.0720880092159908e-05,
        "illicit": 3.740956047302422e-05,
        "illicit_violent": 2.868540823874629e-05,

        "self_harm": 0.6967791744783793,
        "self_harm_instructions": 0.00027978227581033677,
        "self_harm_intent": 0.0003781080988395418,

        "sexual": 0.0007007652612809208,
        "sexual_minors": 2.5071593847983196e-06,

        "violence": 0.5236158587905301,
        "violence_graphic": 0.4213528687243541
      }
    }
  ]
}
```

出力結果には JSON レスポンス内に複数のカテゴリが含まれており、入力に存在するコンテンツのタイプ（ある場合）と、モデルがそれらをどの程度の確信度で存在すると判断したかを示します。

| **出力カテゴリ**                     | **説明**                                                                                                                                                                               |
| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `flagged`                      | モデルがコンテンツを潜在的に有害であると分類した場合は `true` に設定され、それ以外の場合は `false`。                                                                                                                           |
| `categories`                   | カテゴリごとの違反フラグの辞書を含みます。各カテゴリについて、モデルが対応するカテゴリを違反としてフラグした場合は `true`、それ以外の場合は `false`。                                                                                                   |
| `category_scores`              | モデルが出力したカテゴリごとのスコアの辞書を含み、入力が OpenAI のそのカテゴリに対するポリシーに違反するというモデルの確信度を示します。値は 0 から 1 の間で、値が高いほど確信度が高いことを示します。                                                                           |
| `category_applied_input_types` | このプロパティには、各カテゴリについて、レスポンスでどの入力タイプがフラグされたかの情報が含まれます。例えば、モデルへの画像とテキストの両方の入力が "violence/graphic" でフラグされた場合、`violence/graphic` プロパティは `["image", "text"]` に設定されます。これは omni モデルでのみ利用可能です。 |

## コンテンツカテゴリ

以下の表は、モデレーション API が検出できるコンテンツのタイプと、各カテゴリでサポートされているモデルおよび入力タイプを示しています。

<Tip>
  "text-only" とラベル付けされたカテゴリは画像入力をサポートしません。`omni-moderation-latest` を使用してモデルに画像のみ（テキストなし）を送信した場合、これらのサポートされていないカテゴリではモデルはスコア 0 を返します。
</Tip>

| **カテゴリ**                 | **説明**                                                                                                     | **モデル** | **入力**  |
| :----------------------- | :--------------------------------------------------------------------------------------------------------- | :------ | :------ |
| `harassment`             | あらゆる対象に対する嫌がらせの言葉を表現、扇動、促進するコンテンツ。                                                                         | すべて     | テキストのみ  |
| `harassment/threatening` | あらゆる対象に対する暴力や深刻な危害も含む嫌がらせコンテンツ。                                                                            | すべて     | テキストのみ  |
| `hate`                   | 人種、性別、民族、宗教、国籍、性的指向、障害の有無、カーストに基づいて憎悪を表現、扇動、促進するコンテンツ。非保護グループ（例：チェスプレーヤー）に向けられた憎悪的コンテンツは harassment となります。 | すべて     | テキストのみ  |
| `hate/threatening`       | 人種、性別、民族、宗教、国籍、性的指向、障害の有無、カーストに基づいて対象となるグループに対する暴力や深刻な危害も含む憎悪コンテンツ。                                        | すべて     | テキストのみ  |
| `illicit`                | `illicit` カテゴリでフラグされる同じタイプのコンテンツに加え、暴力や武器の入手に関する言及を含みます。                                                   | Omni のみ | テキストのみ  |
| `illicit/violent`        | `illicit` とマークされたコンテンツタイプに似ていますが、暴力や武器入手の言及も含みます。                                                          | Omni のみ | テキストのみ  |
| `self-harm`              | 自殺、自傷行為、摂食障害などの自傷行為を促進、奨励、または描写するコンテンツ。                                                                    | すべて     | テキストと画像 |
| `self-harm/intent`       | 話者が自殺、自傷行為、摂食障害などの自傷行為に従事している、または従事しようとしていることを表現するコンテンツ。                                                   | すべて     | テキストと画像 |
| `self-harm/instructions` | 自殺、自傷行為、摂食障害などの自傷行為の実行を奨励するコンテンツ、またはそうした行為の実行方法に関する指示や助言を与えるコンテンツ。                                         | すべて     | テキストと画像 |
| `sexual`                 | 性的興奮を引き起こすことを意図したコンテンツ。性行為の描写や性的サービスの宣伝など（性教育やウェルネスを除く）。                                                   | すべて     | テキストと画像 |
| `sexual/minors`          | 18 歳未満の個人を含む性的コンテンツ。                                                                                       | すべて     | テキストのみ  |
| `violence`               | 死、暴力、または身体的傷害を描写するコンテンツ。                                                                                   | すべて     | テキストと画像 |
| `violence/graphic`       | 死、暴力、または身体的傷害を生々しい詳細で描写するコンテンツ。                                                                            | すべて     | テキストと画像 |

***

最終更新日：2026-06-01
