一、一、角色说明
整个业务模式涉及四种角色,关系如下:
| 业务人员 | 系统角色 | 角色权限概述 |
| 腾讯数字人运营 | 管理员 | 集成商录入 + 集成商权益管理。 |
| 集成商 | 租户 | 将自有系统集成数字人的页面,打通用户登录态,拥有独立的租户空间 + 独立的运营后台,可自主控制:iframe 的换肤和站点对接货架运营SKU 管理用户权益管理 |
| 集成商的 B 端客户 | 企业 | 由集成商录入企业 + 管理企业级权益,并添加企业成员。 |
| 集成商的 C&B 终端用户 | 用户 | 用户自主在集成商侧注册,集成商登录数字人运营后台,管理用户级权益。 |
三、2.1 服务购买开通
·商务流程(集成商向腾讯商务发起):联系腾讯商务签署合约或通过腾讯云下单 iPaaS 服务。
·服务开通(腾讯交付人员操作):腾讯交付人员通过管理员身份,在腾讯数字人 SaaS 后台管理系统 > 租户管理模块,录入集成商的 iPaaS 服务资产及服务有效期,开通日即视为服务开始日。服务开通后,会获得后台管理系统的租户工作台管理账号。
六、对接服务,集成页面
提前阅读下方架构和接口文档,做好集成环境准备。
七、2.3 用户会员套餐 SKU 设计
在接入服务前,集成商可先参考以下权益项,自主设计租户层面的会员套餐 SKU 定价及包含的权益项范围。
注意:说明:
用户会员套餐 SKU 权益控制元数据项
| 权益分类 | 权益项 | 权益说明 | 权益项类型 | 用户校验配置值 | 权益清单展示值(示意) |
| 账号数 | 账号数量上限 | 控制可享受该档位会员权益的账号数量 | 用量权益 | x个 | 1个/套 |
| | 允许账号增购 | 是否允许该档位会员增购账号 | 功能权限 | true | false | √ | × |
| 数字人视频 | 视频清晰度 | 控制用户导出视频时的可选清晰度下拉选项 | 功能权限 | 720p|1080p|2k|4k | 最高4K |
| | 成片无水印 | 控制用户导出视频时的水印开关选项 | 功能权限 | true | false | √ | × |
| | 视频合成速度 | 当前仅用于权益页展示,后续预留关联控制并发数 | 展示值 | 按需配置 | 标准|较快|最快 |
| | 单条视频最大时长 | 控制用户导出视频的最大单条视频时长 | 用量权益 | x分钟/条,-1代表无限制 | 5分钟 |
| | 合成视频合成使用量 | 控制用户导出视频的当月累计视频时长 | 用量权益 | x分钟/月,-1代表无限制 | 30分钟/月 |
| | 可用公版数字人数量 | 仅用于权益页提示用户该档位会员可使用的公版数字人数量,实际需通过数字人货架配置付费类型控制 | 展示值 | 按需配置 | 50+ |
| | 可用视频模板数量 | 仅用于权益页提示用户该档位会员可使用的视频模板数量,实际需通过模板配置付费类型控制 | 展示值 | 按需配置 | 60个公共模板+专用模板 |
| TTS | 可用公版音色 | 仅用于权益页提示用户该档位会员可使用的公版音色数量,实际需通过声音货架配置付费类型控制 | 展示值 | 按需配置 | 50+ |
| | 每日试听上限 | 控制用户制作音频中通过试听合成的 TTS 时长上限 | 用量权益 | x分钟/日,-1代表无限制 | 20分钟/日 |
| | 每日合成 TTS 总次数 | 控制用户制作音频中正式合成的 TTS 时长上限 | 用量权益 | x分钟/月,-1代表无限制 | 50分钟/月 |
| | 字幕下载 | 是否允许该档位会员点击下载字幕文件 | 功能权限 | true | false | √ | × |
| 数字人定制 | 专属口型数字人定制额度 | 控制用户定制专属口型数字人时的可用配额数量 | 用量权益 | x个,-1代表无限制 | 1个/套 |
| | 通用口型数字人定制额度 | 控制用户定制通用口型数字人时的可用配额数量 | 用量权益 | x个,-1代表无限制 | 1个/套 |
| | 照片数字人定制额度 | 控制用户定制照片数字人时的可用配额数量 | 用量权益 | x个,-1代表无限制 | 1个/套 |
| | 可用高精数字人 | 是否允许该档位会员增购及使用高精数字人(4K数字人) | 功能权限 | true | false | √ | × |
| 声音复刻 | 极速版声音复刻额度 | 控制用户定制极速版声音复刻时的可用配额数量 | 功能权限 | true | false | √ | × |
| | 基础版声音复刻额度 | 控制用户定制基础版声音复刻时的可用配额数量 | 功能权限 | true | false | √ | × |
| AI 小工具 | 智能抹除 | 控制用户导出智能抹除视频的当月累计时长上限 | 用量权益 | x分钟/月,-1代表无限制 | 300+分钟/月 |
| | 智能转比例 | 控制用户导出智能转比例视频的当月累计时长上限 | 用量权益 | x分钟/月,-1代表无限制 | 300+分钟/月 |
| 团队协作 | 团队成员管理 | 是否允许该档位会员创建和管理团队空间 | 功能权限 | true | false | √ | × |
| | 团队成员共享 | 是否允许该档位会员在团队空间内共享资源和成片 | 功能权限 | true | false | √ | × |
| | 协作编辑与评论 | 是否允许该档位会员在团队空间内协作编辑和评论视频 | 功能权限 | true | false | √ | × |
| 其他 | 可商用 | 当前仅用于权益页展示 | 功能权限 | true | false | √ | × |
| | 客户服务 | 当前仅用于权益页展示 | 展示值 | 按需配置 | 客户服务:电话、邮件支持\\n对接帮助:专用的企微客服群频道 |
十三、接口说明
表述数字人 iPaaS 可被集成的页面,以及页面集成相关协议参数及接口约定。
十四、可集成页面
iPaaS 首页。
十五、页面集成方法
1. 做一个 iframe 页面,引入 iPaaS 的 js、添加一个 iframe 元素,并使用 init 函数初始化 iPaaS 设置。
<html><head> <title>集成商iframe页面示例</title> <script src="https://static-avatarch.ivh.qq.com/avataripaassdk.js"/> <script> AVATARIPAAS.init({ tenant_code: "apple", //租户唯一代码 auth: "nldaso0n1nc01n13MABc==", //用户登录态加密串,拼接到iframe的query时会进行urlencode iframeid: "main", // 框架页iframe元素的id access_path: "https://www.mywebsite.com/hello", // iframe页面的url路径。 on_goback: function() { // 当用户首次使用时,在弹窗页面选择了拒绝使用时回调 // do something, 比如使用浏览器 go history -1 }, on_authexpired: function() { // 当腾讯检测到用户登录态失效时回调 // do something, 比如跳转到登录页 }, }); </script></head><body> <!– 当引入avataripaassdk.js并init之后,会自动设置iframe的src嵌套ipaas页面 –> <iframe id="main"/> </body></html>
2. 在 nginx 中,对 iframe 页面进行代理设置。
·将 iframe 访问 URL 统一代理给自身(实现 iframe 内切换页面后,再刷新 iframe 页时实现当前页刷新)。
·假设你的网站"/hello"是 iframe 页面的路径,进行如下设置。
server { listen 80; server_name https://www.mywebsite.com; // 代理的网站域名 location /hello/ { // 将hello下的子路经全部代理回hello,此处末尾一定要加/,否则会导致代理死循环 rewrite ^(.*)$ /hello break; // 此处路径w末尾不加/ proxy_pass https://www.mywebsite.com; }}
附加说明:
| 参数 | 类型 | 必填 | 说明 |
| auth | String | 是 | 用户登录态加密串,加密算法见 auth 参数加密方法。 |
| tenant_code | String | 是 | 租户唯一代码,开通租户后在管理后台获取。 |
| iframeid | String | 是 | 框架页 iframe 元素的 ID。 |
| access_path | String | 是 | iframe 页面的 URL 路径,在 iframe 内部切换 iPaaS 页面时, SDK 会自动在此 URL 后面追加子路径,并同步到浏览器 Location,实现 iframe 页面的刷新 。 |
| on_goback | function | 是 | 当用户首次使用时,在弹窗页面选择了拒绝使用时回调。 |
| on_authexpired | function | 是 | 当腾讯检测到用户登录态失效时回调。 |
十六、auth 参数加密方法
1. 构建明文字符串
user_token=${user_token}&ts=${timestamp},其中 user_token 是用户登录态,能够唯一标识一个用户的登录态,可直接传入集成商登录态或者再临时生成一个和登录态一一对应的临时 Token 都可以,由集成商来决定,因是 URL query 带参,不建议直接将 jwt token 写入,会导致 query 过长;timestamp 是生成的当前系统时间戳(Unix 时间戳精确到秒),腾讯侧会对时间戳做校验,有效性一分钟。
2. 将明文字符串进行加密
·使用 AES 加密算法,采用 GCM 模式,将租户级 Token 作为密钥对明文字符串进行加密,加密后转 Base64 字符串。
·租户级 Token 获取方法如下:
3. 将步骤2得到的结果字符串作为 auth 的值。
4. 可使用后台管理控制台的调试工具,进行加解密测试。
十八、接口说明
该接口用于打通数字人 iPaaS 和集成商系统的登录态以及完成两侧用户资料的映射。
注意:集成商需按照本接口协议实现此接口,并在管理系统将此接口地址注册到系统中。
十九、调用协议
·协议:HTTPS
·方法:POST
·Header Content-Type: application/json;charset=utf-8
20、请求 Header
| 参数 | 类型 | 必填 | 说明 |
| auth | String | 是 | 腾讯侧的身份加密串,集成商可解密 auth 参数,以确认请求来源的合法性。加密明文:tenant_code=$tenant_code&ts=$timestamp其中 tenant_code 为授权给集成商的唯一标识。加密方式: 使用租户 Token 对原文做 AES 加密,采用 GCM 模式,并对密文做 Base64 编码。 |
21、请求参数
| 参数 | 类型 | 必填 | 说明 |
| user_token | String | 是 | 腾讯云服务内解析出的用户登录态(明文)。 |
| request_id | String | 是 | 每一次请求的唯一标识,可用 UUID 算法生成。 |
{ "user_token": "jnnuqneqwbunqoncv121nnqonca1561a", "request_id": "hbkoqnzlobnqbdsao1bn231ncdo1oqa",}
22、返回参数
| 参数 | 类型 | 必填 | 说明 |
| code | int | 是 | 结果码-1:发生系统异常。0:Token 有效。900001:Token 不合法。900002:Token 已过期或不存在。 |
| message | String | 是 | 有异常时填写异常信息。 |
| request_id | String | 是 | 填入请求包体中的 request_id。 |
| data | JSONObject | 否 | 返回包体中的数据,其中包含 user_info 用户信息。 |
| data.user_info | JSONObject | 否 | 当 Token 有效时,必须返回。 |
| data.user_info.token_expire_at | int | 否 | 用户登录态过期时间(单位秒)。 |
| data.user_info.user_id | String | 是 | 集成商侧用户 ID。 |
| data.user_info.username | String | 是 | 集成商侧用户名,如果此字段不唯一,需要至少返回手机号或者邮箱其一,否则在后台管理系统某些功能页面中下拉选择用户时将无法显性精准选中某一用户。 |
| data.user_info.mobile | String | 否 | 集成商侧用户手机号,可用*隐去中间四位。例如,139****4452。脱敏后,登录数字人 iPaaS 后台管理搜索用户时,也需使用脱敏后的值进行搜索。 |
| data.user_info.email | String | 否 | 集成商侧用户邮箱,可用*隐去中间字符只保留前4个字符和@之后的字符。例如, liut****@163.com脱敏后,登录数字人 iPaaS 后台管理搜索用户时,也需使用脱敏后的值进行搜索。 |
{ "code": 0, "message": "paas", "request_id": "hbkoqnzlobnqbdsao1bn231ncdo1oqa", "data": { "user_info": { "token_expire_at": 1747368027, "user_id": "5612910", "nickname": "魔礼青", "mobile": "139****4452", "email": "liut****@163.com", } }}