package com.backendsys.entity.Ali;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

@Data
public class AliDashscopeBackgroundInputDTO {

    @NotBlank(message = "主体图像URL不能为空")
    @Size(max = 1000, message = "主体图像URL长度不超过 {max} 个字符")
    private String base_image_url;          // 透明背景的主体图像URL。需要为带透明背景的RGBA 四通道图像，支持png格式，分辨率长边不超过2048像素。输出图像的分辨率与该输入图相同

    /* ref_image_url 和 ref_prompt 至少输入一个 */

    @Size(max = 1000, message = "引导图URL长度不超过 {max} 个字符")
    private String ref_image_url;           // 引导图URL, 支持 jpg, png，webp等常见格式图像；

    @Size(max = 70, message = "引导文本提示词长度不超过 {max} 个字符")
    private String ref_prompt;              // 引导文本提示词，支持中英双语，不超过70个单词。

    @Size(max = 70, message = "负向提示词长度不超过 {max} 个字符")
    private String neg_ref_prompt;          // 负向提示词，不希望出现的内容
    @Size(max = 8, message = "文字主标题长度不超过 {max} 个字符")
    private String title;                   // 图像上添加文字主标题。算法自动确定文字的大小和位置，限制1-8个字符
    @Size(max = 10, message = "文字副标题长度不超过 {max} 个字符")
    private String sub_title;               // 图像上添加文字副标题。算法自动确定文字的大小和位置，限制1-10个字符。 (仅当title不为空时生效)

}
