package com.backendsys.SDK.Meitu.model;

import java.io.Serializable;
import java.util.List;

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

@Data
public class BizConfigResponseDTO implements Serializable {
    /**
     * 请求id
     */
    @JsonProperty("reqid")
    private String reqId;

    /**
     *  0: 成功
     */
    @JsonProperty("code")
    private int code;

    @JsonProperty("data")
    private BizData data;

    @Data
    public static class BizData {
        
        /**
         * 约定的模型列表
         */
        @JsonProperty("model_list")
        private List<Model> modelList;

        /**
         * 约定的风格模型列表，此模型主要配置在prompt中
         */
        @JsonProperty("lora_list")
        private List<Model> loraList;

        /**
         * 约定的图片尺寸列表
         */
        @JsonProperty("pic_size_list")
        private List<PicSizeList> picSizeList;

    }

    @Data
    public static class Model {
        /**
         * 名称
         */
        @JsonProperty("name")
        private String name;

        /**
         * 模型描述
         */
        @JsonProperty("desc")
        private String desc;

        /**
         * 模型图片
         */
        @JsonProperty("images")
        private List<String> images;

        /**
         * 实际配置在推理的模型名称
         */
        @JsonProperty("model")
        private String model;

         /**
         * 模型平台，推理时必须得参数
         */
        @JsonProperty("model_platform")
        private String modelPlatform;
    }

    @Data
    public static class PicSizeList {
        /**
         * 约定的图片宽度
         */
        @JsonProperty("width")
        private int width;

        /**
         * 约定的图片高度
         */
        @JsonProperty("height")
        private int height;

        /**
         * 约定的宽高比
         */
        @JsonProperty("ratio")
        private String ratio;
    }
}