Skip to main content

codex_code_mode_protocol/
response.rs

1use serde::Deserialize;
2use serde::Serialize;
3
4#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
5#[serde(rename_all = "lowercase")]
6pub enum ImageDetail {
7    Auto,
8    Low,
9    High,
10    Original,
11}
12
13pub const DEFAULT_IMAGE_DETAIL: ImageDetail = ImageDetail::High;
14
15#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
16#[serde(tag = "type", rename_all = "snake_case")]
17pub enum FunctionCallOutputContentItem {
18    InputText {
19        text: String,
20    },
21    InputImage {
22        image_url: String,
23        #[serde(default, skip_serializing_if = "Option::is_none")]
24        detail: Option<ImageDetail>,
25    },
26    InputAudio {
27        audio_url: String,
28    },
29}