openai_sdk_rs/types/
images.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum ImageResponseFormat { Url, B64Json }
6
7#[derive(Debug, Clone, Serialize, Deserialize, Default)]
8pub struct ImageGenerationRequest {
9    pub model: String,
10    pub prompt: String,
11    #[serde(skip_serializing_if = "Option::is_none")] pub n: Option<u32>,
12    #[serde(skip_serializing_if = "Option::is_none")] pub size: Option<String>, // e.g., "1024x1024"
13    #[serde(skip_serializing_if = "Option::is_none")] pub response_format: Option<ImageResponseFormat>,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct ImageGenerationResponse {
18    pub created: u64,
19    pub data: Vec<ImageData>,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct ImageData {
24    #[serde(skip_serializing_if = "Option::is_none")] pub url: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")] pub b64_json: Option<String>,
26}
27