Skip to content

创建内容审核

POST  v1/moderations

对文本是否违反 OpenAI 的内容政策进行分类

请求参数

Authorization

在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。

Authorization: Bearer ******************

Body 参数

Content-Type: application/json

参数路径类型必填说明
modelstring必需模型 ID。指定用于处理请求的模型。
inputarray[object]必需输入内容列表。支持混合输入(文本或图像),是一个对象数组。
└─ typestring必需输入类型。用于区分当前输入项是文本还是图像(例如 "text""image_url")。
└─ textstring可选文本内容。当 type"text" 时,此处填入具体的文本字符串。
└─ image_urlobject可选图像对象。当 type"image_url" 时,包含图像信息的对象。
└─ urlstring必需图像链接。图像的具体网络地址(URL)。

请求示例 (JSON)

{
    "model": "omni-moderation-latest",
    "input": [
        {
            "type": "text",
            "text": "...text to classify goes here..."
        },
        {
            "type": "image_url",
            "image_url": {
                "url": "https://github.com/dianping/cat/raw/master/cat-home/src/main/webapp/images/logo/cat_logo03.png"
            }
        }
    ]
}

返回响应

200 成功

Content-Type: application/json

响应参数

参数路径类型说明
idstring审核请求的唯一标识符 (例如: modr-6818)。
modelstring用于审核的模型名称 (例如: omni-moderation-latest)。
flaggedboolean审核结果摘要。如果为 true,表示内容触发了至少一个违规类别;false 表示通过。
resultsarray[object]包含审核结果的数组(通常对应输入的每一条内容)。
└─ categoriesobject分类布尔值。列出所有具体的违规类别,true 表示检测到该违规,false 表示未检测到。
└─ category_scoresobject分类置信度分数。每个类别对应的违规概率分数(0 到 1 之间),数值越高表示越可能违规。
└─ category_applied_input_typesobject检测输入类型。指明针对每个类别,模型具体检测了哪些输入模态(如 textimage)。
usageobject资源消耗统计。关于此次请求的 Token 使用详情。
└─ prompt_tokensinteger提示词使用的 Token 总数。
└─ completion_tokensinteger生成内容使用的 Token 总数。
└─ total_tokensinteger总 Token 数。
└─ prompt_tokens_detailsobject提示词 Token 的详细分类(如文本、音频、图像 Token 数)。
└─ completion_tokens_detailsobject生成内容 Token 的详细分类(如推理 Token 数)。

响应示例

{
    "model": "omni-moderation-latest",
    "results": [
        {
            "categories": {
                "self-harm": false,
                "illicit/violent": false,
                "harassment": false,
                "sexual": false,
                "hate": false,
                "illicit": false,
                "self-harm/intent": false,
                "violence": false,
                "harassment/threatening": false,
                "sexual/minors": false,
                "self-harm/instructions": false,
                "violence/graphic": false,
                "hate/threatening": false
            },
            "category_scores": {
                "hate/threatening": 4.450850519411503e-8,
                "sexual": 0.0000014738981974494932,
                "self-harm/intent": 2.72647027069593e-7,
                "self-harm": 2.4439928455892955e-7,
                "violence": 4.495181578513688e-7,
                "violence/graphic": 3.726639284186561e-7,
                "harassment/threatening": 1.602810987828144e-7,
                "illicit": 0.00000297731143841062,
                "self-harm/instructions": 8.059446204294678e-8,
                "illicit/violent": 0.0000024682904407607285,
                "hate": 6.339210403977636e-7,
                "sexual/minors": 1.602810987828144e-7,
                "harassment": 0.0000014738981974494932
            },
            "category_applied_input_types": {
                "self-harm": [
                    "text",
                    "image"
                ],
                "violence/graphic": [
                    "text",
                    "image"
                ],
                "hate/threatening": [
                    "text"
                ],
                "self-harm/intent": [
                    "text",
                    "image"
                ],
                "sexual/minors": [
                    "text"
                ],
                "violence": [
                    "text",
                    "image"
                ],
                "harassment": [
                    "text"
                ],
                "sexual": [
                    "text",
                    "image"
                ],
                "hate": [
                    "text"
                ],
                "harassment/threatening": [
                    "text"
                ],
                "illicit": [
                    "text"
                ],
                "self-harm/instructions": [
                    "text",
                    "image"
                ],
                "illicit/violent": [
                    "text"
                ]
            },
            "flagged": false
        }
    ],
    "usage": {
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 0,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 0
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null
    },
    "id": "modr-6818"
}

示例代码

python
import http.client
import json

conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
   "model": "omni-moderation-latest",
   "input": [
      {
         "type": "text",
         "text": "...text to classify goes here..."
      },
      {
         "type": "image_url",
         "image_url": {
            "url": "https://github.com/dianping/cat/raw/master/cat-home/src/main/webapp/images/logo/cat_logo03.png"
         }
      }
   ]
})
headers = {
   'Authorization': 'Bearer <token>',
   'Content-Type': 'application/json'
}
conn.request("POST", "/v1/moderations", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))