【代码优化】AI:音乐生成

This commit is contained in:
YunaiV
2024-06-27 13:25:10 +08:00
parent 23baaff84d
commit d4cfcd0a1a
11 changed files with 29 additions and 9 deletions

View File

@@ -0,0 +1,13 @@
### 生成音乐Suno +
POST {{baseUrl}}/ai/music/generate
Content-Type: application/json
Authorization: {{token}}
{
"platform": "Suno",
"generateMode": 1,
"prompt": "来一首快乐的歌曲",
"modelVersion": "chirp-v3.5",
"tags": ["Happy"],
"title": "Happy Song"
}

View File

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@Tag(name = "管理后台 - AI 音乐")
@RestController
@@ -27,7 +28,7 @@ public class AiMusicController {
@PostMapping("/generate")
@Operation(summary = "音乐生成")
public CommonResult<List<Long>> generateMusic(@RequestBody @Valid AiSunoGenerateReqVO reqVO) {
return success(musicService.generateMusic(reqVO));
return success(musicService.generateMusic(getLoginUserId(), reqVO));
}
}

View File

@@ -17,7 +17,7 @@ public class AiSunoGenerateReqVO {
@Schema(description = "生成模式", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "生成模式不能为空")
private Integer generateMode; // 参见 AiMusicGenerateEnum 枚举
private Integer generateMode; // 参见 AiMusicGenerateModeEnum 枚举
@Schema(description = "用于生成音乐音频的提示", requiredMode = Schema.RequiredMode.REQUIRED,
example = "创作一首带有轻松吉他旋律的流行歌曲,[verse] 描述夏日海滩的宁静,[chorus] 节奏加快,表达对自由的向往。")
@@ -26,7 +26,7 @@ public class AiSunoGenerateReqVO {
@Schema(description = "是否纯音乐", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "true")
private Boolean makeInstrumental;
@Schema(description = "模型版本, 默认 chirp-v3.5", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "chirp-v3.5")
@Schema(description = "模型版本", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "chirp-v3.5")
private String modelVersion; // 参见 AiModelEnum 枚举
@Schema(description = "音乐风格", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "[\"pop\",\"jazz\",\"punk\"]")