接入小甲鱼数字人API教程【详解】
引言:什么是数字人呢?
核心定义
- 数字化形态
通过计算机图形学、AI、动作捕捉等技术构建,拥有近似人类的外貌、表情、动作及语音交互能力,存在于非物理世界23。- 功能演进
从早期静态模型(可视人、物理人)发展为融合生理模拟与智能交互的“智能人”,实现对人体从微观到宏观的精确仿真24。
什么是数字人API呢?
数字人API(Application Programming Interface)是一套用于创建、驱动和集成数字人(Digital Human)功能的标准化编程接口,开发者无需从零构建底层技术,即可在应用中快速接入数字人交互能力。
注:目前市面上很多数字人API都是要收费的,今天我就给大家推荐一个免费的数字人API接口——小甲鱼数字人!!!【点击即可进入官网】
使用小甲鱼数字人API的流程
一、进入官网页面
二、点击页面进入控制台【点击右上角注册/登录】
三、点击数字人以后进入页面调用接口
四、展示API界面
5、接入代码展示
5.1克隆语音
public function cloneVoice()
{
$client = new Client();
$response = $client->post('https://api.yidevs.com/app/human/human/Voice/clone', [
'json' => [
'name' => 'Y_03大帅哥声音',
'audio_url' => 'https://yc-digital-human.oss-cn-guangzhou.aliyuncs.com/system_upload/20250103/95237a0bdfbfa18363a5ac8e008eed6a.mp3',
'description' => '帅气的Y_03'
],
'headers' => [
'Authorization' => 'Bearer ' . YIDEVS_KEY,
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
]);
$response = json_decode($response->getBody()->getContents(), true);
if ($response['code'] == 200 && $response['data']['task_id']) {
} else {
}
dd($response);
}
注:上述代码请求之后,返回如下图所示的数据格式即为成功,在自己的业务体系里面需要自己保存task_id和voice_id。
5.2合成声音
public function generateVoice()
{
$client = new Client();
$response = $client->post(BASE_URL . '/app/human/human/Voice/created', [
'json' => [
'text' => '你好,我是张宇凡',
'voice_id' => '7957f83c69f64903922e0de017fd99a4'
],
'headers' => [
'Authorization' => 'Bearer ' . YIDEVS_KEY,
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
]);
$response = json_decode($response->getBody()->getContents(), true);
if ($response['code'] == 200 && $response['data']['audio_url']) {
} else {
}
dd($response);
}
注:调用成功之后会返回一个音频地址,和一个编码后的音频文件,根据自己所需情况选择。
建议选择音频地址,有效期为24小时,这里仅为临时生成数字人用,所以不用太在意。
音频地址拿到之后,我们要开始进行下一步,也就是克隆分身形象。
5.3数字人克隆
在左侧找到数字人克隆的免费接口,然后复制接口地址,请求方式为POST
public function cloneHuman()
{
$client = new Client();
$response = $client->post(BASE_URL . '/app/human/human/Scene/created', [
'json' => [
'callback_url' => 'http://test.api.kf.kaifa.cc/index.php?type=human&method=notify',
'video_name' => '张宇凡',
'video_url' => 'https://yc-digital-human.oss-cn-guangzhou.aliyuncs.com/system_upload/20241224/e199c2fa638d72ab798e401eef8efe1f.mp4'
],
'headers' => [
'Authorization' => 'Bearer ' . YIDEVS_KEY,
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
]);
$response = json_decode($response->getBody()->getContents(), true);
if ($response['code'] == 200) {
} else {
}
dd($response);
}
通过调用上述接口,之后,会得到一个分身的任务ID,在自己的业务体系里面保存即可,合成数字人视频的时候需要用到。
在你传入的回调地址的方法里面接收相关的回调参数,分身克隆成功之后才能继续调用数字人合成接口。
5.4数字人视频合成
当数字人形象分身克隆完成之后,接下来就是用已经生成的音频和形象去合成数字人视频了。
在左侧菜单找到统一数字人合成接口,这个接口的成本是极低的,从生成速度和效果对比,价格优势明显,这种效果和速度的接口,市面上至少在2-3块每分钟。
注【重点!!!】:如果你6毛一分钟都不想支付,那也可以选择免费的数字人合成接口,如下图所示,参数是一样的。
代码演示:
public function generate()
{
$client = new Client();
$response = $client->post(BASE_URL . '/app/human/human/Musetalk/create', [
'json' => [
'callback_url' => 'http://test.api.kf.kaifa.cc/index.php?type=human&method=notify&is_video=10',
'scene_task_id' => '500759',
'audio_url' => 'https://yc-digital-human-1251511393.cos.ap-guangzhou.myqcloud.com/xhadmincn/20250508/4001847bd86e585795d5ceac2b3141c8_681c864fadefb.mp3'
],
'headers' => [
'Authorization' => 'Bearer ' . YIDEVS_KEY,
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
]);
$response = json_decode($response->getBody()->getContents(), true);
if ($response['code'] == 200) {
} else {
}
dd($response);
}
调用数字人合成接口,会返回视频的任务ID,同样的,在回调地址里面接收回调参数。
注:上述就是整个数字人API接口的调用过程,需要注意回调地址的参数接收,这里必须是可访问的地址
以上便是小甲鱼数字人API接入的示例,希望对各位有所帮助!!!