免费数字人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请求即可实现,非常简单。