main
HuangHai 2 months ago
parent 9606f04766
commit 871e5d6549

@ -53,6 +53,12 @@
<artifactId>commons-io</artifactId>
<version>2.15.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.volcengine/volc-sdk-java -->
<dependency>
<groupId>com.volcengine</groupId>
<artifactId>volc-sdk-java</artifactId>
<version>1.0.221</version>
</dependency>
<!-- 数据库相关 -->
<dependency>
<groupId>com.alibaba</groupId>

@ -2,8 +2,7 @@ package com.dsideal.aiSupport.Util.AiPpt.Kit;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import com.dsideal.aiSupport.AiSupportApplication;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
@ -13,8 +12,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
/**
* Api
*
@ -22,17 +19,8 @@ import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
* @date 2024/7/15
*/
public class ApiKit {
public static Prop PropKit; // 配置文件工具
protected static String BASE_URL;
protected static String apiKey; // 填写access key
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
BASE_URL = PropKit.get("AIPPT.BASE_URL");
apiKey = PropKit.get("AIPPT.API_KEY");
}
protected static String BASE_URL = AiSupportApplication.PropKit.get("AIPPT.BASE_URL");
protected static String apiKey = AiSupportApplication.PropKit.get("AIPPT.API_KEY");
public static String createApiToken(String uid, Integer limit) {

@ -3,8 +3,6 @@ package com.dsideal.aiSupport.Util.DashScope;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import lombok.SneakyThrows;
import okhttp3.*;
import org.slf4j.Logger;
@ -12,28 +10,19 @@ import org.slf4j.LoggerFactory;
import java.util.concurrent.TimeUnit;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
/**
* EMOAPI
*/
public class ImgSong {
private static final Logger log = LoggerFactory.getLogger(ImgSong.class);
private static final String API_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis/";
private static final String API_KEY;
private static final String API_KEY= PropKit.get("aliyun.API_KEY");
// 获取项目根目录路径
protected static String projectRoot = System.getProperty("user.dir").replace("\\", "/") + "/dsAiSupport";
// 拼接相对路径
protected static String basePath = projectRoot + "/src/main/java/com/dsideal/aiSupport/Util/DashScope/Example/";
public static Prop PropKit; // 配置文件工具
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
API_KEY = PropKit.get("aliyun.API_KEY");
}
/**
* EMOAPI

@ -2,8 +2,6 @@ package com.dsideal.aiSupport.Util.DashScope;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import lombok.SneakyThrows;
import okhttp3.*;
import org.slf4j.Logger;
@ -11,8 +9,7 @@ import org.slf4j.LoggerFactory;
import java.util.concurrent.TimeUnit;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
/**
* LivePortraitAPI
*/
@ -21,20 +18,12 @@ public class ImgSpeak {
private static final String API_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis/";
private static final String FACE_DETECT_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/face-detect";
private static final String TASK_URL = "https://dashscope.aliyuncs.com/api/v1/tasks/";
private static final String API_KEY;
private static final String API_KEY=PropKit.get("aliyun.API_KEY");
// 获取项目根目录路径
protected static String projectRoot = System.getProperty("user.dir").replace("\\", "/") + "/dsAiSupport";
// 拼接相对路径
protected static String basePath = projectRoot + "/src/main/java/com/dsideal/aiSupport/Util/DashScope/Example/";
public static Prop PropKit; // 配置文件工具
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
API_KEY = PropKit.get("aliyun.API_KEY");
}
/**
* API

@ -2,15 +2,15 @@ package com.dsideal.aiSupport.Util.DashScope;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.dsideal.aiSupport.Util.DashScope.Kit.VideoStyleEnum;
import com.jfinal.kit.Prop;
import lombok.SneakyThrows;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.TimeUnit;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
/**
* API
@ -18,26 +18,18 @@ import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
public class VideoStyleTransform {
private static final Logger log = LoggerFactory.getLogger(VideoStyleTransform.class);
private static final String API_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis";
private static final String API_KEY;
private static final String API_KEY = PropKit.get("aliyun.API_KEY");
// 获取项目根目录路径
protected static String projectRoot = System.getProperty("user.dir").replace("\\", "/") + "/dsAiSupport";
// 拼接相对路径
protected static String basePath = projectRoot + "/src/main/java/com/dsideal/aiSupport/Util/DashScope/Example/";
public static Prop PropKit; // 配置文件工具
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
API_KEY = PropKit.get("aliyun.API_KEY");
}
/**
* API
*
* @param videoUrl URL
* @param style 0-9
* @param style 0-9
* @param videoFps 15
* @return ID
* @throws Exception
@ -214,7 +206,7 @@ public class VideoStyleTransform {
// 调用视频风格转换API
String taskId = transformVideoStyle(videoUrl, style, videoFps);
// 轮询查询任务状态
int maxRetries = 100;
int retryCount = 0;
@ -247,7 +239,7 @@ public class VideoStyleTransform {
if (retryCount >= maxRetries) {
log.error("查询任务状态超时,已达到最大重试次数: {}", maxRetries);
}
// 如果获取到了视频URL则下载保存
if (resultVideoUrl != null && !resultVideoUrl.isEmpty()) {
// 生成文件名使用时间戳和任务ID

@ -0,0 +1,30 @@
package com.dsideal.aiSupport.Util.DouBao;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.volcengine.service.visual.IVisualService;
import com.volcengine.service.visual.impl.VisualServiceImpl;
public class CVGetResultDemo {
public static void main(String[] args) {
IVisualService visualService = VisualServiceImpl.getInstance();
// call below method if you dont set ak and sk in /.vcloud/config
visualService.setAccessKey("your ak");
visualService.setSecretKey("your sk");
JSONObject req=new JSONObject();
//请求Body(查看接口文档请求参数-请求示例,将请求参数内容复制到此)
req.put("req_key","");
req.put("","");
try {
Object response = visualService.cvGetResult(req);
System.out.println(JSON.toJSONString(response));
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -0,0 +1,35 @@
package com.dsideal.aiSupport.Util.DouBao;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.AiSupportApplication;
import com.volcengine.service.visual.IVisualService;
import com.volcengine.service.visual.impl.VisualServiceImpl;
public class CVSubmitTaskDemo {
public static void main(String[] args) {
IVisualService visualService = VisualServiceImpl.getInstance();
String ak = AiSupportApplication.PropKit.get("HuoShan.accessKey");
String sk = AiSupportApplication.PropKit.get("HuoShan.secretKey");
visualService.setAccessKey(ak);
visualService.setSecretKey(sk);
JSONObject req = new JSONObject();
req.put("req_key", "high_aes_general_v20_L");
req.put("prompt", "千军万马");
req.put("model_version", "general_v2.0_L");
req.put("seed", -1);
req.put("scale", 3.5);
req.put("ddim_steps", 16);
req.put("width", 512);
req.put("height", 512);
req.put("use_sr", true);
try {
Object response = visualService.cvSubmitTask(req);
System.out.println(JSON.toJSONString(response));
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -5,8 +5,6 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpUtil;
import org.slf4j.Logger;
@ -16,7 +14,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
public class KlCommon {
private static final Logger log = LoggerFactory.getLogger(KlCommon.class);
@ -27,12 +25,8 @@ public class KlCommon {
static String ak; // 填写access key
static String sk; // 填写secret key
public static Prop PropKit; // 配置文件工具
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
ak = PropKit.get("KeLing.ak");
sk = PropKit.get("KeLing.sk");
}

@ -21,6 +21,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
@ -37,9 +38,6 @@ public class LibLibCommon {
private static final Logger log = LoggerFactory.getLogger(LibLibCommon.class);
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
accessKey = PropKit.get("LIBLIB.accessKey"); // 从配置文件获取Access Key
secretKey = PropKit.get("LIBLIB.secretKey"); // 从配置文件获取Secret Key
}

@ -1,16 +1,9 @@
package com.dsideal.aiSupport.Util.Midjourney.Kit;
import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.dsideal.aiSupport.Util.KeLing.Kit.KlErrorCode;
import com.jfinal.kit.Prop;
import lombok.SneakyThrows;
import okhttp3.OkHttpClient;
import okhttp3.Request;
@ -18,12 +11,8 @@ import okhttp3.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
public class MjCommon {
private static final Logger log = LoggerFactory.getLogger(MjCommon.class);
@ -33,13 +22,9 @@ public class MjCommon {
protected static String basePath = projectRoot + "/src/main/java/com/dsideal/aiSupport/Util/Midjourney/Example/";
protected static String ak; // 填写access key
public static Prop PropKit; // 配置文件工具
protected static final String BASE_URL = "https://goapi.gptnb.ai";
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
ak = PropKit.get("GPTNB.sk");
}

@ -1,10 +1,8 @@
package com.dsideal.aiSupport.Util.Suno;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.aiSupport.Plugin.YamlProp;
import com.dsideal.aiSupport.Util.Midjourney.Kit.MjCommon;
import com.jfinal.kit.Prop;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -13,7 +11,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix;
import static com.dsideal.aiSupport.AiSupportApplication.PropKit;
public class SunoMusicGenerator {
@ -23,19 +21,16 @@ public class SunoMusicGenerator {
private static final int RETRY_INTERVAL = 5000; // 重试间隔(毫秒)
private static final Logger log = LoggerFactory.getLogger(SunoMusicGenerator.class);
// 获取项目根目录路径
protected static String projectRoot = System.getProperty("user.dir").replace("\\","/")+"/dsAiSupport";
protected static String projectRoot = System.getProperty("user.dir").replace("\\", "/") + "/dsAiSupport";
// 拼接相对路径
protected static String basePath = projectRoot + "/src/main/java/com/dsideal/aiSupport/Util/Suno/Example/";
protected static String ak; // 填写access key
public static Prop PropKit; // 配置文件工具
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
ak = PropKit.get("GPTNB.sk");
}
public static void main(String[] args) throws IOException, InterruptedException {
// 创建OkHttpClient
@ -114,7 +109,7 @@ public class SunoMusicGenerator {
// 构建查询URL添加ids参数
// 注意不使用HttpUrl.Builder直接构建URL字符串以避免自动URL编码
StringBuilder urlBuilder = new StringBuilder(FEED_URL);
// 添加ids参数用逗号分隔多个ID
if (!taskIds.isEmpty()) {
// 从生成响应中获取clips的ID
@ -128,10 +123,10 @@ public class SunoMusicGenerator {
}
}
}
// 构建查询参数
urlBuilder.append("?");
// 如果找到了clips的ID则使用这些ID进行查询
if (!clipIds.isEmpty()) {
String idsParam = String.join(",", clipIds);
@ -147,7 +142,7 @@ public class SunoMusicGenerator {
String url = urlBuilder.toString();
log.info("查询URL: {}", url);
// 创建查询请求
Request feedRequest = new Request.Builder()
.url(url)
@ -221,7 +216,7 @@ public class SunoMusicGenerator {
if (isComplete && audioUrl != null && !audioUrl.isEmpty()) {
// 移除URL中可能存在的反引号
audioUrl = audioUrl.replace("`", "").trim();
String fileName = "suno_music_" + System.currentTimeMillis() + ".mp3";
// 使用basePath作为保存目录
String savePath = basePath + fileName;
@ -237,7 +232,8 @@ public class SunoMusicGenerator {
/**
*
* @param client OkHttpClient
*
* @param client OkHttpClient
* @param audioUrl URL
* @param savePath
*/

@ -86,3 +86,8 @@ aliyun:
LIBLIB:
accessKey: sOCtVLVTNOZkRMajlhzCmg
secretKey: PUe8QTRG9i0G9EbpedHmIpLQ0FyxoYY9
# 火山
HuoShan:
accessKey: api-key-20250418163654
secretKey: f6150e6c-422a-4265-8b63-4d941b271220

@ -86,3 +86,8 @@ aliyun:
LIBLIB:
accessKey: sOCtVLVTNOZkRMajlhzCmg
secretKey: PUe8QTRG9i0G9EbpedHmIpLQ0FyxoYY9
# 火山
HuoShan:
accessKey: api-key-20250418163654
secretKey: f6150e6c-422a-4265-8b63-4d941b271220

Loading…
Cancel
Save