一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

给 AI 装上身体:我用魔珐星云做数字人的实践与接入教程

时间:2026-07-11 10:49:54 编辑:袖梨 来源:一聚教程网

一篇个人使用记录 + 完整 SDK 接入教程。前半是我为什么用、怎么用;后半是给开发者的照做即可的接入步骤。

一、最近在玩魔珐星云

这段时间我一直在折腾 魔珐星云,一个 3D 数字人开放平台。

它和常见的「会说话的头像」不一样:你给一段文字,它生成的不只是语音,还有配套的表情和动作,出来的是一个会动、会说话的 3D 数字人——不是图片,也不是提前录好的视频。用官方的说法叫「具身智能」,通俗点讲,就是给原本只有「脑子」的 AI 补上了「身体」和「表达能力」。

真正打动我的是它开放 SDK:不只是在平台里生成成品,而是能把数字人能力直接嵌进自己的网页、应用里,跟自己的业务和大模型接起来。这就从「做视频的工具」变成了「能长在产品里的一块能力」。

二、我的实际应用

我平时做内容和小程序,一直想给用户一个「有人味」的交互入口,而不是冷冰冰的对话框。魔珐星云正好补上了这一块,我主要用在三个地方:

1. 内容创作:口播视频提效

以前一条口播视频要写稿、出镜、拍摄、剪辑,一个人跑下来很累。现在稿子写好,直接交给数字人播报出片,形象和声音统一,产量明显上来了。对于需要稳定更新的公众号 / 短视频内容,这个提效是实打实的。

2. 小程序 / 网页:交互式虚拟形象

我把数字人嵌进页面里,当作一个会说话、会做表情的「导览 / 客服」角色。用户进来不再是面对一个输入框,而是有个形象跟他打招呼、答疑、引导操作。信任感和停留时长都比纯文字界面要好。

3. 接大模型:能对话的数字人

这是我觉得最有想象力的一步——把数字人和大模型接起来:用户提问 → 大模型生成回答 → 数字人把回答播报出来。于是它不再是「按剧本念稿」,而是能根据用户的问题实时应答。医疗导诊、商场导览、景区讲解这类场景,都能套这个链路。

一句实在话:它不是万能的,复杂场景仍然需要调;但作为「日常内容生产 + 给产品加一个虚拟人」的方案,性价比和上手门槛都在我可接受的范围内。所以顺手把接入过程整理成下面这份教程,方便想试的朋友直接照做。

三、SDK 接入教程

3.0 整体调用链路

接入逻辑很简单,核心就是把「文本」送进数字人 SDK 让它播报;接了大模型之后,再把模型的回答喂给播报方法。

创建驱动应用↓获取 appId / appSecret / gatewayServer↓项目中配置参数↓初始化 XmovAvatar↓调用 speak 播报文本↓(可选)接入大模型,将模型回答传给 speak

3.1 准备工作

注册并登录

  1. 打开官网 www.xingyun3d.com/ ,点击右上角 登录 / 注册。
  2. 注册时填写邀请码,完成账号绑定。

确认账号权益

登录后点击右上角头像进入个人中心,确认账号已具备 SDK 体验额度。可在以下位置核对权益是否生效:

  • 消耗记录
  • 订单发票

3.2 创建驱动应用并获取配置

创建驱动应用,进入平台左侧菜单:

应用管理 → 驱动应用 → 创建驱动应用

按页面提示填写应用名称等基础信息,完成创建。

选择数字人形象:创建完成后进入应用详情页,选择对应数字人形象并保存。

获取调用配置:进入已创建的驱动应用,复制 SDK 调用所需的两项配置:

appIdappSecret

3.3 在项目里接入 SDK

① 配置参数

const xingyunConfig = {appId: '替换为自己的 appId',appSecret: '替换为自己的 appSecret'}

② 准备挂载容器

<div id="avatar-container"></div>

③ 初始化 SDK

const avatar = new XmovAvatar({containerId: '#avatar-container',appId: xingyunConfig.appId,appSecret: xingyunConfig.appSecret,gatewayServer: 'https://nebula-agent.xingyun3d.com/user/v1/ttsa/session'})

④ 调用播报

avatar.speak('你好,我是魔珐星云数字人。')

建议封装一层,统一做防空判断:

function speakText(text) {if (!avatar) {console.warn('SDK 未初始化')return}if (!text) {console.warn('播报文本为空')return}avatar.speak(text)}

3.4 接入大模型问答(可选)

用户输入问题↓请求大模型接口↓获取大模型返回文本↓调用数字人 SDK 播报文本

async function handleQuestion(question) {const answer = await callLLM(question)// callLLM 由项目自行实现speakText(answer)}

callLLM 由项目自行实现,可接入豆包、OpenAI 兼容接口或其他大模型服务。

3.5 体验与测试

⚠️ 建议体验 2 分钟以上,充分感受语音、表情、动作效果。

依次尝试以下输入(每次等数字人回复后再继续):

  1. 输入:你好
  2. 输入以下任一,等待回复:这里有什么好玩 / 这里有什么好吃的 / 我的症状是发热
  3. 输入以下任一,等待回复:我想去发热科室 / 我想去电影院 / 我想去某某商家

测试顺序建议:

  • ① 基础播报测试 — 输入 你好,判断:数字人是否正常加载、能否语音播报、嘴型/动作是否正常、页面是否报错。
  • ② 场景问答测试 — 输入 这里有什么好玩的?我的症状是发热。,判断:大模型是否返回内容、数字人能否播报返回内容、连续多轮输入是否正常。

四、几点注意事项

  • 配置隔离:appId / appSecret是账号 + 应用级别的,不要跨账号混用,也不要写死在可被公开访问的前端代码里(有安全要求时,敏感配置建议走后端袋里)。
  • 体验额度:先确认账号权益生效再开发,避免卡在调用环节。
  • 接口名:speakXmovAvatar 等以当前 SDK 版本为准,升级后留意变更。
  • 效果预期:简单播报开箱即用,复杂交互场景仍需按业务调优。

五、写在最后

用下来的整体感受:它把「让 AI 拥有身体」这件原本很重的事,做成了普通开发者也能上手的能力。如果你也在做内容生产,或想在自己的产品里加一个能对话、有表情的虚拟形象,值得亲手试一次——那种「AI 活过来了」的感觉,文字确实形容不出来。

(本文接入部分整理自官方「星云平台 SDK 操作教程」,界面与接口以平台最新版本为准。)

热门栏目