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

口播数字人免费API调用方案

想要开发数字人,对于普通人来说,技术上是不可跨越的鸿沟

市面上也有很多数字人开发方案,如腾讯云、阿里云、百度云等,都有成熟的数字人方案,但是,价格方面还是比较高昂的

github上虽然也有一些所谓开源的数字人项目,但是基本上都是挂羊头卖狗肉,并非真正的开源

最近,我在对接小甲鱼数字人,只需要调用一下http接口,就可以轻松地实现数字人开发,下面是一些开发方面的流程

整个开发过程,我是用的免费的开发方案(免费的数字人克隆+合成)+(免费的语音克隆+语音合成),这样就能实现所有接口都是免费。

下面这些是所用到的接口

具体步骤如下:
第一步:
调用声音相关接口(涵盖免费的语音克隆与语音合成),即可完成声音的克隆与合成。

第二步:
依据官方文档,通过免费接口(数字人克隆与合成)可实现数字人的克隆,最终会返回一个video_task_id。

随后,通过调用通用接口(任务查询 - 通用)即可获取对应的视频链接。虽然该链接有效期仅为24小时,但对于数字人这类即时服务而言,已足够使用。当然,如有需要,也可自行下载并保存,不过通常并无此必要。

整个调用过程均采用最基础的http请求,对程序员而言几乎无门槛。同时,该服务无平台限制,无论是Android、iOS、小程序还是web端,均可正常使用。只需按照官方文档正确传参即可。
 

下面是我用java写的一个简单的调用示例,其他接口也是同样的调用思路,可以参考

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;public class YiDevsApiClient {public static void main(String[] args) {// API配置信息String apiUrl = "https://api.yidevs.com/app/human/human/Index/created";String token = "Bearer your_token_here"; // 替换为你的实际Token// 请求参数String callbackUrl = "https://baidu.com";String sceneTaskId = "1208";String audioUrl = "https://baidu.mp3";// 构建JSON请求体String requestBody = String.format("{\"callback_url\":\"%s\",\"scene_task_id\":\"%s\",\"audio_url\":\"%s\"}",callbackUrl, sceneTaskId, audioUrl);try {// 创建URL对象URL url = new URL(apiUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 设置请求方法connection.setRequestMethod("POST");// 设置请求头connection.setRequestProperty("Authorization", token);connection.setRequestProperty("Accept", "application/json");connection.setRequestProperty("Content-Type", "application/json");// 启用输出流connection.setDoOutput(true);// 发送请求体try (OutputStream os = connection.getOutputStream()) {byte[] input = requestBody.getBytes(StandardCharsets.UTF_8);os.write(input, 0, input.length);}// 获取响应码int responseCode = connection.getResponseCode();System.out.println("Response Code: " + responseCode);// 读取响应内容(这里简化了,实际应该读取输入流)if (responseCode == HttpURLConnection.HTTP_OK) {System.out.println("Request successful");// 实际应用中应该解析返回的JSON数据// 这里只是示例,实际返回数据见题目描述} else {System.out.println("Request failed");}// 关闭连接connection.disconnect();} catch (Exception e) {e.printStackTrace();}}
}

http://www.lryc.cn/news/622305.html

相关文章:

  • MC0439符号统计
  • 【学习笔记】NTP服务客户端配置
  • 9.对象介绍
  • 2025年COR SCI2区,泊位分配、岸桥分配与引航调度的集成规划,深度解析+性能实测
  • 下载及交叉编译zlib库,记录
  • 解决 MySQL 查询速度缓慢的问题
  • 力扣400:第N位数字
  • 【CUDA 编程思想】FusedQKVProj-分组量化矩阵乘法高效实现全流程解析
  • AutoSar AP平台中EM,CM,SM,PHM,LT等AP基础软件都有宿主进程吗
  • 【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
  • 超分——对比学习(Contrastive Learning)
  • mysql-DDLy语句案例
  • Unity 实现逼真书本翻页效果
  • 电子电气架构 --- 线束设计一些事宜
  • Linux软件编程-进程(2)及线程(1)
  • TDengine IDMP 高级功能(2. 事件模板)
  • 低资源语言翻译:数据增强与跨语言迁移学习策略
  • 第二十四天:虚函数与纯虚函数
  • 订单状态定时处理(Spring Task 定时任务)
  • OpenTelemetry WebSocket 监控终极方案:打通最后一公里
  • liteflow
  • kubernetes(4) 微服务
  • C#文件复制异常深度剖析:解决“未能找到文件“之谜
  • 大白话解析 Solidity 中的防重放参数
  • 大白话解析 Solidity 中的数据位置关键字 memory
  • [激光原理与应用-284]:理论 - 波动光学 - 无线电波,无线通信的频谱
  • 人工智能与社会治理:从工具到生态的范式重构
  • 数据民主化×智能进阶化:AI+BI不可逆的决策革命已至
  • Python 高级语法与用法详解 —— 提升编程效率与代码质量
  • JUC LongAdder并发计数器设计