XRToken API 文档

真人扫码活体流程

调用指南,通过火山引擎活体认证绑定真人 AssetGroup

API 配置
保存后下方「Try It」面板会自动携带此 API Key 发送真实请求。
Base: api.xrtoken.net

真人活体认证是开通"真人数字人"能力的前置步骤:终端用户扫码完成一次火山引擎的活体采集后,对应的 AssetGroup 会绑定到当前 API 调用方的用户下,后续视频生成接口就能通过 asset://<groupId> 引用这个真人。

整套流程只涉及火山引擎必要的两个请求接口,按顺序调用即可。

前置要求

调用以下接口需满足:

条件来源
账号开通 可信创作者(trusted_creator)控制台提交申请
账号通过 企业认证控制台提交企业资料

以上由平台审核,一次性完成,无需在每次调用时重复处理。

步骤

1. 发起扫码会话

curl -X POST -H "Authorization: Bearer tr-xxx" \
  https://api.xrtoken.ai/v1/asset-groups/validate-session
{
  "BytedToken": "eyJhbGci...",
  "RedirectURL": "https://openspeech.bytedance.com/ark/liveness?...",
  "QRCodeDataURL": "data:image/png;base64,iVBOR...",
  "ExpiresIn": 120
}

QRCodeDataURL 直接塞到 <img src>。用户手机扫码后跳转到火山 H5 完成活体采集。

2. 轮询结果

用上一步拿到的 BytedToken,建议 每 5 秒 轮询一次,直到终态或 120 秒超时:

curl -X POST -H "Authorization: Bearer tr-xxx" \
  -H "Content-Type: application/json" \
  -d '{"bytedToken":"eyJhbGci..."}' \
  https://api.xrtoken.ai/v1/asset-groups/validate-result

三种终态:

终态响应体
成功包含 GroupId + status: "active"
失败包含 ResponseMetadata.Error
进行中GroupId,继续轮询

一旦拿到 GroupId,该真人组已绑定到当前用户,后续 POST /v1/videos/generations 里就能 asset://<GroupId> 引用了。

一个 API key 服务多个最终用户时,创建会话和轮询都要带同一个 external_user_id。请求示例见 素材库 · external_user_id

常见错误

错误码原因处理
403 tier_insufficient未开通可信创作者去控制台申请
403 enterprise_required未完成企业认证补交企业资料
502 upstream_error火山侧临时故障重试

On this page