gproxy_protocol/protocol/openai/images/
responses.rs1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use super::super::common::*;
6
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8pub struct ImagesResponse {
9 pub created: u64,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub background: Option<ImageResponseBackground>,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub data: Option<Vec<Image>>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub output_format: Option<ImageOutputFormat>,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub quality: Option<ImageResponseQuality>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub size: Option<ImageResponseSize>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub usage: Option<ImageUsage>,
22 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
23 pub extra: Extra,
24}
25
26#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
27pub struct Image {
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub b64_json: Option<String>,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub revised_prompt: Option<String>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub url: Option<String>,
34 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
35 pub extra: Extra,
36}
37
38#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
39pub struct ImageUsage {
40 pub input_tokens: u32,
41 pub input_tokens_details: ImageTokenDetails,
42 pub output_tokens: u32,
43 pub total_tokens: u32,
44 #[serde(skip_serializing_if = "Option::is_none")]
45 pub output_tokens_details: Option<ImageTokenDetails>,
46 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
47 pub extra: Extra,
48}
49
50#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
51pub struct ImageTokenDetails {
52 pub image_tokens: u32,
53 pub text_tokens: u32,
54 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
55 pub extra: Extra,
56}