GroupId。Action 区分:https://{your-domain}/openapi/volcengine/?Action={Action}&Version=2024-01-01POST 和 GET。推荐使用 POST 并通过 JSON 请求体传参,本文示例均使用 POST。CreateAssetGroup创建的是普通AIGC素材组,不能创建真人素材组。真人素材组只能在用户完成CreateVisualValidateSession发起的活体认证后,由GetVisualValidateResult返回。
| Action | 用途 | 真人素材流程 |
|---|---|---|
CreateVisualValidateSession | 创建真人人像 H5 认证会话 | 必需 |
GetVisualValidateResult | 查询认证结果并取得真人素材组 GroupId | 必需 |
CreateAssetGroup | 创建普通 AIGC 素材组 | 非必需,不能代替真人认证 |
GetAssetGroup | 查询或验证素材组 | 可选 |
CreateAsset | 向指定素材组上传素材 | 必需 |
GetAsset | 查询素材处理状态和详情 | 必需 |
CreateVisualValidateSession
│
├── BytedToken
└── H5Link
│
▼
用户打开 H5Link
完成真人活体认证
│
▼
GetVisualValidateResult
│
└── GroupId(LivenessFace 真人素材组)
│
├── GetAssetGroup(可选验证)
│
▼
CreateAsset
│
└── Id(素材 ID)
│
▼
GetAsset(轮询)
│
├── Active:素材可用
└── Failed:处理失败CreateAssetGroup
│
└── Id(AIGC GroupId)
│
├── GetAssetGroup(可选验证)
│
▼
CreateAsset
│
└── Id(素材 ID)
│
▼
GetAsset(轮询)CreateAsset 时不传 GroupId,由 Open Move 自动创建或复用普通 AIGC 素材组。上传真人素材时必须显式传入真人认证返回的 GroupId。| Header | 说明 |
|---|---|
Authorization | HMAC-SHA256 Credential={AccessKeyId}/{date}/{region}/ark/request, SignedHeaders=host;x-content-sha256;x-date, Signature={signature} |
X-Date | UTC 时间,格式为 yyyyMMddTHHmmssZ,允许误差 ±15 分钟 |
X-Content-Sha256 | 实际请求体的 SHA256 哈希 |
Host | Open Move 服务域名 |
Content-Type | 推荐使用 application/json |
Region: cn-beijing
Service: ark
Version: 2024-01-01{
"ResponseMetadata": {
"RequestId": "string",
"Action": "string",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {}
}{
"ResponseMetadata": {
"RequestId": "string",
"Action": "string",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing",
"Error": {
"Code": "InvalidParameter",
"Message": "CallbackURL is required"
}
}
}ResponseMetadata.Error,不能仅判断是否存在 Result。{
"CallbackURL": "https://your-app.com/face-verify/callback?order_id=order-1001"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
CallbackURL | string | 是 | 用户完成 H5 认证后,Open Move 最终将浏览器重定向到的客户地址 |
CallbackURL 必须是调用方自己的回调落地页。不要填写 Open Move 的内部认证回调地址。{
"ResponseMetadata": {
"RequestId": "20260718150513F42FF1D7034AFA2FEC89",
"Action": "CreateVisualValidateSession",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"BytedToken": "cv-token-20260718150513-abc123def456",
"H5Link": "https://visual.volcengineapi.com/verify?token=cv-token-20260718150513-abc123def456",
"CallbackURL": "https://your-app.com/face-verify/callback?order_id=order-1001"
}
}| 字段 | 说明 |
|---|---|
BytedToken | 认证会话令牌,后续调用 GetVisualValidateResult 时使用 |
H5Link | 用户完成真人活体认证的 H5 页面 |
CallbackURL | 回显请求中的客户回调地址 |
BytedToken,并将 H5Link 提供给当前需要认证的用户。CallbackURL。| 参数 | 说明 |
|---|---|
bytedToken | 当前认证会话令牌 |
resultCode | 上游认证结果码,成功通常为 10000 |
groupId | 认证成功时返回的真人素材组 ID |
GetVisualValidateResult 的查询结果为准。BytedToken 查询真人认证结果。认证成功后返回的 GroupId 是 LivenessFace 真人素材组 ID。{
"BytedToken": "cv-token-20260718150513-abc123def456"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
BytedToken | string | 是 | CreateVisualValidateSession 返回的令牌 |
{
"ResponseMetadata": {
"RequestId": "20260718151000F42FF1D7034AFA2FEC90",
"Action": "GetVisualValidateResult",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"GroupId": "group-20260718150513-livenessface-xyz"
}
}| 字段 | 说明 |
|---|---|
GroupId | 认证成功后创建的真人素材组 ID |
GroupId:认证成功,停止轮询。ResponseMetadata.Error.Code 为 ValidatePending:认证尚未完成,等待后继续轮询。ResponseMetadata.Error:停止当前轮询或根据错误类型退避重试。BytedToken,仅凭 token 无法确定唯一会话,接口会返回歧义错误,不会任意选择其中一条记录。此 Action 不能创建真人 LivenessFace素材组,也不是上传真人素材的前置步骤。
{
"Name": "我的普通素材组",
"Description": "用于普通 AIGC 素材",
"GroupType": "AIGC"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
Name | string | 是 | 素材组名称 |
Description | string | 否 | 素材组描述 |
GroupType | string | 否 | 普通素材组使用 AIGC |
{
"ResponseMetadata": {
"RequestId": "20260718151200C01F49B47C0559E2122A",
"Action": "CreateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260718151200-8phsh"
}
}Result.Id 是新建的普通素材组 ID。CreateAssetGroup 创建的普通素材组,也可以用于验证真人认证返回的 GroupId。{
"Id": "group-20260718150513-livenessface-xyz"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
Id | string | 是 | 需要查询的素材组 ID |
{
"ResponseMetadata": {
"RequestId": "20260718151300A87E25BAEF8D44CF80D0",
"Action": "GetAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260718150513-livenessface-xyz",
"Name": "真人素材组",
"GroupType": "LivenessFace",
"ProjectName": "Seedance默认",
"CreateTime": "2026-07-18T07:10:00Z",
"UpdateTime": "2026-07-18T07:10:00Z"
}
}GetAsset 查询处理结果。GroupId 必须使用 GetVisualValidateResult 返回的真人素材组 ID:{
"GroupId": "group-20260718150513-livenessface-xyz",
"URL": "https://example.com/real-person-photo.jpg",
"AssetType": "Image",
"Name": "真人正面照片"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
GroupId | string | 真人素材必填 | 目标素材组 ID;真人素材必须传认证返回的 GroupId |
URL | string | 是 | 上游能够通过公网访问的素材 URL,推荐 HTTPS |
AssetType | string | 是 | Image、Video 或 Audio |
Name | string | 否 | 素材名称 |
CreateAssetGroup 返回的 ID;也可以不传 GroupId,让 Open Move 自动创建或复用普通 AIGC 素材组。{
"ResponseMetadata": {
"RequestId": "20260718151500BD40EA153193D54EB921",
"Action": "CreateAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "asset-20260718151500-x8qmn"
}
}Result.Id 是新建的素材 ID。{
"Id": "asset-20260718151500-x8qmn"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
Id | string | 是 | CreateAsset 返回的素材 ID |