> ## 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`
* 이 엔드포인트는 두 가지 모델을 지원합니다:

  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`             | 모든 대상에 대한 괴롭히는 언어를 표현, 선동 또는 조장하는 콘텐츠.                                                                              | All       | 텍스트만      |
| `harassment/threatening` | 모든 대상에 대한 폭력 또는 심각한 피해를 포함하는 괴롭힘 콘텐츠.                                                                               | All       | 텍스트만      |
| `hate`                   | 인종, 성별, 민족, 종교, 국적, 성적 지향, 장애 상태 또는 계급에 기반한 증오를 표현, 선동 또는 조장하는 콘텐츠. 보호되지 않는 그룹(예: 체스 플레이어)을 대상으로 하는 증오 콘텐츠는 괴롭힘입니다. | All       | 텍스트만      |
| `hate/threatening`       | 인종, 성별, 민족, 종교, 국적, 성적 지향, 장애 상태 또는 계급에 기반한 대상 그룹에 대한 폭력 또는 심각한 피해를 포함하는 증오 콘텐츠.                                    | All       | 텍스트만      |
| `illicit`                | `illicit` 카테고리에 의해 플래그된 콘텐츠와 동일한 유형이지만, 폭력이나 무기 조달에 대한 언급도 포함합니다.                                                   | Omni only | 텍스트만      |
| `illicit/violent`        | `illicit`으로 표시된 콘텐츠 유형과 유사하지만, 폭력이나 무기 획득에 대한 언급도 포함합니다.                                                            | Omni only | 텍스트만      |
| `self-harm`              | 자살, 자해, 섭식 장애와 같은 자해 행위를 조장, 권장 또는 묘사하는 콘텐츠.                                                                        | All       | 텍스트 및 이미지 |
| `self-harm/intent`       | 화자가 자살, 자해, 섭식 장애와 같은 자해 행위를 하고 있거나 할 의도가 있다고 표현하는 콘텐츠.                                                             | All       | 텍스트 및 이미지 |
| `self-harm/instructions` | 자살, 자해, 섭식 장애와 같은 자해 행위 수행을 조장하거나, 그러한 행위 수행 방법에 대한 지침이나 조언을 제공하는 콘텐츠.                                              | All       | 텍스트 및 이미지 |
| `sexual`                 | 성적 활동의 묘사와 같이 성적 흥분을 유발하기 위한 콘텐츠, 또는 성적 서비스를 조장하는 콘텐츠 (성교육 및 웰니스 제외).                                               | All       | 텍스트 및 이미지 |
| `sexual/minors`          | 18세 미만의 개인을 포함하는 성적 콘텐츠.                                                                                            | All       | 텍스트만      |
| `violence`               | 죽음, 폭력 또는 신체적 부상을 묘사하는 콘텐츠.                                                                                         | All       | 텍스트 및 이미지 |
| `violence/graphic`       | 죽음, 폭력 또는 신체적 부상을 그래픽 디테일로 묘사하는 콘텐츠.                                                                                | All       | 텍스트 및 이미지 |

***

마지막 업데이트: 2026-06-01
