阅读本文,您可以获取 Node SDK 智能审核的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 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); } }