API 文档 · 素材
素材类型与真人认证
trust_class、虚拟人物与真人照片的刷脸认证。
创建素材时用 trust_class 声明素材类型。平台不会自动识别人像,以你的声明为准;创建后不能修改,声明错了请删除后重新上传。
| trust_class | 用于 | 使用条件 |
|---|---|---|
normal | 普通图片、视频、音频(默认) | 入库后即可使用 |
virtual_avatar | AI 生成或卡通形象等虚拟人物,用于保持角色一致 | 入库后即可使用;首次用于任务时平台把素材同步到处理渠道的素材库(任务状态 preparing),只会分配到支持素材库的线路 |
real_person | 真人照片(只支持图片) | 入库后为 authorization_required,素材中的本人完成真人认证后才能使用 |
真人认证流程
- 调用
POST /v1/assets/{id}/portrait-authorizations,传{ "model": "…" }(要用这个素材的模型)。返回201和认证对象:status为pending,带h5_link与expires_at(30 分钟后)。 - 把
h5_link交给素材中的本人(例如生成二维码),本人用手机打开并按提示完成刷脸。完成后页面跳到本站的提示页,回到你的应用等待结果即可。 - 用
GET /v1/portrait-authorizations/{id}查询,建议每 5 秒左右一次,直到status变为verified、failed或expired。平台也会在后台定时查询,不查询也会更新。 verified后素材变为available,可以在该模型的任务里使用。
也可以在控制台 · 素材打开素材详情直接发起,页面会显示二维码并自动刷新结果。GET /v1/assets/{id}/portrait-authorizations 列出该素材最近的认证记录。
认证状态
| status | 含义 |
|---|---|
pending | 等待本人完成刷脸;h5_link 只在这个状态返回 |
verified | 认证通过,verified_at 为通过时间 |
failed | 认证未通过,error 给出原因;可以重新发起 |
expired | 30 分钟内没有完成;可以重新发起 |
认证按模型生效
认证只对发起时选择的模型有效。用这个素材提交其他模型的任务时返回 422 authorization_required,请为那个模型再发起一次认证。同一素材在同一模型上已认证过时,再次发起直接返回已有的 verified 记录。
错误
| HTTP | code | 场景 |
|---|---|---|
| 422 | invalid_parameter | 素材不是 real_person、不是图片,或 model 不存在 |
| 403 | permission_denied | 账号未开通该模型 |
| 404 | not_found | 素材或认证记录不存在,或不属于你 |
| 503 | no_available_channel | 该模型暂时没有可用的真人认证通道,请稍后重试 |
素材里的人必须是完成刷脸的本人
上游会比对素材与刷脸的人脸,比对不通过时素材无法用于生成,用到它的任务会以
asset_rejected 失败。# 发起真人认证:返回 h5_link,30 分钟内有效
curl https://api.aitoken.tools/v1/assets/asset_xxx/portrait-authorizations \
-H "Authorization: Bearer $AITOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"seedance-2.0-standard"}'
# 把 h5_link 发给素材中的本人刷脸,然后查询结果,直到 status 为 verified / failed / expired
curl https://api.aitoken.tools/v1/portrait-authorizations/auth_xxx \
-H "Authorization: Bearer $AITOKEN_API_KEY"