package com.fs.aiSoundReplication.param;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class VoiceCloneRequest {
    private String appid;

    @JsonProperty("speaker_id")
    private String speakerId;

    private List<AudioInfo> audios;

    private Integer source = 2; // 固定值2

    private Integer language = 0; // 0-中文, 1-英文

    @JsonProperty("model_type")
    private Integer modelType = 4; // 默认使用ICL 2.0

    @JsonProperty("extra_params")
    private String extraParams = "{}";

    @Data
    public static class AudioInfo {
        @JsonProperty("audio_bytes")
        private String audioBytes; // Base64编码的音频

        @JsonProperty("audio_format")
        private String audioFormat; // wav, mp3等

        private String text; // 可选，朗读文本用于校验
    }
}
