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
(可选)清理素材 POST /v1/assets/real-person/assets/delete 删单个真人素材
(可选)清理整组 POST /v1/assets/real-person/groups/delete 删整个真人素材组(连同组内素材)⚠️ 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":"指定的分组不存在或无权访问"}} |
⚠️ 真人素材删除不可恢复, 且是永久从上游与平台一并移除。请确认素材确实不再需要后再调用。
POST /v1/assets/real-person/assets/delete| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 是 | 素材 ID,即「3. 上传真人素材」返回的 id(形如 asset-xxx,不含 asset:// 前缀) |
{
"code": "success",
"data": {
"id": "asset-20260427120130-ngtck"
}
}id 不属于当前用户时返回「素材不存在」。asset:// 引用地址即刻失效,请勿再用于视频生成。| 场景 | HTTP | 响应 |
|---|---|---|
| 素材不属于当前令牌/不存在 | 404 | {"error":{"message":"素材不存在"}} |
| 上游删除失败 | 500 | {"error":{"message":"删除上游真人素材失败: ..."}} |
⚠️ 删除真人素材组会连同组内所有素材一并永久移除,且不可恢复。请务必确认整组素材都不再需要后再调用。
POST /v1/assets/real-person/groups/delete| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 平台真人素材组 ID,即「2. 查询真人素材组」返回的 id(整数) |
{
"code": "success"
}id 是「2. 查询真人素材组」返回的平台组 ID(整数),不是上游 group_id 字符串。/v1/assets/groups/delete。| 场景 | HTTP | 响应 |
|---|---|---|
| 组不属于当前令牌/不存在 | 400 | {"error":{"message":"分组不存在"}} |
| 传入的是普通分组(非真人组) | 400 | {"error":{"message":"该接口仅用于删除真人素材组,普通分组请走 /groups/delete"}} |
| 上游删除失败 | 500 | {"error":{"message":"删除上游真人素材组失败: ..."}} |
status=Active)后,与普通素材一样通过 asset:// 地址在视频生成中引用:视频生成的完整参数、素材引用类型(reference_image / first_frame / reference_video 等)与查询结果,详见《素材库 API 接口文档》第 9 节。