内容审核异步接口文档

提交内容到异步审核或检索工作流,需 Bearer 鉴权;审核结果可通过 notice_url 异步回调通知。

接口概述

该接口用于提交内容到异步审核工作流,支持文本、图片、视频的审核。审核结果通过 requestId + notice_url 的方式异步回调,适用于视频、长内容或多资源内容审核和检索,以减少等待时间。

接口地址

参数名说明
请求方式POST
地址https://la-otter.inaiai.com/v1/workflows/run

请求头

参数名类型是否必填说明
Authorizationstring是Bearer {API_KEY};API Key 由平台单独分配
Content-Typestring是application/json,请求体格式

未携带或携带无效 API Key 的请求将被拒绝。Key 疑似泄露时请立即联系平台更换。

请求参数

顶层参数

参数名类型是否必填说明
inputsobject是业务参数容器
inputs.queryobject是审核或检索参数
response_modestring是固定填 blocking
userstring是接入方标识,由平台分配,请勿自行更改

审核请求 inputs.query

参数名类型是否必填说明
requestIdstring是请求唯一标识,由接入方生成,用于回调匹配,建议使用 UUID
typestring是审核任务固定填 review
notice_urlstring是审核完成后的回调地址
channelstring是渠道标识,由平台分配
textstring否待审核文本,无则传空字符串
imagesstring[]否待审核图片 URL 列表,无则传空数组
videostring否待审核视频地址,支持 m3u8,无则传空字符串
checksobject是审核项开关

text、images、video 三者至少提供一项有效内容。

兼容性说明:不传 requestId 时任务仍可运行,但回调无法对应原始请求;不传 notice_url 时任务完成后不会发送通知。为保证完整异步流程,接入时应将两者视为必填。

checks

参数名类型是否必填说明
minorboolean否是否检测未成年人
age_limitnumber否年龄阈值,minor 为 true 时生效
qrcodeboolean否是否检测二维码
adboolean否是否检测广告
blood_violenceboolean否是否检测血腥暴力
contactboolean否是否检测联系方式
external_linkboolean否外链检查总开关
link_policyobject否外链策略配置

未传或传 false 的检测项不执行,回调结果中也不会包含对应项。

checks.link_policy

参数名类型说明
modestring策略档位,常规场景使用 standard
actionstring命中处置,reject 表示直接审核拒绝
whiteliststring[]域名白名单,命中不判违规;支持 *. 通配子域

*.inaiai.com 只覆盖子域,不包含裸域名 inaiai.com;需要同时放行时,两条都要写入 whitelist。

审核请求示例

bash
curl -X POST 'https://la-otter.inaiai.com/v1/workflows/run' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {
      "query": {
        "text": "待审核文本",
        "images": [],
        "channel": "B",
        "video": "",
        "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "type": "review",
        "notice_url": "https://your.callback.url/notify",
        "checks": {
          "minor": false,
          "qrcode": false,
          "ad": true,
          "blood_violence": false,
          "contact": false,
          "external_link": true,
          "link_policy": {
            "mode": "standard",
            "action": "reject",
            "whitelist": [
              "*.inaiai.com",
              "inaiai.com"
            ]
          }
        }
      }
    },
    "response_mode": "blocking",
    "user": "biz_XXXXX"
  }' | jq .

检索请求示例

工作流也支持检索任务。type 传入非 review 值时走检索逻辑。

bash
curl -X POST 'https://la-otter.inaiai.com/v1/workflows/run' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {
      "query": {
        "type": "abe",
        "texts": [
          {
            "text": "待检索文本",
            "weight": 1.0
          }
        ],
        "images": [
          "https://example.com/image.jpg"
        ],
        "video": []
      }
    },
    "response_mode": "blocking",
    "user": "biz_XXXXX"
  }'

响应

json
{
  "task_id": "ce23d44f-6be5-45a2-bc4f-fd45433f2eb6",
  "workflow_run_id": "5f813b8e-9074-4a4e-a7d7-d790341a244f",
  "data": {
    "id": "5f813b8e-9074-4a4e-a7d7-d790341a244f",
    "workflow_id": "e8b2902f-e689-4f15-9acc-9604bd599114",
    "status": "succeeded",
    "outputs": {
      "approved": true,
      "message": "审核没问题(执行审核项:ad、external_link;age_limit不生效(minor=false))",
      "error": 0,
      "error_message": "",
      "reasons": [
        "审核通过"
      ],
      "id": "5f813b8e-9074-4a4e-a7d7-d790341a244f"
    },
    "error": null,
    "elapsed_time": 1.350075,
    "total_tokens": 0,
    "total_steps": 18,
    "created_at": 1790590650,
    "finished_at": 1790590652
  }
}

异步回调说明

  • 接口审核完成后,会将审核结果以 POST 请求回调 notice_url。
  • 回调 Body 格式与同步接口类似,包含审核结果字段:approved、outputs、reasons 等。
  • requestId 用于对应原始提交请求。
  • 通知策略:如果回调返回不是 HTTP 200 成功状态,系统会尝试最多重发 3 次。

示例回调

json
{
  "requestId": "unique-req-id-001",
  "approved": false,
  "outputs": {
    "blood_violence": true,
    "minor": false,
    "ad": false
  },
  "reasons": [
    "视频中存在血腥暴力行为"
  ]
}

使用建议

  • 对于长视频或多资源内容,推荐使用此异步接口以减少等待时间。
  • requestId 建议唯一,方便跟踪与查询。
  • 客户端可以通过保存 requestId + 回调通知判断审核状态,也可提供轮询接口查询。
  • checks 可以按业务选择传入需要的审核项,不传的默认关闭。