当前位置: 首页 > news >正文

接入小甲鱼数字人API教程【详解】

引言:什么是数字人呢?

核心定义

  1. 数字化形态
    通过计算机图形学、AI、动作捕捉等技术构建,拥有近似人类的外貌、表情、动作及语音交互能力,存在于非物理世界23。
  2. 功能演进
    从早期静态模型(可视人、物理人)发展为融合生理模拟与智能交互的“智能人”,实现对人体从微观到宏观的精确仿真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接入的示例,希望对各位有所帮助!!!

http://www.dtcms.com/a/318837.html

相关文章:

  • 物联网架构全解析:华为“1+2+1”与格行随身WiFi,技术如何定义未来生活?
  • 优选算法 力扣 LCR 179. 查找总价格为目标值的两个商品 双指针降低时间复杂度 C++题解 每日一题
  • 界面组件DevExpress WPF中文教程:网格视图数据布局 - 紧凑模式
  • 代企业开发钉钉数据对接
  • hadoop HDFS 重置详细步骤
  • [bug]AttributeError: module ‘typing_extensions‘ has no attribute ‘TypeVar‘
  • 人工智能的20大应用
  • 图论(1):图数据结构
  • 第二十七天(数据结构:图)
  • uni-app vue3 小程序接入 aliyun-rtc-wx-sdk
  • Android 之 Jetpack- Room
  • 力扣238:除自身之外数组的乘积
  • 快速开发实践
  • 使用Spring Boot + Angular构建安全的登录注册系统
  • 十八、MySQL-DML-数据操作-插入(增加)、更新(修改)、删除
  • LongVie突破超长视频生成极限:1分钟电影级丝滑视频,双模态控制告别卡顿退化
  • 本地组策略编辑器无法打开(gpedit.msc命令异常)
  • 编程之线性代数矩阵和概率论统计知识回顾
  • OpenCV 图像处理基础操作指南(一)
  • 基于人眼视觉特性的相关图像增强基础知识介绍
  • C++入门自学Day7-- String类的使用(续)
  • windows_exporter-0.13.0-amd64.exe 怎么安装?Windows服务安装与运行方法
  • 中国341个城市人力需求指数数据集
  • 【MATLAB】(十)符号运算
  • 一文读懂 C# 中的 Bitmap
  • 知识随记-----Qt 实用技巧:自定义倒计时按钮防止用户频繁点击
  • 3D 软件在游戏开发中的全链路应用:从原型到上线的实战解析
  • Docker Buildx最佳实践:多架构镜像构建指南
  • Mac/Windows跨平台PDF与AI高效解决方案
  • sigprocmask 函数深度解析