易盾人脸深伪检测接口V2
易盾提出基于人类认知学习的自适应人脸鉴伪算法,通过模拟人类认知学习过程,从大规模人脸数据中学习通用、细粒度的人脸特征信息,并通过大模型对齐学习技术进一步强化真假人脸的差异性,有效提升对伪造人脸的识别能力。
接口支持传入人脸图片或人脸视频,通过人脸鉴伪算法检测是否存在深度伪造风险。能够精准识别包括,AIGC生成人脸、人脸深度伪造、人脸像素级PS、“AI换脸”模板以及翻拍/怼屏等伪造场景。
接口说明
图片要求
- 图片格式:JPG、JPEG、PNG、GIF、BMP、WEBP、TIFF。
- 图片大小:推荐50~100 KB,Base64编码后最大不超过约2 MB。
- 图片分辨率:建议640480(高宽),不超过19201080(高宽),且保持照片的高大于宽。推荐短边缩放到720像素,压缩率0.8。
- 图片质量:照片清晰、曝光正常,脸部无过黑、过亮、光晕等情况。
- 图片人脸:当图片出现多人脸,系统会默认检测最大脸。
视频要求
- 视频格式:支持mp4、avi、flv格式。
- 视频大小:体积建议大于100KB,Base64编码后建议在8M以内,最大不可超过10M。
- 视频时长:建议2~5s,最大不可超过10s。
- 视频分辨率:建议640 * 480(高 * 宽)。
- 视频处理时间较久,建议接口超时时间设置适当延长。
鉴权说明
易盾信息认证服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
请求
请求地址
| 名称 | 值 |
|---|---|
| HTTP URL | https://verify.dun.163.com/v1/deepfake/checkV2 |
| HTTP Method | POST |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由请求公共参数和请求业务参数两部分组成,通用参数见请求通用字段
| 名称 | 类 型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| faceInputType | Number | 否 | 4 | 人脸素材输入类型: 1-人脸图片(默认) 2-人脸视频 备注:视频处理时间较久,建议超时时间设置适当延长。视频模式当前暂未开放。 |
| inputType | Number | 是 | 4 | 人脸素材输入格式: 1-URL 2-BASE64 |
| faceData | String | 是 | 图片Base64≤约2MB;视频Base64≤约10MB;URL≤2048字符 | 待检测的人脸素材(图片或视频)。当 inputType=2(BASE64)且 faceInputType=1 时,需为合法图片内容(JPG/PNG/GIF/BMP/WEBP/TIFF),否则会返回人脸数据格式错误。 |
| dataId | String | 否 | 64 | 数据标识,可传入用户标识等数据,便于数据查询 |
请求体示例
version=v1&businessId=xxx×tamp=1638180222235&nonce=xxx&secretId=xxx&signature=xxx&faceInputType=1&inputType=2&faceData=xxx&dataId=xxx
响应
响应结果
响应字段如下,响应通用字段已省略,详细见响应公共字段
| 参数名称 | 类型 | 必须返回 | 描述 |
|---|---|---|---|
| status | Number | 是 | 认证结果,1-识别成功,具体结果见riskResultInfo字段。0-待定,具体原因见reasonType字段 |
| reasonType | Number | 是 | 原因详情: 1-识别成功 2-图片格式或大小不正确 3-检测不到人脸 7-系统繁忙 8-视频文件大小不符合预期,体积需大于100KB且不超过10M 9-视频时长不超过10s 10-视频格式不正确,支持mp4、avi、flv格式 11-视频截帧失败 12-文件分辨率较低 |
| taskId | String | 是 | 本次请求数据标识,可以根据该标识查询数据最新结果 |
| isPayed | Number | 是 | 本次请求是否收费标识,1代表收费,0代表不收费 |
| riskResultInfo | String | 否 | 风险结果 0-正常 1-伪造 照片识别结果,当status=1时,该字段才有值 |
| riskTag | String | 否 | 风险标签,仅当识别结果为伪造(riskResultInfo=1)时返回,多个标签以英文逗号分隔: suspectedDeepfake:疑似深度合成人脸攻击 suspectedTemplateAttack:疑似"AI换脸"模板攻击 suspectedFaceReplay:疑似翻拍人脸攻击 |
响应体示例
识别成功-正常
{
"code": 200,
"msg": "ok",
"result": {
"taskId": "fcb5dc3b6b5242b1bd0b14c866c83ec5",
"status": 1,
"reasonType": 1,
"isPayed": 1,
"riskResultInfo": "0"
}
}
识别成功-存在伪造风险
{
"code": 200,
"msg": "ok",
"result": {
"taskId": "fcb5dc3b6b5242b1bd0b14c866c83ec5",
"status": 1,
"reasonType": 1,
"isPayed": 1,
"riskResultInfo": "1",
"riskTag": "suspectedDeepfake,suspectedTemplateAttack"
}
}
响应返回码
响应返回码见:响应返回码
接口业务层额外可能返回的错误码:
| HTTP 状态码 | 业务状态码 | 描述 |
|---|---|---|
| 405 | - | picType/inputType字段出错,请参考开发文档进行核查 |
| 405 | - | inputType不能为空 |
| 405 | - | inputType参数值不合法,仅允许1(URL)或2(BASE64) |
| 405 | - | faceInputType字段出错,仅允许1(图片)或2(视频) |
| 405 | - | faceData不能为空或大小不符合要求 |
| 405 | - | 人脸数据格式有误,请检查输入格式与声明类型是否一致 |
| 405 | - | 视频base64大小或视频url长度为空或超限 |
| 503 | - | 视频深伪检测接口暂不可用,请使用图片模式或稍后重试 |

