use derive_builder::Builder;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
pub struct Text2imageParam {
#[builder(setter(into, strip_option))]
pub model: String,
pub input: Input,
#[builder(setter(into, strip_option))]
#[builder(default=None)]
pub parameters: Option<Parameters>
}
#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
pub struct Input {
#[builder(setter(into, strip_option))]
pub prompt: String,
#[builder(setter(into, strip_option))]
pub negative_prompt: Option<String>,
}
#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
pub struct Parameters {
#[builder(setter(into, strip_option))]
size: Option<String>,
#[builder(setter(into, strip_option))]
n:Option<i32>,
#[builder(setter(into, strip_option))]
prompt_extend:Option<bool>,
#[builder(setter(into, strip_option))]
watermark:Option<bool>,
#[builder(setter(into, strip_option))]
#[builder(default=None)]
seed:Option<i32>
}