use serde::Deserialize; use serde::Serialize; #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum ImageDetail { Auto, Low, High, Original, } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] #[serde(tag = "type", rename_all = "snake_case")] pub enum FunctionCallOutputContentItem { InputText { text: String, }, InputImage { image_url: String, #[serde(default, skip_serializing_if = "Option::is_none")] detail: Option, }, }