内测可用:角色列表、文本对话、TTS 播报(豆包)、浏览器 SDK;AK/SK 签名与 WebSocket 双协议后续开放。下方为完整接入指南。
三步接入:引入 SDK → 加载角色 → 调用 API。下面这段现在就能跑(把 embed_xxx 换成你在接入向导生成的嵌入 Token)。
<!-- Step 1: 引入浏览器 SDK(平台内直接引用;npm 包计划 V1.0 发布)--> <script src="https://hwavatar.com/assets/js/digitalpet-sdk.js"></script> <script> // Step 2: 初始化 SDK 并加载角色到指定容器 const pet = new DigitalPetSDK({ token: 'embed_xxx', // 嵌入 Token,不暴露账户级 API Key endpoint: 'https://api.hwavatar.com' }); await pet.loadCharacter('char_xxx', { container: document.getElementById('pet-container'), width: 320, height: 480 }); // Step 3: 驱动角色说话(服务端豆包 TTS,音色跟随角色配置) await pet.speak('你好,很高兴认识你!'); // 对话 + 播报:调 /api/chat 流式拿回复,再自动 TTS await pet.chatAndSpeak('你今天心情怎么样?'); </script>
三种真实凭证,统一放在 Authorization: Bearer <凭证> 请求头;浏览器第一方页面也可用登录 Cookie(session)。
| 凭证 | 格式 | 获取方式 | 用途 |
|---|---|---|---|
| API Key | hw-chr-… | 登录后到 获取 API 创建,明文仅显示一次 | 服务端调用 /api/chat、/api/tts |
| 会话 token | 64 位十六进制 | 登录接口返回(同时写入 Cookie) | 账号相关接口,如 /api/auth/me、/api/keys |
| 嵌入 Token | embed_… | 接入向导生成,可绑定域名 | 客户端展示角色、受限调用 TTS |
未携带凭证时,仅第一方页面(/demo、/desktop-pet)与本地文件页放行,其余返回 401;默认限流 30 次/分钟,超限返回 429 与 Retry-After。
复用 B 端 AK/SK + HMAC-SHA256 签名机制,与阿里云 ACS3、腾讯云 TC3 风格一致,便于 B 端客户无缝迁移;V1.0(2026.11)开放后 API Key 仍可继续使用。
防重放要求:SignedHeaders 必须包含 x-dp-date 与 x-dp-nonce,二者参与签名计算;服务端需维护 nonce 去重存储(TTL ≥ 15 分钟),重复 nonce 直接返回 401。若 nonce 不参与签名,攻击者可原样重放已抓取的请求。
SecretKey 是账户级凭据,严禁写入前端代码、客户端包或浏览器环境。Web / 移动端应由业务服务端用 SK 签名,或先换取短期、限定角色与配额的访问令牌(token)再下发给客户端。
| Header | 说明 | 示例 |
|---|---|---|
| x-dp-date | ISO 8601 时间戳(15 分钟内有效) | 2026-09-13T10:00:00Z |
| x-dp-content-sha256 | 请求体 SHA256 哈希 | a1b2c3d4… |
| x-dp-nonce | 唯一随机数(UUID),必须列入 SignedHeaders,服务端去重防重放 | 550e8400-e29b-… |
| Content-Type | 内容类型 | application/json |
| Authorization | 签名头 | DPAPI-HMAC-SHA256 Credential=AKxxx,… |
浏览器端 SDK digitalpet-sdk.js(v0.9):角色加载与嵌入、流式对话、豆包 TTS 播报、会话与事件回调。
<script src="https://hwavatar.com/assets/js/digitalpet-sdk.js"></script>
npm 包 @digitalpet/web-sdk 计划 V1.0 发布;原生 SDK(Live2D + Spine 渲染)后续发布,当前请先用 <script> 方式。
npm i @digitalpet/web-sdk (计划 V1.0)
当前 SDK 提供 loadCharacter()、speak()、chat()、chatAndSpeak()、startSession()、stop() 与 ready / speaking / reply / idle / error 事件。本地定时任务与动作触发(triggerAction())后续补齐;角色状态(饱腹感 / 心情值 / 亲密度)后续随角色状态系统接入云端同步。
当前内测接口:返回角色列表(无需鉴权),每个角色含 id / name / desc / type / tags / price / badge / status / voice 与模型、主图地址;status=live 的即可直接调用。
下列 /v1/* 为对外正式 API(分页、筛选、模型包签名下载),随 V1.0 发布。
获取角色列表,支持分页与风格筛选。
获取角色详情,含模型下载地址、动作列表、表情列表。
获取角色模型包下载 URL(OSS 预签名)。
上传自定义角色模型(Live2D / Spine),自动检测骨骼参数。
当前内测接口:输入文本,返回完整 audio/mpeg 音频,可直接播放。服务端对接豆包大模型语音合成,密钥只存后端、不下发浏览器。请求体 {"text":"你好","speech_rate":0},speech_rate 取值 -50~100(0 为原速、100 为 2 倍速);单次文本上限 300 字。积分按合成音频的实际秒数扣(1 秒 = 1 积分,不足 1 秒按 1 秒算);请求体可带 {"purpose":"video"} 走视频导出,此时每次合成扣 100 积分。
下列 /v1/* 为对外正式 API(含流式分帧与口型数据),按版本计划发布;内测期可直接调用的是 /api/tts(播报)、/api/chat(对话,流式纯文本)、/api/characters(角色列表)。
流式文本播报:输入文案,流式返回音频分帧与口型数据(JSON-ND)。
非流式文本播报:一次性返回完整音频与口型数据。
音频驱动:输入音频文件或音频流,返回对应的口型数据。
{"type":"audio","seq":0,"data":"base64…","sample_rate":16000} {"type":"lipsync","seq":0,"visemes":[{"t":0,"v":"A","w":0.8},{"t":80,"v":"O","w":0.6}]} {"type":"end","total_duration":2.5,"total_visemes":32}
异步视频合成,返回 task_id,完成后 Webhook 回调。
当前内测接口:请求体 {"message":"你好","character_id":"char_xxx"},按角色人设流式返回纯文本(text/plain 分块)。服务端对接 DeepSeek,单条回复限 40 字,历史按用户保留最近 6 轮;每次调用扣 1 积分。鉴权同「认证方式」。WebSocket 长连接后续开放。
下列 /v1/sessions 为对外正式 API(含人设配置、记忆窗口、知识库与实时长连接),后续发布。
建立实时对话会话,返回 WebSocket URL。配置角色人设、记忆窗口、知识库。
{
"character_id": "char_xxx",
"persona": {
"name": "示例角色",
"personality": "活泼开朗、喜欢交朋友",
"knowledge_base": ["kb_001", "kb_002"]
},
"voice_id": "zh_female_tianmeixiaoyuan_uranus_bigtts",
"memory_window": 20,
"language": "zh-CN"
}
触发指定动作,支持优先级与循环设置。
设定表情参数(眉、眼、嘴等部位 0.0-1.0)。
头部 Pose 驱动:写入头部姿态数据,用于面部驱动、AR 与齿轮驱动场景。
当前内测接口:用登录会话调用(浏览器带 cookie,或带 Authorization: Bearer <会话 token>),返回该账号的 credits(本月积分额度)与 creditsUsed(已用积分),额度为 0 表示不限。语音 1 秒 / 对话 1 次 = 1 积分,视频导出 1 条 = 100 积分;未登录返回 401。示例:{"ok":true,"user":{"credits":5000,"creditsUsed":13}}
下列 /v1/* 为对外正式 API(AK/SK 认证,可查历史账期与账户余额),随 V1.0 发布;内测期请用 GET /api/auth/me。
查询当前账期用量:已用积分与剩余积分。
查询账户余额。
实时场景使用 WebSocket 长连接,通道内 JSON 消息帧通信:
| 消息类型 | 方向 | 说明 |
|---|---|---|
| session.start | C→S | 发起建立会话 |
| user.message | C→S | 用户发送文字/语音 |
| agent.reply | S→C | LLM 回复文本(流式) |
| tts.audio | S→C | TTS 音频数据(分帧) |
| lipsync.data | S→C | 口型同步数据 |
| action.trigger | S→C | 触发动作/表情 |
| heartbeat | C→S | 心跳保活(30 秒/次) |
采用 Viseme 格式,每个包含音素类别、时间戳(t,毫秒)、强度(w,0.0-1.0)。下表是唯一规范来源,取值一律大写(SDK、演示页、示例数据都以它为准),共 12 个类别:
注册回调 URL,事件发生时主动推送 HTTP 请求。
以上状态由服务端实时检查依赖配置与数据可读性生成,不展示历史可用率。V1.0 公测阶段不提供赔付性 SLA,正式商用版本将启用独立状态页与可用率历史。
积分制计费(语音 1 秒 / 对话 1 次 = 1 积分,视频 1 条 = 100 积分)· 套餐与超量计费 · 额度按月重置 · 服务状态实时检查
官网 / 文档 / 接入向导 / 控制台;角色列表、文本对话与 TTS 播报(豆包)已可真实调用
本产品属于生成式人工智能与深度合成服务,正式上线版本将按《生成式人工智能服务管理暂行办法》《互联网信息服务深度合成管理规定》《个人信息保护法》等要求交付:
V1.0 公测阶段,AIGC 标识与内容安全过滤已启用;备案类资质仍在办理中,取得编号后即时在本页与关于我们页面更新。
接口版本通过路径区分(当前为 /v1),版本内只做向后兼容的新增,不改变既有字段语义。废弃字段会先在响应头 Deprecation 中标注,并至少保留 6 个月,旧版本下线前 30 天在本页与更新日志公示。
| 套餐 | 并发上限 | 说明 |
|---|---|---|
| 免费版 | 1 | 同一账号同时在处理的对话 / 合成请求数 |
| 入门版 | 2 | 同一账号同时在处理的对话 / 合成请求数 |
| 标准版 | 5 | 同一账号同时在处理的对话 / 合成请求数 |
| 专业版 | 20 | 同一账号同时在处理的对话 / 合成请求数 |
| 企业版 | 按合同 | 同一账号同时在处理的对话 / 合成请求数 |
并发超限返回 429(错误码 concurrency_exceeded),客户端应退避重试;单账号另有每分钟请求数限制,默认 60 次/分钟,超限返回 429 并带 Retry-After。
企业定制、版权买断与商务合作:请通过定制服务页面提交需求;开发者在接入过程中遇到问题,可登录后在 /support 提交工单,客服会在站内回复并跟进处理。


生效日期:2026 年 11 月 1 日 · 版本 v1.0 · 提供方:深圳幻维科技有限公司
本协议是你与深圳幻维科技有限公司(下称「我们」)之间关于使用幻维平台(域名 hwavatar.com 及其子域,下称「本服务」)的约定。注册、开通套餐、调用 API 或使用客户端,即表示你已阅读并同意本协议。
本协议适用中华人民共和国法律。因本协议产生的争议,双方应友好协商;协商不成的,提交深圳市有管辖权的人民法院处理。
联系邮箱 sales@hwavatar.com(商务) · support@hwavatar.com(售后) · 也可扫码添加右侧微信
生效日期:2026 年 11 月 1 日 · 版本 v1.0
我们依据《个人信息保护法》《网络安全法》等规定处理你的个人信息。本政策说明我们收集什么、如何使用、与谁共享,以及你享有的权利。
为完成你请求的功能,必要信息会传输给以下服务商,仅在实现功能所必需的范围内共享:
我们不出售你的个人信息,也不会将你的对话与生成内容用于训练模型。
登录凭证保存在浏览器本地存储(localStorage),本机视频历史保存在 IndexedDB。这两项数据仅存在你的设备上,我们无法读取,也不随账号同步到其他设备。
本服务面向成年人提供。未满 18 周岁的使用者应在监护人同意与指导下使用;我们不为未满 14 周岁的儿童提供本服务。
全站启用 HTTPS 传输,密钥仅在服务端保存与使用,管理后台设有访问控制与操作留痕。发生个人信息安全事件时,我们将依法通知你并向主管部门报告。
本政策更新将在本页公示;重大变更会通过站内通知或邮件告知。如有疑问,请联系 support@hwavatar.com。
扫码加微信

定制需求 · 商务合作 · 使用问题
工作日 10:00 - 19:00 回复