asset:// 引用地址,可直接用于视频生成。1. 获取 H5 认证链接 POST /v1/assets/real-person/auth/link (提交艺人名称)
│
▼
2. 授权方刷脸 打开返回的 h5_url,在 120 秒内完成人脸认证
│
▼
3. 查询艺人组 GET /v1/assets/real-person/groups (拿到真人组 group_id)
│
▼
4. 上传真人素材 POST /v1/assets (传真人组 group_id,触发人脸校验)
│
▼
5. 用于视频生成 asset:// 引用地址传入 /v1/video/generations⚠️ H5 认证链接有效期 120 秒,且使用一次后失效,超时需重新调用第 1 步获取新链接。
group_id。Authorization: Bearer sk-xxxx
Content-Type: application/json{BASE_URL}/v1/assetsPOST /v1/assets/real-person/auth/link| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| artist_name | string | 是 | 艺人(授权组)名称,最多 32 字符,不可重复 |
| artist_desc | string | 否 | 艺人描述,最多 300 字符 |
{
"code": "success",
"data": {
"h5_url": "https://h5-v2.kych5.com?...",
"tip": "请让授权方在 120 秒内打开并完成认证,链接使用后失效"
}
}| 字段 | 说明 |
|---|---|
| h5_url | 真人认证页面链接,有效期 120 秒,使用一次后失效 |
| tip | 使用提示 |
h5_url 转交授权方(真人本人),让其在手机上打开并在 120 秒内完成人脸认证。group_id。| 场景 | 响应 |
|---|---|
| 艺人名称为空 | {"error":{"message":"artist_name 不能为空"}} |
| 艺人名称过长 | {"error":{"message":"artist_name 最多支持 32 个字符"}} |
| 艺人描述过长 | {"error":{"message":"artist_desc 最多支持 300 个字符,请缩短描述后重试"}} |
| 未配置真人素材渠道 | {"error":{"message":"未找到可用的火山素材渠道..."}} |
| 创建授权链接失败 | {"error":{"message":"创建真人授权链接失败"}} |
group_id。GET /v1/assets/real-person/groups{
"code": "success",
"data": {
"items": [
{
"id": 128,
"group_id": "group-20260427120029-b2sks",
"artist_name": "张三",
"artist_desc": "品牌代言人真人素材组",
"authorized_at": "2026-04-27T12:00:29+08:00",
"asset_count": 3
}
]
}
}| 字段 | 说明 |
|---|---|
| id | 平台真人素材组 ID,上传真人素材时作为 group_id 传入(见「3. 上传真人素材」) |
| group_id | 上游真实素材组标识(group-xxx),仅供参考展示 |
| artist_name | 创建认证链接时填写的艺人名称 |
| artist_desc | 艺人描述 |
| authorized_at | 授权成功时间 |
| asset_count | 该组已有素材数量 |
id(平台组 ID,整数),不是上游 group_id 字符串。POST /v1/assets,只需把 group_id 指定为「2. 查询真人素材组」返回的真人组 id。系统识别到真人组后,会向上游透传真人组标识,触发人脸一致性校验。支持同步( sync,默认)与异步(async)两种模式,参数与普通素材上传完全一致,详见《素材库 API 接口文档》。以下以同步为例。
POST /v1/assets| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 素材文件的公网可访问 URL(须为该真人的正脸素材) |
| asset_type | string | 是 | 素材类型:Image、Video、Audio |
| group_id | int | 是 | 真人素材组 ID,即「2. 查询真人素材组」返回的 id |
| name | string | 否 | 素材名称(上限 64 字符) |
| upload_mode | string | 否 | sync(默认)/ async |
{
"code": "success",
"data": {
"id": "asset-20260427120130-ngtck",
"asset_url": "asset://asset-20260427120130-ngtck"
}
}{
"error": {
"message": "FaceMismatch: 上传素材与授权认证人脸不一致"
}
}asset_url:真人素材引用地址(asset://{id}),审核通过后可直接用于视频生成。FaceMismatch 失败。group_id 传的是普通分组(非真人组),则走普通上传逻辑,不会触发人脸校验。| 场景 | 响应 |
|---|---|
| group_id 非当前令牌真人组 | {"error":{"message":"该 group_id 不属于当前用户或尚未授权成功"}} |
| 人脸不匹配 | {"error":{"message":"FaceMismatch: ..."}} |
| 素材 URL 不合法 | {"error":{"message":"第1条URL文件类型不受支持..."}} |
| 分组不存在/无权访问 | {"error":{"message":"指定的分组不存在或无权访问"}} |
status=Active)后,与普通素材一样通过 asset:// 地址在视频生成中引用:视频生成的完整参数、素材引用类型(reference_image / first_frame / reference_video 等)与查询结果,详见《素材库 API 接口文档》第 9 节。
group_id 也不同。group_id 必须属于当前令牌,否则被拒绝。FaceMismatch 失败。group_id(用普通分组)时,走普通素材逻辑,不进入真人素材组、不触发人脸校验。| HTTP 状态码 | 错误信息 | 说明 |
|---|---|---|
| 400 | artist_name 不能为空 | 获取认证链接时未传艺人名称 |
| 400 | artist_name 最多支持 32 个字符 | 艺人名称超长 |
| 400 | artist_desc 最多支持 300 个字符 | 艺人描述超长 |
| 400 | 该 group_id 不属于当前用户或尚未授权成功 | 上传时真人组不属于当前令牌,或未授权成功 |
| 400 | 请选择令牌 | 查询真人组时未识别到令牌 |
| 403 | 未找到可用的火山素材渠道 | 管理员未为该令牌所在分组配置真人素材渠道 |
| 500 | FaceMismatch | 上传素材与授权认证人脸不一致 |
| 500 | 创建真人授权链接失败 | 上游创建授权链接失败 |