houzhongjian
2025-05-29 41499fd3c28216c1526a72b10fa98eb8ffee78cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.iailab.module.ai.controller.admin.music.vo;
 
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
 
import java.util.List;
 
@Schema(description = "管理后台 - AI 音乐生成 Request VO")
@Data
public class AiSunoGenerateReqVO {
 
    @Schema(description = "平台", requiredMode = Schema.RequiredMode.REQUIRED, example = "Suno")
    @NotBlank(message = "平台不能为空")
    private String platform; // 参见 AiPlatformEnum 枚举
 
    /**
     * 1. 描述模式:描述词 + 是否纯音乐 + 模型
     * 2. 歌词模式:歌词 + 音乐风格 + 标题 + 模型
     */
    @Schema(description = "生成模式", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "生成模式不能为空")
    private Integer generateMode; // 参见 AiMusicGenerateModeEnum 枚举
 
    @Schema(description = "用于生成音乐音频的歌词提示",
            example = """
                    1.描述模式:创作一首带有轻松吉他旋律的流行歌曲,[verse] 描述夏日海滩的宁静,[chorus] 节奏加快,表达对自由的向往。
                    2.歌词模式:
                    [Verse]
                    阳光下奔跑 多么欢快
                    假期就要来 心都飞起来
                    朋友在一旁 笑声又灿烂
                    无忧无虑的 每一天甜蜜
                    [Chorus]
                    马上放假了 快来庆祝
                    一起去旅行 快去冒险
                    日子太短暂 别再等待
                    马上放假了 梦想起飞
                    """)
    private String prompt;
 
    @Schema(description = "是否纯音乐", example = "true")
    private Boolean makeInstrumental;
 
    @Schema(description = "模型", requiredMode = Schema.RequiredMode.REQUIRED, example = "chirp-v3.5")
    @NotEmpty(message = "模型不能为空")
    private String model;
 
    @Schema(description = "音乐风格", example = "[\"pop\",\"jazz\",\"punk\"]")
    private List<String> tags;
 
    @Schema(description = "音乐/歌曲名称", example = "夜空中最亮的星")
    private String title;
 
}