易盾提出基于人类认知学习的自适应人脸鉴伪算法,通过模拟人类认知学习过程,从大规模人脸数据中学习通用、细粒度的人脸特征信息,并通过大模型对齐学习技术进一步强化真假人脸的差异性,有效提升对伪造人脸的识别能力。 接口支持传入人脸图片或人脸视频,通过人脸鉴伪算法检测是否存在深度伪造风险。能够精准识别包括,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几种加密算法,详细信息,请参见接口鉴权 (https://support.dun.163.com/documents/391676076156063744?docId=622572798032863232) ## 请求 ### 请求地址 名称 | 值 HTTP URL | https://verify.dun.163.com/v1/deepfake/checkV2 HTTP Method | POST ### 请求头 名称 | 类型 | 必填 | 描述 Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" ### 请求参数 请求参数由请求公共参数和请求业务参数两部分组成,通用参数见请求通用字段 (https://support.dun.163.com/documents/391676076156063744?docId=622573136165068800) 名称 | 类 型 | 必填 | 最大长度 | 描述 faceInputType | Number | 否 | 4 | 人脸素材输入类型:1-人脸图片(默认)2-人脸视频备注:视频处理时间较久,建议超时时间设置适当延长。视频模式当前暂未开放。 inputType | Number | 是 | 4 | 人脸素材输入格式:1-URL2-BASE64 faceData | String | 是 | 图片Base64≤约2MB;视频Base64≤约10MB;URL≤2048字符 | 待检测的人脸素材(图片或视频)。当 inputType=2(BASE64)且 faceInputType=1 时,需为合法图片内容(JPG/PNG/GIF/BMP/WEBP/TIFF),否则会返回人脸数据格式错误。 dataId | String | 否 | 64 | 数据标识,可传入用户标识等数据,便于数据查询 ### 请求体示例 Code: version=v1&businessId=xxx×tamp=1638180222235&nonce=xxx&secretId=xxx&signature=xxx&faceInputType=1&inputType=2&faceData=xxx&dataId=xxx ## 响应 ### 响应结果 响应字段如下,响应通用字段已省略,详细见响应公共字段 (https://support.dun.163.com/documents/391676076156063744?docId=624032228347863040) 参数名称 | 类型 | 必须返回 | 描述 status | Number | 是 | 认证结果,1-识别成功,具体结果见riskResultInfo字段。0-待定,具体原因见reasonType字段 reasonType | Number | 是 | 原因详情:1-识别成功2-图片格式或大小不正确3-检测不到人脸7-系统繁忙8-视频文件大小不符合预期,体积需大于100KB且不超过10M9-视频时长不超过10s10-视频格式不正确,支持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 (json): { "code": 200, "msg": "ok", "result": { "taskId": "fcb5dc3b6b5242b1bd0b14c866c83ec5", "status": 1, "reasonType": 1, "isPayed": 1, "riskResultInfo": "0" } } 识别成功-存在伪造风险 Code (json): { "code": 200, "msg": "ok", "result": { "taskId": "fcb5dc3b6b5242b1bd0b14c866c83ec5", "status": 1, "reasonType": 1, "isPayed": 1, "riskResultInfo": "1", "riskTag": "suspectedDeepfake,suspectedTemplateAttack" } } ### 响应返回码 响应返回码见:响应返回码 (https://support.dun.163.com/documents/391676076156063744?docId=624032338595143680) 接口业务层额外可能返回的错误码: HTTP 状态码 | 业务状态码 | 描述 405 | - | picType/inputType字段出错,请参考开发文档进行核查 405 | - | inputType不能为空 405 | - | inputType参数值不合法,仅允许1(URL)或2(BASE64) 405 | - | faceInputType字段出错,仅允许1(图片)或2(视频) 405 | - | faceData不能为空或大小不符合要求 405 | - | 人脸数据格式有误,请检查输入格式与声明类型是否一致 405 | - | 视频base64大小或视频url长度为空或超限 503 | - | 视频深伪检测接口暂不可用,请使用图片模式或稍后重试