数字人直播接口开发文档【云端版、支持手机数字人直播】
我把官方接口简化成新手能直接看懂、直接复制代码用的版本,只讲最常用、最核心的操作,不用管复杂概念,跟着步骤走就能跑通数字人直播。
一、先准备好3个必备信息
调用所有接口都需要这3个,提前找酷虎云后台拿:
1. 接口基础地址:比如 `https://`(官方给的域名)
2. API密钥/Token:请求头里要带,用于鉴权
3. 数字人ID:上传好数字人后得到的ID
> 所有请求格式:JSON参数,请求头统一加:
> `ContentType: application/json`
> `Authorization: Bearer 你的Token`
二、核心流程(新手必看)
最简直播流程:
上传数字人 → 启动数字人 → 上传/提交音频 → 数字人播报 → 停止数字人
三、分接口极简使用教程
1. 启动数字人(必用)
接口:`POST /player/select`
作用:开启数字人直播窗口
请求参数(JSON):
```json
{
"character_id": "你的数字人ID"
}
```
返回成功:数字人启动完成
2. 查询数字人状态(看是否在线)
接口:`GET /player/status`
作用:查看数字人是运行中/已停止
无参数
返回示例:
```json
{
"status": "running" // running=运行中,stopped=已停止
}
```
3. 上传音频(2种最简单方式)
方式1:一键上传+播放(新手首选)
接口:`POST /player/play_once`
作用:上传音频 + 自动加入播放队列,一步到位
请求参数:
```json
{
"audio_url": "你的音频在线地址", // 支持mp3/wav
"content": "音频对应的文字" // 可选
}
```
效果:数字人直接播报这段音频
方式2:先上传音频,再提交播放
1. 上传音频:`POST /api/vocals`
参数:`audio_url`(音频地址)、`content`(文字)
返回:`vocal_id`(音频唯一ID)
2. 提交到直播队列:`POST /api/vocals/{vocal_id}/submit`
把上面的ID填到链接里,直接请求即可播放
4. 打断/切换音频(实时控制)
接口:`POST /player/interrupt`
作用:立刻停掉当前音频,播放下一段
无参数
适合:想切换话术、打断当前播报
5. 停止数字人(结束直播)
接口:`POST /player/stop`
作用:关闭数字人直播
无参数
必做:用完一定要停止,避免占用资源
6. 强制打断并停止(应急用)
接口:`POST /player/interrupt_and_stop`
作用:立刻打断音频 + 关闭数字人
适合:卡死、异常时强制结束
四、数字人上传(新手最简版)
只教普通上传(分片上传太复杂,新手不用管)
接口:`POST /characters/add`
请求参数:
```json
{
"name": "数字人名称",
"model_url": "数字人模型地址",
"cover_url": "封面图地址"
}
```
返回:`character_id`(数字人ID,启动时要用)
五、完整新手调用示例(可直接复制)
以Python为例,复制就能跑:
```python
import requests
基础配置
BASE_URL = ""
TOKEN = "你的Token"
CHARACTER_ID = "你的数字人ID"
请求头
headers = {
"ContentType": "application/json",
"Authorization": f"Bearer {TOKEN}"
}
1. 启动数字人
def start_player():
url = f"{BASE_URL}/player/select"
data = {"character_id": CHARACTER_ID}
res = requests.post(url, json=data, headers=headers)
print("启动结果:", res.json())
2. 播放一段音频(一键版)
def play_audio():
url = f"{BASE_URL}/player/play_once"
data = {
"audio_url": "https://xxx.com/xxx.mp3",
"content": "欢迎来到我的直播间"
}
res = requests.post(url, json=data, headers=headers)
print("播放结果:", res.json())
3. 查询状态
def get_status():
url = f"{BASE_URL}/player/status"
res = requests.get(url, headers=headers)
print("当前状态:", res.json())
4. 停止数字人
def stop_player():
url = f"{BASE_URL}/player/stop"
res = requests.post(url, headers=headers)
print("停止结果:", res.json())
直接运行
if __name__ == "__main__":
start_player() 启动
get_status() 查状态
play_audio() 播音频
stop_player() 最后停止
```
六、新手常见问题
1. 请求失败:检查Token、基础地址、数字人ID是否正确
2. 音频不播放:音频地址必须公网可访问,格式mp3/wav
3. 数字人没反应:先查状态`/player/status`,确保是`running`
4. 想换话术:用`/player/interrupt`打断,再重新提交音频
总结
1. 核心就4步:启动 → 播音频 → 控制 → 停止
2. 新手优先用:`select`(启动)、`play_once`(一键播报)、`interrupt`(打断)、`stop`(停止)
3. 不用管复杂接口,先跑通基础直播,再慢慢扩展
需要我帮你把这套教程做成Postman导入文件,或者简化成网页版Demo吗?直接导入就能测所有接口。
来源:酷虎云数字人直播api开放平台