You need to enable JavaScript to run this app.
导航
智能审核
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.03 19:01:59

阅读本文,您可以获取 Node SDK 智能审核的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍智能审核相关接口的功能和调用示例。

创建审核任务

您可以调用 CreateImageAuditTask 接口创建审核任务。详细的参数说明可参见 CreateImageAuditTask 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function CreateImageAuditTaskDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 任务类型,当前仅支持取值为 audit。
      TaskType: "audit",
      // 图片审核任务场景。取值如下所示:
      // <li> UrlFile:存量图片处理,进针对已有存储内的图片请求获取审核结果。传入方式是 ResUri方式,即在.txt 文件(审核文件)内填写了待审核图片文件 URL,并将该 txt 文件上传至指定服务后获取并传入该文件的 StoreUri。 </li>
      // <li> Url:URL 直传场景。传入方式为 ImageInfos 方式,即可直接传入待审核图片的 URL 及区分标识。 </li>
      // <li> Upload:图片上传场景,针对上传图片到指定服务下的场景。可在 EnableAuditRange下指定审核的范围,例如对指定上传到某目录下的图片进行审核。 </li>
      Type: "UrlFile",
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "9u**6i",
      // 审核能力,取值如下所示:
      // <li> 0:基础审核能力 </li>
      // <li> 1:智能审核能力 </li>
      AuditAbility: 1,
      // 审核维度,根据审核能力的不同,其具体取值不同。基础审核与智能审核之间不支持混用。
      // <li> 基础安全审核,仅当 AuditAbility 取值为 0 时,配置生效。 </li>
      // <li> govern:涉政 </li>
      // <li> porn :涉黄	 </li>
      // <li> illegal:违法违规	 </li>
      // <li> terror:涉暴 </li>
      // <li> 智能安全审核,仅当 AuditAbility 取值为 1 时,配置生效。 </li>
      // <li> 图像风险识别 </li>
      // <li> porn :涉黄,主要适用于通用色情、色情动作、性行为、性暗示、性分泌物、色情动漫、色情裸露等涉黄场景的风险识别 </li>
      // <li> sensitive1 :涉敏1,具体指涉及暴恐风险	 </li>
      // <li> sensitive2:涉敏2,具体值涉及政治内容风险 </li>
      // <li> forbidden:违禁,主要适用于打架斗殴、爆炸、劣迹艺人等场景的风险识别 </li>
      // <li> uncomfortable:引人不适,主要适用于恶心、恐怖、尸体、血腥等引人不适场景的风险识别 </li>
      // <li> qrcode:二维码,主要适用于识别常见二维码(QQ、微信、其他二维码等) </li>
      // <li> badpicture:不良画面,主要适用于自我伤害、丧葬、不当车播、吸烟/纹身/竖中指等不良社会风气的风险识别	 </li>
      // <li> sexy:性感低俗,主要适用于舌吻、穿衣性行为、擦边裸露等多种性感低俗场景的风险识别 </li>
      // <li> age:年龄,主要适用于图中人物对应的年龄段识别 </li>
      // <li> underage:未成年相关,主要适用于儿童色情、儿童邪典等风险识别 </li>
      // <li> quality:图片质量,主要适用于图片模糊、纯色边框、纯色屏等风险识别 </li>
      // <li> 图文风险识别,您可在 AuditTextDimensions 配置文字审核的维度。 </li>
      // note:
      // 您可将智能安全审核的图像风险识别和图文风险识别搭配使用。
      //
      AuditDimensions: ["pron", "sexy"],
      // 智能安全审核类型下图文风险审核的具体维度,取值如下所示:
      // <li> ad:广告,综合图像及文字内容智能识别广告 </li>
      // <li> defraud:诈骗,综合图像及文字内容智能识别诈骗 </li>
      // <li> charillegal:文字违规,图片上存在涉黄、涉敏、违禁等违规文字 </li>
      // note:
      // 仅当 AuditDimensions 取值为智能安全审核模型时,您可将 AuditTextDimensions 与 AuditDimensions 搭配使用。
      AuditTextDimensions: ["ad"],
      // 图片审核仅支持审核 5MB 以下的图片,若您的图片大小在 5MB~32MB,您可以开启大图审核功能,veImageX 会对图片压缩后再进行审核。开启后,将对压缩能力按照[基础图片处理](https://www.volcengine.com/docs/508/65935#%E5%9F%BA%E7%A1%80%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%E6%9C%8D%E5%8A%A1)进行计费。(您每月可使用 20TB 的免费额度)
      // 取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      // note:
      // <li> 若未开启大图审核且图片大小 ≥ 5 MB,可能会导致系统超时报错; </li>
      // <li> 若已开启大图审核但图片大小 ≥ 32 MB,可能会导致系统超时报错。 </li>
      EnableLargeImageDetect: true,
      // 仅当 Type 取值 Upload 时,配置生效。
      // 审核范围,取值如下所示:
      // <li> 0:(默认)不限范围 </li>
      // <li> 1:指定范围 </li>
      EnableAuditRange: 1,
      // 仅当 EnableAuditRange 取值 1 时,配置生效。
      // 指定前缀审核,若你希望对某个目录进行审核,请设置路径为对应的目录名,以/结尾。例如123/test/
      AuditPrefix: ["a/"],
      // 仅当 EnableAuditRange 取值 1 时,配置生效。
      // 指定前缀不审核,若你希望对某个目录不进行审核,请设置路径为对应的目录名,以/结尾。例如123/test/
      NoAuditPrefix: ["b/"],
      // 是否开启冻结,取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      EnableFreeze: true,
      // 冻结措施,取值如下所示:
      // <li> recheck:建议复审 </li>
      // <li> nopass:审核不通过 </li>
      FreezeType: ["recheck", "nopass"],
      // 冻结维度,取值需要与 AuditDimensions 审核维度保持一致或少于 AuditDimensions。
      // 例如,AuditDimensions 取值 ["pron","sexy"],AuditTextDimensions 取值 ["ad"],支持您将 FreezeDimensions 取值 ["pron","sexy","ad"] 、 ["pron","sexy"]、["pron","ad"] 和 ["sexy","ad"] 任意一种。
      FreezeDimensions: ["pron", "sexy", "ad"],
      // 仅当 Type 为 UrlFile 时,配置生效。
      // 审核文件的 StoreUri,为 .txt 文件,该文件需上传至指定服务对应存储中。该 txt 文件内需填写待审核图片文件的 URL,每行填写一个,最多可填写 10000 行。
      ResUri: ["指定服务/图片审核文件.txt"],
      // 仅当 Type 为 Url 时,配置生效。
      // 批量提交图片 URL 列表
      ImageInfos: [
        {
          // 待审核图片 URL,需满足公网可访问。
          ImageUri: "https://test.png",
          // 建议您根据实际业务情况,将该参数作为可区分审核图片 ImageUri 的自定义标识。
          DataId: "92bodw28122j19***018h3i1928g",
        },
      ],
      // 是否开启回调,取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      EnableCallback: true,
      // 回调类型,取值需要与 AuditDimensions 审核维度保持一致或少于 AuditDimensions。
      // 例如,AuditDimensions 取值 ["pron","sexy"],AuditTextDimensions 取值 ["ad"],支持您将 FreezeDimensions 取值 ["pron","sexy","ad"] 、 ["pron","sexy"]、["pron","ad"] 和 ["sexy","ad"] 任意一种。
      CallbackDimensions: ["ad"],
      // 回调图片类型,取值如下所示:
      // <li> normal:正常图片 </li>
      // <li> problem:问题图片 </li>
      // <li> frozen:冻结图片 </li>
      // <li> fail:审核失败图片 </li>
      CallbackImageTypes: ["problem", "frozen", "fail"],
      // 回调 URL,veImageX 以 Post 方式向业务服务器发送 JSON 格式回调数据。具体回调参数请参考[回调内容](https://www.volcengine.com/docs/508/134676#%E5%9B%9E%E8%B0%83%E5%86%85%E5%AE%B9)。
      CallbackUrl: "https://example.callback.com",
      // 任务地区。当前仅支持取值 cn,表示国内。
      Region: "cn",
    };

    const res = await imagexService.CreateImageAuditTask(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

查询所有审核任务

您可以调用 GetImageAuditTasks 接口查询所有审核任务。详细的参数说明可参见 GetImageAuditTasks 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageAuditTasksDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 任务地区。仅支持默认取值 cn,表示国内。
      Region: "cn",
      // 审核场景,缺省情况下查询全部场景的任务。取值如下所示:
      // <li> UrlFile:上传 txt 审核文件处理场景 </li>
      // <li> Url:上传审核图片 URL 处理场景 </li>
      // <li> Upload:图片上传场景 </li>
      Type: "UrlFile",
      // 审核能力,缺省情况下查询全部审核类型的任务。取值如下所示:
      // <li> 0:基础审核能力 </li>
      // <li> 1:智能审核能力 </li>
      AuditAbility: 0,
      // 审核状态,缺省情况下查询全部状态的任务。取值如下所示:
      // <li> Running:审核中 </li>
      // <li> Suspend:已暂停 </li>
      // <li> Done:已完成 </li>
      // <li> Failed:审核失败 </li>
      // <li> Cancel:已取消 </li>
      Status: "Running",
      // 审核任务类型,当前仅支持取值为 audit。
      TaskType: "audit",
      // 分页条数。取值范围为 (0,100],默认值为 100。
      Limit: 100,
      // 分页偏移量,默认为 0。取值为 1 时,表示跳过第一条数据,从第二条数据取值。
      Offset: 0,
    };

    const res = await imagexService.GetImageAuditTasks(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

更新审核任务配置

您可以调用 UpdateImageAuditTask 接口更新审核任务配置。详细的参数说明可参见 UpdateImageAuditTask 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function UpdateImageAuditTaskDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 指定待更新审核任务所在的服务 ID,您可通过调用 [查询所有审核任务](https://www.volcengine.com/docs/508/1158717) 获取待更新任务对应的服务 ID。
      ServiceId: "lk**i0",
      // 审核维度,根据审核能力的不同,其具体取值不同。基础审核与智能审核之间不支持混用。
      // <li> 基础安全审核,仅当 AuditAbility 取值为 0 时,配置生效。 </li>
      // <li> govern:涉政 </li>
      // <li> porn :涉黄	 </li>
      // <li> illegal:违法违规	 </li>
      // <li> terror:涉暴 </li>
      // <li> 智能安全审核,仅当 AuditAbility 取值为 1 时,配置生效。 </li>
      // <li> 图像风险识别 </li>
      // <li> porn :涉黄,主要适用于通用色情、色情动作、性行为、性暗示、性分泌物、色情动漫、色情裸露等涉黄场景的风险识别 </li>
      // <li> sensitive1 :涉敏1,具体指涉及暴恐风险	 </li>
      // <li> sensitive2:涉敏2,具体值涉及政治内容风险 </li>
      // <li> forbidden:违禁,主要适用于打架斗殴、爆炸、劣迹艺人等场景的风险识别 </li>
      // <li> uncomfortable:引人不适,主要适用于恶心、恐怖、尸体、血腥等引人不适场景的风险识别 </li>
      // <li> qrcode:二维码,主要适用于识别常见二维码(QQ、微信、其他二维码等) </li>
      // <li> badpicture:不良画面,主要适用于自我伤害、丧葬、不当车播、吸烟/纹身/竖中指等不良社会风气的风险识别	 </li>
      // <li> sexy:性感低俗,主要适用于舌吻、穿衣性行为、擦边裸露等多种性感低俗场景的风险识别 </li>
      // <li> age:年龄,主要适用于图中人物对应的年龄段识别 </li>
      // <li> underage:未成年相关,主要适用于儿童色情、儿童邪典等风险识别 </li>
      // <li> quality:图片质量,主要适用于图片模糊、纯色边框、纯色屏等风险识别 </li>
      // <li> 图文风险识别,您可在 AuditTextDimensions 配置文字审核的维度。 </li>
      // note:
      // 您可将智能安全审核的图像风险识别和图文风险识别搭配使用。
      //
      AuditDimensions: ["porn", "sensitive1", "sensitive2"],
      // 仅当 EnableAuditRange 取值 1 时,配置生效。
      // 指定前缀审核,若你希望对某个目录进行审核,请设置路径为对应的目录名,以/结尾。例如123/
      AuditPrefix: ["123/"],
      // 仅当 EnableAuditRange 取值 1 时,配置生效。
      // 指定前缀不审核,若你希望对某个目录不进行审核,请设置路径为对应的目录名,以/结尾。例如123/
      NoAuditPrefix: ["abc/"],
      // 是否开启冻结,取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      EnableFreeze: true,
      // 冻结措施,取值如下所示:
      // <li> recheck:建议复审 </li>
      // <li> nopass:审核不通过 </li>
      FreezeType: ["nopass", "recheck"],
      // 冻结维度,取值需要与 AuditDimensions 审核维度保持一致或少于 AuditDimensions。
      // 例如,AuditDimensions 取值 ["pron","sexy"],AuditTextDimensions 取值 ["ad"],支持您将 FreezeDimensions 取值 ["pron","sexy","ad"] 、 ["pron","sexy"]、["pron","ad"] 和 ["sexy","ad"] 任意一种。
      FreezeDimensions: ["porn", "sensitive1"],
      // 仅当 Type 为 UrlFile 时,配置生效。
      // 审核文件的 StoreUri,为 .txt 文件,该文件需上传至指定服务对应存储中。该 txt 文件内需填写待审核图片文件的 URL,每行填写一个,最多可填写 10000 行。
      ResUri: ["指定服务/图片审核文件.txt"],
      // 是否开启回调,取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      EnableCallback: true,
      // 回调类型,取值需要与 AuditDimensions 审核维度保持一致或少于 AuditDimensions。
      // 例如,AuditDimensions 取值 ["pron","sexy"],AuditTextDimensions 取值 ["ad"],支持您将 FreezeDimensions 取值 ["pron","sexy","ad"] 、 ["pron","sexy"]、["pron","ad"] 和 ["sexy","ad"] 任意一种。
      CallbackDimensions: ["porn", "sensitive1"],
      // 回调图片类型,取值如下所示:
      // <li> normal:正常图片 </li>
      // <li> problem:问题图片 </li>
      // <li> frozen:冻结图片 </li>
      // <li> fail:审核失败图片 </li>
      CallbackImageTypes: ["problem", "frozen"],
      // 回调 URL,veImageX 以 Post 方式向业务服务器发送 JSON 格式回调数据。具体回调参数请参考[回调内容](https://www.volcengine.com/docs/508/134676#%E5%9B%9E%E8%B0%83%E5%86%85%E5%AE%B9)。
      CallbackUrl: "http://example.callback.com",
      // 任务地区。当前仅支持取值 cn,表示国内。
      Region: "cn",
      // 任务 ID,您可通过调用 [查询所有审核任务](https://www.volcengine.com/docs/508/1158717) 获取所需的任务 ID。
      TaskId: "98172790****918301",
      // 图片审核仅支持审核 5MB 以下的图片,若您的图片大小在 5MB~32MB,您可以开启大图审核功能,veImageX 会对图片压缩后再进行审核。开启后,将对压缩能力按照[基础图片处理](https://www.volcengine.com/docs/508/65935#%E5%9F%BA%E7%A1%80%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%E6%9C%8D%E5%8A%A1)进行计费。(您每月可使用 20TB 的免费额度)
      // 取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)不开启 </li>
      // note:
      // <li> 若未开启大图审核且图片大小 ≥ 5 MB,可能会导致系统超时报错; </li>
      // <li> 若已开启大图审核但图片大小 ≥ 32 MB,可能会导致系统超时报错。 </li>
      EnableLargeImageDetect: true,
      // 智能安全审核类型下图片文本审核的具体维度,取值如下所示:
      // <li> ad:广告,综合图像及文字内容智能识别广告 </li>
      // <li> defraud:诈骗,综合图像及文字内容智能识别诈骗 </li>
      // <li> charillegal:文字违规,图片上存在涉黄、涉敏、违禁等违规文字 </li>
      // note:
      // 仅当 AuditDimensions 取值为智能安全审核模型时,您可将 AuditTextDimensions 与 AuditDimensions 搭配使用。
      AuditTextDimensions: ["ad"],
    };

    const res = await imagexService.UpdateImageAuditTask(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

获取审核任务结果

您可以调用 GetImageAuditResult 接口获取审核任务结果。详细的参数说明可参见 GetImageAuditResult 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageAuditResultDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 任务 ID,您可通过调用 [查询所有审核任务](https://www.volcengine.com/docs/508/1160409) 获取所需的任务 ID。
      TaskId: "971917**019018",
      // 审核场景,缺省情况下查询全部场景的任务。取值如下所示:
      // <li> UrlFile:上传 txt 审核文件处理场景 </li>
      // <li> Url:上传审核图片 URL 处理场景 </li>
      // <li> Upload:图片上传场景 </li>
      Type: "UrlFile",
      // 问题类型,取值根据审核类型的不同其取值不同。缺省情况下返回全部类型任务。
      // <li> 基础安全审核 </li>
      // <li> govern:涉政 </li>
      // <li> porn :涉黄 </li>
      // <li> illegal:违法违规 </li>
      // <li> terror:涉暴 </li>
      // <li> 智能安全审核 </li>
      // <li> 图像风险识别 </li>
      // <li> porn :涉黄,主要适用于通用色情、色情动作、性行为、性暗示、性分泌物、色情动漫、色情裸露等涉黄场景的风险识别 </li>
      // <li> sensitive1 :涉敏1,具体指涉及暴恐风险 </li>
      // <li> sensitive2:涉敏2,具体值涉及政治内容风险 </li>
      // <li> forbidden:违禁,主要适用于打架斗殴、爆炸、劣迹艺人等场景的风险识别 </li>
      // <li> uncomfortable:引人不适,主要适用于恶心、恐怖、尸体、血腥等引人不适场景的风险识别 </li>
      // <li> qrcode:二维码,主要适用于识别常见二维码(QQ、微信、其他二维码等) </li>
      // <li> badpicture:不良画面,主要适用于自我伤害、丧葬、不当车播、吸烟/纹身/竖中指等不良社会风气的风险识别 </li>
      // <li> sexy:性感低俗,主要适用于舌吻、穿衣性行为、擦边裸露等多种性感低俗场景的风险识别 </li>
      // <li> age:年龄,主要适用于图中人物对应的年龄段识别 </li>
      // <li> underage:未成年相关,主要适用于儿童色情、儿童邪典等风险识别 </li>
      // <li> quality:图片质量,主要适用于图片模糊、纯色边框、纯色屏等风险识别 </li>
      // <li> 图文风险识别 </li>
      // <li> ad:广告,综合图像及文字内容智能识别广告 </li>
      // <li> defraud:诈骗,综合图像及文字内容智能识别诈骗 </li>
      // <li> charillegal:文字违规,图片上存在涉黄、涉敏、违禁等违规文字 </li>
      Problem: "pron",
      // 图片类型,缺省情况下返回全部类型任务。取值如下所示:
      // <li> problem:问题图片 </li>
      // <li> frozen:冻结图片 </li>
      // <li> fail:审核失败图片 </li>
      ImageType: "fail",
      // 审核建议,缺省情况下返回全部任务。取值如下所示:
      // <li> nopass:建议不通过 </li>
      // <li> recheck:建议复审 </li>
      AuditSuggestion: "nopass",
      // 分页条数。取值范围为 (0,100],默认值为 10。
      Limit: 10,
      // 上一次查询返回的位置标记,作为本次列举的起点信息。默认值为 0。
      Marker: 0,
    };

    const res = await imagexService.GetImageAuditResult(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}