mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2025-01-31 17:40:05 +08:00
【增加】AI:suno-api 自定义音乐生成接口接入
This commit is contained in:
parent
851c290c0d
commit
085ebfc792
@ -55,6 +55,17 @@ public class SunoApi {
|
|||||||
.block();
|
.block();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<MusicData> customGenerate(SunoApi.SunoReq sunReq) {
|
||||||
|
return this.webClient.post()
|
||||||
|
.uri("/api/custom_generate")
|
||||||
|
.body(Mono.just(sunReq), SunoApi.SunoReq.class)
|
||||||
|
.retrieve()
|
||||||
|
.onStatus(STATUS_PREDICATE, EXCEPTION_FUNCTION)
|
||||||
|
.bodyToMono(new ParameterizedTypeReference<List<MusicData>>() {
|
||||||
|
})
|
||||||
|
.block();
|
||||||
|
}
|
||||||
|
|
||||||
public List<MusicData> doChatCompletion(String prompt) {
|
public List<MusicData> doChatCompletion(String prompt) {
|
||||||
return this.webClient.post()
|
return this.webClient.post()
|
||||||
.uri("/v1/chat/completions")
|
.uri("/v1/chat/completions")
|
||||||
@ -105,8 +116,9 @@ public class SunoApi {
|
|||||||
* 根据提示生成音频
|
* 根据提示生成音频
|
||||||
*
|
*
|
||||||
* @param prompt 用于生成音乐音频的提示
|
* @param prompt 用于生成音乐音频的提示
|
||||||
* @param tags 自定义模式才需要
|
* @param tags 音乐风格
|
||||||
* @param title 自定义模式才需要
|
* @param title 音乐名称
|
||||||
|
* @param mv 模型
|
||||||
* @param waitAudio false表示后台模式,仅返回音频任务信息,需要调用get API获取详细的音频信息。
|
* @param waitAudio false表示后台模式,仅返回音频任务信息,需要调用get API获取详细的音频信息。
|
||||||
* true表示同步模式,API最多等待100s,音频生成完毕后直接返回音频链接等信息,建议在GPT等agent中使用。
|
* true表示同步模式,API最多等待100s,音频生成完毕后直接返回音频链接等信息,建议在GPT等agent中使用。
|
||||||
* @param makeInstrumental 指示音乐音频是否为定制,如果为 true,则从歌词生成,否则从提示生成
|
* @param makeInstrumental 指示音乐音频是否为定制,如果为 true,则从歌词生成,否则从提示生成
|
||||||
@ -116,15 +128,21 @@ public class SunoApi {
|
|||||||
String prompt,
|
String prompt,
|
||||||
String tags,
|
String tags,
|
||||||
String title,
|
String title,
|
||||||
|
String mv,
|
||||||
@JsonProperty("wait_audio") boolean waitAudio,
|
@JsonProperty("wait_audio") boolean waitAudio,
|
||||||
@JsonProperty("make_instrumental") boolean makeInstrumental
|
@JsonProperty("make_instrumental") boolean makeInstrumental
|
||||||
) {
|
) {
|
||||||
public SunoReq(String prompt) {
|
public SunoReq(String prompt) {
|
||||||
this(prompt, null, null, false, false);
|
this(prompt, null, null, null, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SunoReq(String prompt, String mv, boolean makeInstrumental) {
|
||||||
|
this(prompt, null, null, mv, false, makeInstrumental);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public SunoReq(String prompt, String tags, String title) {
|
public SunoReq(String prompt, String tags, String title) {
|
||||||
this(prompt, tags, title, false, false);
|
this(prompt, tags, title, null, false, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +158,7 @@ public class SunoApi {
|
|||||||
* @param videoUrl 音乐视频的 URL
|
* @param videoUrl 音乐视频的 URL
|
||||||
* @param createdAt 音乐音频的创建时间
|
* @param createdAt 音乐音频的创建时间
|
||||||
* @param modelName
|
* @param modelName
|
||||||
* @param status
|
* @param status submitted、queued、streaming、complete
|
||||||
* @param gptDescriptionPrompt
|
* @param gptDescriptionPrompt
|
||||||
* @param prompt 生成音乐音频的提示
|
* @param prompt 生成音乐音频的提示
|
||||||
* @param type
|
* @param type
|
||||||
|
Loading…
Reference in New Issue
Block a user