当前位置: 首页 > 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.dtcms.com/a/333450.html

相关文章:

  • Docker的相关知识探究详解
  • 【功能更新】“弹性互联网”正式上线Fusion WAN平台
  • Oracle按照特定列值排序和C#统计特定列值的所有行
  • 数据结构:N叉树 (N-ary Tree)
  • 【部署K8S集群】 1、安装前环境准备配置
  • Deepoc具身智能模型如何重塑康复辅助设备
  • Java中MybatisPlus使用多线程多数据源失效
  • 集成电路学习:什么是Image Segmentation图像分割
  • 功能组和功能组状态的概念关系和区别
  • java16学习笔记-Vector API
  • oracle数据库初始化
  • 共探头部设计|安贝斯携手武汉科创协会x深钣协“湖北行”,链动D+M小镇的华中范式
  • Linux软件编程-进程(2)及线程(1)
  • 快速设计简易嵌入式操作系统(5):贴近实际场景,访问多外设,进一步完善程序
  • WPF 监控CPU、内存性能
  • python math数学运算模块
  • 【AI论文】Story2Board:一种无需训练的富有表现力故事板生成方法
  • Numerical Difference between vLLM logprobs and huggingface logprobs
  • windows下hashcat使用gpu破解execl打开密码
  • 深入Amazon DynamoDB:高效、无缝的数据存储解决方案
  • 项目生命周期
  • Python爬虫大师课:HTTP协议深度解析与工业级请求封装
  • k8s环境使用Operator部署Seaweedfs集群(一)
  • STM32传感器模块编程实践(十四)DIY语音+满溢检测智能垃圾桶模型
  • SD-WAN核心特点有哪些,适用哪些场景?
  • Rust 入门 泛型和特征-深入特征 (十五)
  • 【Cuda 编程思想】LinearQaunt-分块量化矩阵乘法计算过程
  • 关系型数据库核心组件:视图、函数与存储引擎详解
  • 分布式锁那些事
  • 机器学习中的PCA降维