async_dashscope/operation/text2image/
param.rs

1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
5pub struct Text2imageParam {
6    #[builder(setter(into, strip_option))]
7    pub model: String,
8
9    pub input: Input,
10
11    #[builder(setter(into, strip_option))]
12    #[builder(default=None)]
13    pub parameters: Option<Parameters>
14}
15
16#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
17pub struct Input {
18    /// 正向提示词,用来描述生成图像中期望包含的元素和视觉特点。
19    ///
20    /// 支持中英文,每个汉字/字母占一个字符,超过部分会自动截断。长度限制因模型版本而异:
21    ///
22    /// - wan2.5-t2i-preview:长度不超过2000个字符。
23    /// - wan2.2及以下版本模型:长度不超过800个字符。
24    #[builder(setter(into, strip_option))]
25    pub prompt: String,
26
27    /// 支持中英文,长度不超过500个字符,超过部分会自动截断。
28    ///
29    /// 示例值:低分辨率、错误、最差质量、低质量、残缺、多余的手指、比例不良等。
30    #[builder(setter(into, strip_option))]
31    pub negative_prompt: Option<String>,
32}
33
34
35#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
36pub struct Parameters {
37    /// 输出图像的分辨率,格式为宽*高。默认值和约束因模型版本而异
38    /// 
39    /// - wan2.5-t2i-preview:默认值为 1280*1280。总像素在 [768*768, 1440*1440] 之间且宽高比范围为 [1:4, 4:1]。例如,768*2700符合要求。
40    #[builder(setter(into, strip_option))]
41    size: Option<String>,
42
43    /// 生成图片的数量。取值范围为1~4张,默认为4。测试阶段建议设置为1,便于低成本验证。
44    #[builder(setter(into, strip_option))]
45    n:Option<i32>,
46
47    /// 是否开启prompt智能改写。开启后使用大模型对输入prompt进行智能改写。对于较短的prompt生成效果提升明显,但会增加耗时。
48    #[builder(setter(into, strip_option))]
49    prompt_extend:Option<bool>,
50
51    /// 是否添加水印标识,水印位于图片右下角
52    #[builder(setter(into, strip_option))]
53    watermark:Option<bool>,
54
55    /// 随机数种子,取值范围是[0, 2147483647]。
56    #[builder(setter(into, strip_option))]
57    #[builder(default=None)]
58    seed:Option<i32>
59}