要在视频中使用真实人物形象,本人必须先通过活体认证(刷脸),认证通过后系统自动创建一个 LivenessFace 素材组,此后即可向该组上传这位真人的照片并在视频生成中引用。整个流程全 API 化,无需人工审核介入。
该流程用于防止深度伪造:只有完成刷脸的本人形象才能被用于生成,未经认证的真实人脸图片会被内容审核拒绝。

鉴权方式

真人认证与 素材库 共用同一入口,支持 API Key 和火山官方 AK/SK 两种鉴权方式。两种方式访问同一份账号素材数据,并受对应 API Key 的额度、状态、有效期和访问策略约束。

API Key(Bearer)

火山官方 AK/SK(HMAC-SHA256)

使用 API Key 所绑定的 AK/SK,按照火山官方 HMAC-SHA256 方式签名。已有火山客户端只需将 Endpoint 替换为 https://api.looprouter.com,并使用 LoopRouter API Key 页面生成的 AK/SK;Action、Version、请求体和响应解析保持不变。 火山签名请求使用根路径 /,Service 为 ark,Region 推荐 cn-beijing。下面示例使用火山官方 Go SDK 发起真人认证会话:
AK/SK 可用于 CreateVisualValidateSession、GetVisualValidateResult 及其他 JSON 素材 Action。后续视频生成接口仍使用 API Key;本地文件 multipart/form-data 上传也继续使用 API Key。

认证流程

1

发起认证会话 — CreateVisualValidateSession

响应:
2

被认证人完成 H5 刷脸

将 H5Link 发给需要认证的本人,用手机打开并按提示完成人脸活体检测。会话有效期约 15 分钟。
3

查询认证结果 — GetVisualValidateResult

三种结果:认证通过 — HTTP 200,返回真人素材组 ID:
尚未完成 — HTTP 404,Error.Code 为 NotFound.VisualValidateResult。这不是异常,表示对方还没刷完脸,继续轮询即可(建议 3–5 秒一次)。失败 / 过期 — HTTP 200,Result.Status 为 failed 或 expired,失败时附带 ResultCode / ResultMessage。
4

向真人素材组上传照片 — CreateAsset

照片必须是已认证本人的清晰照片;上传其他人的照片会在内容审核阶段失败。随后用 GetAsset 轮询到 Status: "Active"。
5

在视频生成中引用真人素材

Python 完整示例

注意事项

  • BytedToken 与素材组、素材 ID 一样属于敏感凭据,请勿泄露。
  • 认证会话约 15 分钟过期,请在发起后尽快完成刷脸;过期后重新调用 CreateVisualValidateSession 即可。
  • 一次认证对应一个真人素材组;同一账号可为多位真人分别发起认证,各自维护素材组。
生成效果建议:同一真人上传「正面全身照 + 自然表情面部特写」两张素材并同时引用;提示词中用「图片1」「图片2」指代,台词放在双引号内可获得更好的口播效果。

错误码

相关文档

素材库 API

素材组与素材的完整管理接口

素材引用实战

从上传到生成的端到端示例

视频生成 API

生成参数详解