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

免费数字人API开发方案

当前市场上,数字人系统种类繁多,然而对于中小企业而言,这些系统的成本实在过高,不仅服务器等硬件费用高昂,部署过程也困难重重,且对技术要求颇高,这些都会带来不小的成本负担。此外,后期若需替换系统,也是企业不得不慎重考虑的一个问题。

最近,我发现了一个低成本开发数字人的项目,不用花钱即可开发完整的数字人功能,下面是相关流程

一、注册账号

进入壹定开放平台,左侧找到如下所示的数字人应用,点击开通。

​二、找到对应的api列表

下面的是我用APIPost测试工具的页面,把上面大部分的接口都整过来了,也可以在线调试,非常方便

三、接口调试

如下所示,使用各种开发调试工具可以在线进行调试api接口,得到对应的内容,经过我的测试,所有的免费接口都是可以正常调用的

四、免费的开发方案

我这边使用的免费的开发方案进行开发的,(免费的数字人克隆+合成)+(免费的语音克隆+语音合成),这样就能实现所有接口都是免费。使用这个方案,可以轻松实现数字人系统的开发

五、代码示例

我这边主要是以java语言进行开发的,下面是java语言的调用示例,其他接口可以参考这个示例进行封装调用。

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;public class VoiceSynthesisClient {// 接口地址private static final String API_URL = "https://api.yidevs.com/app/human/human/Voice/created";// 替换为你的实际Tokenprivate static final String AUTH_TOKEN = "Bearer your_actual_token_here";public static void main(String[] args) {// 创建HttpClient实例HttpClient client = HttpClient.newBuilder().version(HttpClient.Version.HTTP_2).connectTimeout(Duration.ofSeconds(10)).build();// 准备请求参数ObjectMapper objectMapper = new ObjectMapper();ObjectNode requestBody = objectMapper.createObjectNode();requestBody.put("text", "我想离开浪浪山");requestBody.put("voice_id", "e2-1a6c-4679-aad2-a945d0034d72");try {// 构建请求HttpRequest request = HttpRequest.newBuilder().uri(URI.create(API_URL)).header("Authorization", AUTH_TOKEN).header("Accept", "application/json").header("Content-Type", "application/json").POST(HttpRequest.BodyPublishers.ofString(objectMapper.writeValueAsString(requestBody))).build();// 发送请求并获取响应HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());// 处理响应if (response.statusCode() == 200) {// 解析JSON响应ObjectNode responseNode = (ObjectNode) objectMapper.readTree(response.body());int code = responseNode.get("code").asInt();String msg = responseNode.get("msg").asText();if (code == 200) {ObjectNode dataNode = (ObjectNode) responseNode.get("data");String audioUrl = dataNode.get("audio_url").asText();String audioBase64 = dataNode.get("audio_base64").asText();System.out.println("语音合成成功!");System.out.println("音频URL: " + audioUrl);System.out.println("音频Base64: " + audioBase64.substring(0, 50) + "..."); // 只打印前50个字符} else {System.err.println("API调用失败: " + msg);}} else {System.err.println("HTTP请求失败,状态码: " + response.statusCode());System.err.println("响应内容: " + response.body());}} catch (Exception e) {System.err.println("调用接口时发生异常: " + e.getMessage());e.printStackTrace();}}
}

这个方案的好处就是不用自己部署系统了,通过最简单的http请求即可实现,非常简单。

http://www.xdnf.cn/news/17564.html

相关文章:

  • 使用正则表达式检测Base64字符串并提取图片类型及正文的JavaScript函数,代码精简且高效
  • How Websites Work 网站如何运作
  • Linux入门指南:26个基础命令全解析
  • C语言(长期更新)第10讲:操作符详解(二)
  • vue3项目中在一个组件中点击了该组件中的一个按钮,那么如何去触发另一个组件中的事件?
  • playwright-mcp 项目全解析:从理论到实践
  • 量子计算机实用化:从理论到现实的艰难跨越
  • (一)Tailwindcss
  • Win10清理C盘步骤
  • Spring事务失效的常见原因
  • ROS2 QT 多线程功能包设计
  • 基于PyTorch一文讲清楚损失函数与激活函数并配上详细的图文讲解
  • redis集群-docker环境
  • 咪咕MGV3200-KLH_GK6323V100C_板号E503744_安卓9_短接强刷包-可救砖
  • 大数据架构演变之路
  • java的三种组件漏洞靶场攻略
  • LeetCode 组合总数
  • 人工智能系列(8)如何实现无监督学习聚类(使用竞争学习)?
  • 1. 电阻选型
  • 计算机网络:如何理解目的网络不再是一个完整的分类网络
  • mpv core_thread pipeline
  • jmeter常规压测【读取csv文件】
  • 北京JAVA基础面试30天打卡06
  • Vulhub靶场组件漏洞(XStream,fastjson,Jackson)
  • 北京天津廊坊唐山打捞失物日记
  • 双非二本如何找工作?
  • jxWebUI--按钮
  • 黑马SpringBoot+Elasticsearch作业2实战:商品搜索与竞价排名功能实现
  • 【RocketMQ 生产者和消费者】- ConsumeMessageConcurrentlyService 并发消费消息
  • socket编程中系统调用send()详细讲解